Programmering 2 dprog2 E2012 http://www.cs.au.dk/dprog2/
Læringsmål Deltagerne skal ved afslutningen af kurset kunne: forklare og anvende både basale og videregående elementer af et moderne programmeringssprog, forklare betydningen af et godt programdesign, forklare og anvende fundamentale teknikker til at sikre et godt programdesign, implementere dedikerede datastrukturer (vha. standardklasser), anvende standardframeworks ved realisering af programmer, forklare begrænsningerne ved flydende tals maskinaritmetik, forudsige deraf følgende problemer i konkrete algoritmer og anvende udvalgte teknikker til at minimere konsekvenserne af afrundingsfejl.
Struktur Uge 1 Uge 2 Uge 3 Uge 4 Uge 5 Uge 6 Uge 7 Forelæsninger Q1+2 Q3+4 Q5+6 Q7+8 Q1+9 Q10 mm Exam. Info. Øvelser Teknisk Start-up Q1+2 Q3+4 Q5+6 Q7+8 Q1+9 Q10 Aflevering Start-up Q1+2 Q3+4 Q5+6 Q7+8 Q1+9 Forelæsninger Øvelser Afleveringer 1 uges forsinkelse (indlæringsteori: reinforcement ) Eksamensspørgsmål Q1: Recursion Q2: Class Design and Invariants Q3: Polymorphism and Interfaces Q4: Design Patterns Q5: Inheritance and Abstract Classes Q6: Exceptions and Files Q7: The Java Type System and Object Model Q8: Frameworks and Collections Q9: Multithreading (Q10: Algorithms Using "real" Numbers) 3
Eksamen m.m. Mundtlig Eksamen Jan. 2013 karakter efter 7 skalaen 20 minutter uden forberedelse Obligatoriske afleveringsopgaver alle afleveringsopgaver skal godkendes for at man kan gå til eksamen godkendelse af programmeringsopgaver kræver fravær af compiler-fejl samt test af program. hvis besvarelsen ikke umiddelbart kan godkendes er der mulighed for genaflevering ugen efter det er tilladt at samarbejde i læsegrupperne om en afleveringsopgave (max 3 personer pr besvarelse). Gruppesamarbejde meddeles til instruktor i forvejen
Undervisning Forelæsninger Begreber og kodeeksempler gennemgås Clicker/quiz Holdøvelser Review spørgsmål Programmeringsopgaver A-opgaver: grundlag for afleveringsopgaverne B-opgaver: aspekter af ugens emner, som der ikke er plads til i afleveringsopgaverne Instruktoren fungerer som konsulent ved programmeringsarbejdet Udvalgte aspekter af opgaver og afleveringer gennemgås i plenum Studiecafe 13 timer om ugen er en instruktor til rådighed for faglige spørgsmål og som konsulent for programmeringsarbejdet
Hjemmearbejde Forberedelse/efterbehandling af forelæsning forelæsningsemnerne er basis for TØ- og afleveringsopgaver forelæsningsemnerne er pensum til mundtlig eksamen Forberedelse af holdøvelser der stilles opgaver i 3 kategorier review + A: forventes løst/forsøgt løst hjemmefra! B: må gerne regnes hjemmefra! Afleveringsopgaver bør være let når man har forstået review og A opgaver til ugen Læsegrupper: Hjemmearbejdet må gerne ske i læsegrupper Studiecafe: instruktorerne giver på skift hjælp til hjemmearbejdet
Lærebøger m.m. Købes i Stakbogladens naturfagsafdeling: Bog Object Oriented Design & Patterns, af Cay S. Horstmann ( Second Edition, Wiley, 2006). Kompendium Uddrag (kapitel 12-12.6, 12.8-12.10 og Appendix E) fra Objects First with Java - A Practical Introduction using BlueJ af David J. Barnes & Michael Kölling ( Third Edition, Prentice Hall / Pearson Education, 2006). Downloades fra kursets hjemmeside: Noter og Opgavesamling Programmering 2 - Noter (Oktober 2009). Programmering 2 - Opgaver (Oktober 2009).
Programmeringsomgivelser Uændret fra dintprog Java 1.5 (eller nyere) BlueJ (eller andet IDE) Nyt i dprog2 Kommandolinje udførelse af program: java [ options ] class [ argument... ] Vejledning: 1. uges øvelser fokuserer på kommandolinjeudførelse af programmer
Resultat Statistik 2007 2008 2009 2010 2011 Tilmeldt eksamen 179 198 204 223 251 Manglende obligatorisk program 9% 8% 9% 11% 21% Statistik 2007 2008 2009 2010 2011 Godkendt obligatorisk program 162 183 184 199 199 Udeblev fra eksamen 6% 9% 18% 14% 10% Bestod ikke eksamen 17% 17% 15% 5% 10% Bestod eksamen 78% 74% 67% 81% 80% Bestod eksamen eller re-eksamen 86% 81% 71% 83% 84% 2011 9