Introduktion til programmering Efterår 2006

Undervisere, litteratur, tid og sted

Lærer: Peter Bøgh Andersen (kontor Wienerbygningen 224, telefon 9250, email pba@imv.au.dk)

Instruktor: Peter B. Vahlstrup (peter@vahlstrup.com)

 

Timer:

Forelæsninger: torsdage, kl. 14-17, lokale 140, Adornobygningen, Helsingforsgade 8.

Øvelser: mandage,  kl. 8-10, lokale 127, Adornobygningen, Helsingforsgade 8.

Terminaltimer: torsdage, kl. 11-14, 128H, Adornobygningen, Helsingforsgade 8.

 

Litteratur:

M. Lutz & D. Ascher: Learning Python (O’Reilly, 2004). Købes (bestilt til Stakbogladen).

J. G. Brookshear: Computer Science. An Overview.  (Pearson, 2005). Købes (bestilt til Stakbogladen).

Kompendium. Købes i kantinen i september måned.

Resten af kursusmaterialet kan downloades som pdf-filer fra kursus web.

 

Forelæsninger starter 7 september. Hertil læses: Computer Science, kap. 0.

Øvelser starter 11 sept.

 

Eksamensspørgsmål

 

Kursusforløb

 

Databaser:

 

Uge

Dato

Emne

Litteratur

Øvelser til ugen efter

36

 7/9

Kursets struktur, IT-teknologiens historie, Modellering, Maskinarkitektur

Computer Science, Kap 0.

Slides 36

Supplerende læsning:

Computer Science, Kap 1-2.

slides 36

Intro til SQL-serveren.

Tildeling af brugernavne til serveren og web-området.

Gruppedannelses

37

 14/9

Relationelle databaser, ER-diagrammer, normalisering

Computer Science, kap 9

 Slides 37

 Hugh Darwen: what a database really is + G. Riccardi: Princples of database systems, kap 2. , kompendium

slides 37

Opgave 1. ER-diagram

Afleveres 21/9

38

 21/9

SQL databaser

L. Ingemann: SQL databaser på nettet, kap 2-4. Kompendium

Supplerende:  L. Ingemann: SQL databaser på nettet, kap 6 - 20, Kompendium  

slides 38

Opgave 2. SQL database

Afleveres 28/9

 

Programmering

 

Uge

Dato

Emne

Litteratur

Øvelser til ugen efter

39

 28/9

Python I: værdier, tildelinger og sammenligninger, dynamiske typer, string, list, tupler, filer

Learning Python, kap 4-7.

Slides 39

Tre programmer der implementerer et simpelt SELECT kald.

StandUp programmet

OR-betingelse

AND-betingelse

Kig også på

Muslingeprogrammet

Intro til Idle

.Opgave 3. CPR-nummer.

Afleveres 5/10

40

 5/10

Python II: sætninger, udtryk, sandhedsværdier, kontrolstrukturer, funktioner, kommentarer

Learning Python, kap 8-12  

slides 40

fileprogram

eksempelfile

Mængdelæreprogram

Muslingeprogram

Muslingemodul

supplerende læsning

PBA: Cohesion and coherence in programs

Opgave 4. CPR-nummer.

Afleveres 12/10

41

 12/10

Netværk og operativsystemer.

Computer Science, kap 3 og 4.

Kap 3.4 læses extensivt

PBA: using MySQLdb.

Slides41

Brug af httplib

Supplerende læsning: P.B.A: WWW som selvorganiserende system.

.Opgave 5. Fremvisning af resultatet af databaseforspørgsler som en html-tabel.

.Opgave 6. Brug af netværk og MySQLdb.

Modulet database

Afleveres 19/10

42

 

Efterårsferie

 

 

43

 26/10

Algoritmer og datastrukturer, korrekthed, kompleksitet, søgning, iteration, rekursion

Computer Science, kap 5 + 8 (minus kap 8.6).

Slides 43

Små algoritmer

Supplerende:

Algorithm design and recursion, komp.

Opgave 7. Avancerede sql-kald

Afleveres 2/11

44

 2/11

Formelle sprog, historik, procedurale, funktionelle (lambda, apply), objektorienterede og, logiske sprog, grammatik, compilering og fortolkning

Computer Science, kap 6 (minus 6.5 og 6.6) og 11.3

Slides 44

Ølprogrammet

Lommeregner (brug af lambda)

En Prolog fortolker kan downloades her

Slægtsdatabasen

Fritidsordning

Learning Python: kap 13, 14 (kun til generators and iterators, p. 233).

Til kandidatstuderende:

Anders Bach Nielsen & Steffen Brandorff: Introduktion til VICA – naturlige sprog vs programmeringssprog.

Opgave 8. Rekursion

Afleveres 9/11

45

 9/11

UML

Computer science, kap 7, særl. 7.4 og 7.5.

Martin Fowler: UML distilled, kap. 3. Addision-Wesley, 2004.

Slides 45

 

46

 16/11

Moduler og objekter i Python

Learning Python: kap 15-16, 19-22.

slides 46

programmet samling

Nedenfor er en beskrivelse af stand-up programmet som det skal se ud plus selve programmet.

Stand-up programmering

Modulet Aarhus Universitet

Opgave 9. Klasser, objekter og sql-tabeller.

Afleveres 23/11

 

Modulet OOogsql

Web-programmering

Uge

Dato

Emne

Litteratur

Øvelser til ugen efter

47

 23/11

CGI

W. J. Chun: Core Python programming, kap 19.4 - 19.5. Kompendium  

Semesteropgaven

slides 47

Python filen testresults

Webside der kalder testresults

Opgave 10. Dynamiske web-sider

 

Opgave10. System

Prøv systemet her

Ingen aflevering.

 

Kunstig intelligens

Uge

Dato

Emne

Litteratur

Øvelser til ugen efter

48

 30/11

Programmeringscamp.

Der er objektorienteret programmering hele ugen: ma: 8-10, on 15-17, to: 14-17

 

Opgaver

Materialer:

OOogSQL1

Composite

 

 Ingen

49

 7/12

Afslutning.

1. Semesteropgaven, form og omfang.

2. Evaluering.

3. Beskrivelse af forårets systemudviklingskursus

 

 

 Slides 48

 

Evaluering