Programmering (DAPE/ITPE 1400) Høgskolen i Oslo og Akershus Høst 2017 Henrik Lieng
Forelesere og studentassistenter Emneansvarlig: Henrik Lieng Forelesere: Henrik Lieng, Suraj Shrestha Studentassistenter: Andreas Strand, John Kasper Svergja, Usman Awans, Oscar Vladau-Husevold, Tommy Abelsen
Oversikt over emnet Programplanen gir oversikt over alle emner på HiOA. http://www.hioa.no/studier-ogkurs/tkd/bachelor/dataingenioer/programplan-for-bachelorstudium-iingenioerfag-data-2017/dape1400-programmering-2017 Hovedmål: gi grunnleggende forståelse og ferdigheter innen imperative programmeringsprinsipper og objekt-orientert programmering
Forkunnskapskrav Det antas følgende kunnskaper for å ta dette faget: Generell forståelse av aritmetikk Hvis dere ikke tar diskret matematikk, forståelse av Boolsk algebra og logikk Generell bruk av datamaskinen (slå på/av, bruke nettleser, installere programmer, starte programmer) Spør studentassistenter og orakler for hjelp til bruk av PC/Mac Dere trenger å vite hva en datamaskin er for å lære fundamentale programmeringsprinsipper (spesielt vite sammenhengen mellom CPU og hovedminne/ram). En introduksjon blir gitt neste fredag.
Faglig innhold Se emnets nettside for en oversikt. http://edu.hioa.no/programmering/ Ansvar for egen læring: praktisk arbeid i faget er inndelt i oppgavesett. Det er ditt ansvar å utføre oppgavene i faget i ditt eget tempo. Husk å utføre obligatoriske oppgaver i god tid før tidsfristene.
Arbeidsformer Forelesninger: fremstilling av teori og praksis (ta notater!) Lab: arbeid med oppgavesett, med studentassistenter til stedet Spør studentassistent hvis du trenger hjelp (veldig viktig for din læring!) Tutorialtimer: "praktiske" forelesninger Praktisk introduksjon til forskjellige emner (i Java) Gjennomgang av kode Forskjellige nivåer hver uke Egenstudie: arbeid med oppgavesett på egenhånd (meget viktig!) Bruk Piazza hvis du lurer på noe
Lab Ofte undervurdert i starten (lab tilbys ikke på samme måte på videregående skole) Hvorfor så verdifullt? Studentassistent er tilstede. Veldig flinke til å hjelpe studenter I programmering, vil du garantert "møte veggen" på et eller annet tidspunkt Problem ved HiOA: datatorget er ofte fullt (andre studenter okkuperer plassene) Foreslått løsning, hvis du ikke får plass: arbeid på skolen der det er plass, gå til laben der studentassistent er hvis du trenger hjelp
Tutorialtimer Mandag: med studentassistenter, tre nivåer Tirsdag: med foreleser. 1. time: IT/Anvendt, 2. time: andre Praktisk-rettet presentasjoner med kodehjelp. Hver tutorialtime har et tema. Se nettsiden for temaene som tilbys hver uke. http://edu.hioa.no/programmering/ Nivå 3: presenterer tema for ukas oppgavesett Nivå 2: presenterer tema for forrige ukes oppgavesett Nivå 1: presenterer tema for oppgavesett fra 2 uker siden
Egenstudie For å lykkes i dette faget kreves det en god del egenstudie utenfor labog tutorialtimer. Eventuelle faglige spørsmål kan opprettes på forumtjenesten Piazza. Fagansvarlig og studentassistenter vil kunne besvare disse spørsmålene. Desto bedre et spørsmål er formulert, desto bedre blir det besvart. https://piazza.com/hioa.no/fall2017/dape1400itpe1400/home
Ukesstruktur Forelesninger: fredag, klokken 14.30, P35-PH170 Lab (datatorget): Mandag 15.30 17.15 og fredag 10.30 12.15 Onsdag (PI546) frem til uke 40, 14.30 16.15. Fra uke 41: arbeidsgruppe Tutorial: Mandag PI556, 8.30 12.15 (velg ditt nivå) Tirsdag PH322, 8.30 10.15 (8.30 for IT/Anvendt, 9.30 for andre)
Tutorialtimer mandager Klokkeslett PI556 8.30 9.15 Nivå 3 9.30 10.15 Nivå 2 10.30 11.15 Nivå 1 11.30 12.15 Alle nivåer (generell hjelp)
Arbeidskrav 4 obligatoriske oppgaver ("obliger") Frister: 6. okt, 27. okt, 3. nov, 10. nov 2 obligatoriske prøver Datoer: 20. okt og 3. nov
Arbeidskrav obligatoriske oppgaver Godkjenning via demonstrasjon for en studentassistent på lab. Studentassistent evaluerer om du selv har korrekt løst alle de obligatoriske oppgavene. Oppgaver finner du på nettsiden. Ikke godkjent? Gi beskjed! Da blir du plassert i arbeidsgruppen for sen godkjenning. Les dokument på nettsiden for regler, http://edu.hioa.no/programmering/
Arbeidskrav - prøver Digital prøve med Inspera (samme system som eksamen) Flervalgsspørsmål (ikke samme som eksamen) Godkjent / ikke godkjent Les dokument på nettsiden for regler, http://edu.hioa.no/programmering/
Eksamen og eksamensordning Form: individuell skriftlig eksamen på 3 timer. Digital eksamen med Inspera. Informasjon: https://student.hioa.no/digital-skoleeksamen https://student.hioa.no/digital-skoleeksamen#inspera Konkret informasjon om eksamen (format på oppgaver etc.) blir gitt på slutten av semesteret. Alt i pensum er relevant, så ingen spørsmål om hva som kommer på eksamen er du snill. Tidligere eksamensoppgaver er tilgjengelige
Vurdering Karakter fra E til A (F tilsvarer "ikke bestått"). Strykprosent i fjor: DAPE1400: 18 % ITPE1400: 23 % Gjennomsnittskarakterer: Dataingeniør: C; Anvendt Data: D; IT: D Karaktersystemet fra universitets- og høgskolerådet brukes for både å utvikle eksamensoppgaver og for retting: http://www.uhr.no/utdanning/karakterpanel_1
Pensumliste Offisiell pensumliste for høst 2017: Notater og presentasjoner fra forelesninger Oppgavesett All materiale ligger på nettsiden for faget.
Støtteliteratur Deitel & Deitel: Java How to Program Spesielt bra for delen av faget som omhandler objekt-orientert programmering
Annen støtte For grunnleggende teori og prosedyre-basert programmering: Introduction to CS (Harvard/Yale). https://cs50.harvard.edu/ (week 0 - week 5) For objekt-orientert programmering: Sololearn. http://www.sololearn.com/course/java/ (Module 1-5) Head First Java. 9780596009205 For JavaFX: Offisiell dokumentasjon fra Oracle.
Evaluering av emnet, høst 2016 Og hva som har blitt gjort for å forbedre utførelsen av emnet, NB: presentasjon av evaluering er et krav fra HiOA's kvalitetssikringsorgan
Positivt Bra innhold og pensum Fint med tutorialtimer og forelesninger er strukturert bra; flink foreleser Fint med teoretisk dybde og fokus på forståelse Flinke studentassistenter og får mye hjelp til koding, bra med bruk av Piazza forum Bra med nettside og gode oppgaver
Negativt For lange køer for godkjenning av oblig. mot fristen Svar: vi setter nå flere studenter på laben der fristen går ut og vi vil ha et bedre oppsett for godkjenning på disse labene Stort pensum, mye å lære Svar: pensumet tilsvarer et emnet på 10 studiepoeng, der man antar at en gjennomsnittlig (C) student arbeider ca. 12 timer per uke. Diskusjon med tildigere studenter tilsier at arbeidsmengden er OK (ikke for mye, ikke for lite) Teorien er for tung, ønsker mer praktiske eksempler. Noen ønsker også mer teori og mindre praktiske eksempler Svar: dette er en uendelig diskusjon blant studenter. Det skal sies at jeg har snakket med studenter tidlig i semesteret som er i mot den teoretiske delen, men som etter hvert innser at den teoretiske delen faktisk er veldig viktig i praksis (det å forstå hva som skjer på datamaskinen er faktisk en fordel når man programmerer)
Negativt Videopresentasjonene var av for dårlig kvalitet Svar: dette var alle enige om i fjor og disse videoene har blitt fjernet i år. Nye videopresentasjoner er under utvikling og vil være klare før oktober.