Algoritmer och datastrukturer TF3 Sy
samt
Algoritmer och datastrukturer med objektorienterad programmering,
fristående kurs
Här förs inga ändringar in
Vill du ha en aktuell kursplan?
Syfte
Ur studiehandboken: The aim of this course is that students should be
able to from analysis of a problem choose proper algorithms and ways
to represent data.
Innehåll
Ur studiehandboken: The course covers topics as basic data types and
algorithms for them, as well as dataabstraction. Programming
methodology is also introduced together with examples of different
styles of programming, e.g. imperative and object oriented.
Omfattning
4 poäng
Lärare
Anders Berglund,
kursansvar, examinator, föreläsningar enligt föreläsningsplan.
Johan Bengtsson,
föreläsningar enligt föreläsningsplan, lektioner om veckouppgifter,
handledning.
Litteratur
Esakov - Weiss: Datastructures, An Advanced Approach using C,
Prentice-Hall 1989.
Lippman, C++ Primer, 2nd edition, Addison-Wesley, 1991, eller annan lärobok
i C++
Kan ersättas med annan bok med motsvarande stoff.
Anders Berglund, Föreläsningsanteckningar i Algoritmer och
datastrukturer med objektorienterad programmering, Institutionen för
datorteknik, 1996
Referenslitteratur
Stroustrup, The C++ Programming Language, second edition, 1991
Budd, Classic Data Structures in C++, Addison-Wesley, 1994
Kursmaterialets tillgänglighet
Alla övningar, programmeringsuppgifter, schemaändringar etc kommer att
finnas tillgängliga på WWW. Inga, eller mycket få, papper kommer att
delas ut på kursen. Kursinformation ligger på:
http://www.docs.uu.se/~andersb/AoD_tf96/AoD_tf96.html
Vissa av dokumenten kan vara på ett format som kräver ändringar i dina
init-filer för Netscape, för att kunna läsas.
Skapa en fil (om du inte redan har den) som heter .mailcap i
ditt hembibliotek. I denna fill lägger du sedan följande rad:
application/postscript; ghostview %s;
Undervisning
På kursen kommer försök med nya undervisningformer att göras.
Schemaförtydliganden
Utöver de lektioner som finns på det gula schemat finns två
lektionstillfällen:
26/2 kl 17.15 sal 2245 (den 26/2 kl 10 utgår)
4/3 kl 17.15 sal 2245
Lektionen den 22/1 kl 17.15 utgår
Undervisningen den 23, 24, 25 jan är laborationer, tredjedelsklassvis,
samling i sal 1412.
Föreläsningar
Föreläsningarna (förutom om C++) avser att ge en introduktion till och
översikt av kursens innehåll. De kommer att hålla ett högt tempo.
Föreläsningarna följer i stort anteckningarna i kompendiet, eller
kompletteras med OH-bilder, som i så fall kommer att göras
tillgängliga på WWW.
Föreläsningarna kring C++ (som i första hand är avsedda för studenter
som ej tidigare har studerat C++) har en klassisk uppläggning, men
täcks av anteckningarna i kompendiet.
Föreläsningen om Unix, Emacs, Netscape och ddd har en klassisk
uppläggning (prel 22 jan), men täcks inte av anteckningarna i
kompendiet.
Lektioner
Veckouppgifterna kommer att lösas och diskuteras den måndag de ska
lämnas in (se vidare avsnittet examination) på en lektion som varar
cirka 45 minuter.
Vid detta tillfälle kan du diskutera dina lösningar, alternativ till
dina lösningar, eller lyssna, oavsett om du själv har lämnat in
veckouppgifter eller inte.
Inget nytt stoff eller andra uppgifter än veckouppgifterna kommer att
diskuteras på lektionerna.
Laboration
En laboration, en frivillig komma-igång-övning, hålls den 23/1 - 25/1
enligt ordinarie schema i tredjedelsgrupp. Notera att detta är enda
gångnen du kan räkna med hjälp med inloggning etc.
Handledning
Studenter på kursen är välkomna att utnyttja Datortekniks
jourhavande handledare, må - to 17 - 20, främst i sal
1412. Handledningen börjar den 31 jan kl 17.
För frågor där Datortekniks jourhavande handledare inte kan hjälpa
till, är du välkommen med frågor till Johan Bengtsson. Respektera hans
mottagingstider, som kommer att finnas anslagna på hans dörren till
hans arbetsrum (1310). Han kan ge stöd med alla frågor kring kursen,
såväl lösningen av de frivilliga eller obligatoriska uppgifterna som
teorifrågor.
Datorsystem
Valfria datorsystem får användas för uppgifterna. Handledning och
problemlösningshjälp kommer endast att ges för studenter som arbetar
på DoCS system. Studenter som arbetar vid andra system ska
på begäran kunna visa exekveringen av program.
Konton distribueras vid laborationen och finns därefter för
avhämtning hos Johan Bengtsson under hans mottagningstider.
Intro till utbildningssystemen
En föreläsning (se föreläsningsplanen) berör Unix, Emacs, WWW och ddd
för dig som inte är bekant med DoCS utbildningssystem.
Du finner övningar på detta material här.
Examination
På kursen kommer att göras försök med alternativa examinationsformer.
Examinationens uppläggning
På kursen krävs godkänd teoriexamination (veckouppgifter eller
tentamen) och godkända inlämningsuppgifter.
Den ordinarie tentamen är ersatt med veckouppgifter enligt
nedanstående. Omtentamen ges enligt klassisk uppläggning.
För betyget 3 fordras:
- Minst x procent av veckouppgifterna godkända och
- Inlämningsuppgifterna 1,2,3,4 med betyg G
eller
- Minst 50% av maximalt poängantal på omtentamen och
- Inlämningsuppgifterna 1,2,3,4 med betyg G
För betyget 4 fordras:
- Minst yprocent av veckouppgifterna godkända
- Inlämningsuppgifterna 1,2,3,4 med betyg G
eller
- Minst 65% av maximalt poängantal på omtentamen och
- Inlämningsuppgifterna 1,2,3,4 med betyg G
För betyget 5 fordras:
- Minst z procent av veckouppgifterna godkända och
- Inlämningsuppgifterna 1,2,3 lösta senast sista redovisningsdagar
med betyg G samt inlämningsuppgift 4 senast sista redovisningsdag med
betyg VG
eller
- Minst 80% av maximalt poängantal på omtentamen och
- Inlämningsuppgifterna 1,2,3 lösta med betyg G samt
inlämningsuppgift 4 med betyg VG
Gränserna x, y och z fastställs senare.
Veckouppgifter
Veckouppgifter kommer att ges som ett led i den alternativa
examinationen.
Veckouppgifterna görs tillgängliga på uppgiftssidan
varje fredag senast kl 12.00, för att lösas under nästkommande vecka
och lämnas in senast påföljande måndag kl 10.15 enligt anvisningarna
nedan. Uppgifterna kommer att lösas på en lektion samma dag, se
ovan.
Veckouppgifter ges för att lösas under veckorna 4 - 10, dvs lämnas in
veckorna 5-11. Uppgiften för veckorna 4,9, 10 är mindre än de övriga.
Varje veckouppgift ger maximalt 10p (uppgiften för v 4, 9, 10 ger 5p),
eventuellt fördelat på deluppgifter.
Rättningen av uppgifter och deluppgifter kommer att ske med en
3-gradig (0%, 50% 100%) eller 4-gradig (0%, 33%, 66%, 100%) skala (på
någon uppgift möjligtvis 5-gradig) och utan kommentarer. För
kommentarer kring uppgiftsrättningarna hänvisas till lektionerna (se
ovan).
För full poäng på uppgifterna/deluppgifterna krävs mycket goda
lösningar. Därför är provkörning av lösningarna av
programmeringsuppgifter att rekommendera.
Försenade veckouppgifter kommer att slängas av examinator.
Inlämningsuppgifter
Följande inlämningsuppgifter ges på kursen:
- Listor och klasser. Klassbegreppet, listbegreppet.
- Aftonbladet eller Expressen. Listor, abstraktion, objektorientering.
- Matte? Binära träd, polymorfi.
- Projekt. Objektorientering, tillämpning.
Inlämningsuppgifterna görs tillgängliga på uppgiftssidan när det stoff de behandlar är
genomgånget på föreläsningarna. Sista inlämningsdag är
1. må 19 feb kl 10.15
2. må 26 feb kl 10.15
3. må 4 mars kl 10.15
4. må 18 mars kl 17.00
För försent inlämnade inlämningsuppgifter gäller:
- Rättningen kan bli avsevärt försenad. Dock garanteras att
uppgifterna rättas senast före utgången av september. Inga
önskemål om en
snabb rättning pga exempelvis studiemedelsproblem kommer att beaktas.
- Uppgifter inlämnade efter augusti månad kommer normalt inte att
rättas.
- Om hela kursen inte slutförs under läsåret kan inga krav
ställas på att enstaka uppgifter eller tentamen tillgodoräknas
under nästkommande läsår.
- Om samtliga uppgifter är slutförda i tid, arkiveras dock
uppgiftsresultatet. Examinator på nästa års kurs avgör om något eller
några moment kan tillgodoräknas.
För den händelse du av sjukdom, utlandsresa eller dylikt skulle
få problem att slutföra uppgifterna före ordinarie inlämningsdatum
bör du snarast kontakta examinator.
Allmäna anvisningar för inlämnings- och veckouppgifter
Uppgifterna får lösas individuellt eller, vilket rekommenderas, i
grupper om två. Om arbetet utförs i grupp, krävs att båda
gruppdeltagarna aktivt deltar i hela arbetet.
Förhör kommer att hållas på inlämnade uppgifter eller under arbetets
gång. Eventuella förekomster av fusk, kommer, såsom
högskoleförodningen fastställer, att anmälas till rektor.
Samtliga uppgifter lämnas in skriftligt tillsammans med ett exemplar
av kursens försättsblad i Johan
Bengtssons postfack på plan 4, hus 1, senast kl 10.15 angiven
dag. (Inlämningsuppgift 4: kl 17.00 angiven dag)
Uppgifter som lämnas in på annat sätt kommer inte att beaktas.
Rättade uppgifter etc finns i tidskriftssamlare i bokhyllan utanför DoCS studerandeexpedition, rum 1406.
Tentamen
Omtentamen ges enligt ordinarie uppläggning.
Anmälan till omtentamen ska göras enligt teknisk fysik-programmets
ordinarie rutiner. Detta även gäller de studenter som inte följer
TFP. Så kallad plusning är inte tillåten. I detta sammanhang betraktas
godkända veckouppgifter såsom en godkänd tentamen.
Preliminär föreläsningsplan
F1
| Inledning. Kurspresentation. Begreppen abstraktion och objektorienterad programmering.
|
| Översikt av C++, Anders
|
| C++: Grundläggande datatyper och styrstrukturer Johan
|
F2
| C++: Grundläggande datatyper och styrstrukturer, forts Johan
|
|
|
F3
| C++: Funktioner och härledda typer Johan
|
|
|
F4
| Unix, Emacs, Netscape och ddd Johan
|
| Denna föreläsning rekommenderas för alla studenter
|
F5
| C++: Funktioner och parameteröverföring Johan
|
|
|
F6
| C++: Funktioner och parameteröverföring
|
| Klasser, inledning Johan
|
F7
| C++: Klasser, forts Johan
|
|
|
F8
| Rekursion Anders
|
|
|
F9
| Dataabstraktion Anders
|
|
|
F10
| Listor Anders
|
|
|
F11
| Listor, forts Anders
|
|
|
F12
| Objektorientering Anders
|
|
|
F13
| Listor, Arv Anders
|
|
|
F14
| Stackar och köer, objektorientering Anders
|
|
|
F15
| Träd Anders
|
|
|
F16
| Träd Anders
|
|
|
F17
| Reserv Anders/Johan
|
|
|
Anders Berglund
Last modified: Mon Jan 15 17:58:18 1996