BOSK F2012

From PLSwiki

Jump to: navigation, search

Dette er hjemmesiden for 1. del af kurset objektorienteret softwarekonstruktion for foråret 2012. Den indeholder således information om kursets første 4 uger; der er også en hjemmeside for 2. del.

Alle henvendelser omkring 1. del af kurset, det være sig om forelæsninger, øvelser, hjemmeside eller praktiske forhold, bedes rettet til Jacob Thamsborg.

Contents

Mål og midler

I løbet af de fire uger skal I stifte bekendtskab med udsagnslogik, prædikatslogik og induktion over de naturlige tal. Formålet med 1. del af kurset er ikke at gøre hverken matematikere eller logikere ud af jer. Men I skal gerne drage videre med lidt abstrakt værktøj i tasken; værktøj som I kan bruge til programmering og - måske især - til at tale om programmer.

Det vigtigste I kan gøre er at regne opgaverne. Det er godt at komme til forelæsningerne og udmærket at læse noterne som baggrund, men topprioriteten er og bliver at løse de stillede opgaver - det giver jer en fortrolighed som man hverken kan læse eller lytte sig til. Det er værd at nævne at I også skal regne opgaver af en anden, og mere jordnær, årsag: I skal have godkendt 3 ud af de 4 opgaver som stilles for at få lov til at gå op til eksamen.

Denne 1. del af kurset har kørt to gange tidligere. Første gang var vi klart for ambitiøse, dette blev skåret lidt ned sidste år - desværre ingen Hoare logik - og samtidig blev forbindelsen til egentlig programmering i Java opprioriteret. I år er der kun mindre justeringer i forhold til sidste år. Forhåbentlig vil I synes om det; jeg vil under alle omstændigheder meget gerne høre jeres mening, både løbende og til den halvårlige evaluering. God arbejdslyst.

Nyheder og opdateringer af hjemmesiden

  • 12. marts: Så er listen over beståede opdateret. Tillykke til de nytilkomne - god arbejdslyst til de der endnu har lidt efterslæb.
  • 9. marts: Har, når jeg nu selv skal sige det, været flittig og rettet alle genafleveringer af #3. Opdaterer listen over beståede på mandag, nu skal jeg hjem og sove.
  • 6. marts: Jeg er ikke på ITU i morgen onsdag og heller ikke torsdag. Henvend jer evt. direkte til Mads Tofte for at få svar på evt. spørgsmål. Det var en joke.
  • 6. marts: Så er alle genafleveringer af #2 og alle afleveringer af #4 rettet. De fleste mens jeg var mildt febril - så der tages forbehold. En del er nu sluppet igennem nåleøjet.
  • 1. marts: Så fik jeg endelig rettet de sidste sæt #3, de ryger i dueslag nu (10:20). Begynder at kigge på genafl. af sæt #2.
  • 27. februar: Så har vi årets første 5 saligkåringer, se listen nedenfor! Flere følger, efterhånden som I afleverer og, ikke mindst, jeg får rettet afleveringerne.
  • 27. februar: For en god ordens skyld vil jeg lige sige at jeg ikke er på ITU tirsdag og onsdag. Jeg skal selv på kursus - i at undervise! Kunne han ikke have taget det kursus før, tænker I måske.
  • 27. februar: Så er der (nogle) rettede opgaver. Jeg har rettet de første 40 af sæt #3 og alle genafleveringer af sæt #1; de er at finde i orange mapper i dueslaget. Resten af sæt #3 kommer desværre nok først torsdag.
  • 22. februar: Så er der slides og opgaver til i morgen. Vi skal vise korrekthed af lineær og binær søgning - kachow!
  • 22. februar: Så har jeg rettet alt med opgavesæt #1 og #2, smider dem i dueslag om 10 min.
  • 21. februar: Har rettet hovedparten af genafleveringer af #1 og af afleveringer af #2. De ligger i dueslag, resten følger i morgen.
  • 16. februar: Så er slides #3 i luften og alle besvarelser af opgavesæt #1 rettet og ligger i dueslaget. Det gjorde de faktisk allerede i går aftes, men jeg glemte at skrive det.
  • 14. februar: Så er opgavesæt #3 i luften. Det er hårdt men til gengæld også lidt svært. Desuden sjovt, synes jeg.
  • 14. februar: Så har jeg rettet 40 af besvarelserne af opgavesæt #1. Lægger dem i dueslag nu, resten følger i morgen. Ved evt. genaflevering er det naturligvis kun delopgaverne med fejl der skal genafleveres. Hvis I eksempelvis har hakker ud for 1.4.1, 1.4.2, 1.4.3 og 1.4.4 men minus ud for 1.4.5 (det kunne man måske godt forestille sig) så er det naturligvis kun 1.4.5 der skal genafleveres.
  • 8. februar: Og slides til i morgen er på banen. Jeg burde lave nogle bedre eksempler end dem med lige og ulige, sorry.
  • 8. februar: Opgavesæt #2 er lettet: kvantorernes hævn! Og jeg fik - langt om længe - rettet fejl i slides fra første forelæsning.
  • 1. februar: Så er første opgavesæt og første sæt af slides opnåeligt! Og et par spørgsmål (med svar) tilføjet nederst. I morgen går det løs!
  • 27. januar: Hjemmesiden ligner efterhånden noget. Faktisk ligner den hjemmesiden fra sidste år en del - sådan er skæbnens luner. Links til slides og opgavesæt fører dog pt. ingen steder hen; dette vil selvsagt blive udbedret undervejs, efterhånden som jeg får udarbejdet materialet.

Plan og afleveringsfrister

Forelæsningerne foregår torsdag i Auditorium 4 fra 9 til 11. Vi starter nogenlunde præcist, tager nok en pause undervejs og slutter sikkert noget før 11. Eller måske lidt efter. Lad os se hvordan det går.

Øvelserne foregår torsdag i lokalerne 4A54, 4A56, 4A58, 2A14 fra 12-14 og i lokalet 2A14 fra 14-16. Jeg ved ikke helt hvorfor vi er spredt sådan ud. I må selv fordele jer imellem lokalerne. Jeg vil sidde i lokale 2A14 med forbehold for en lille pause undervejs. Det havde nok været bedre med to samtidige øvelseshold med to forskellige øvelseslærere, men sådan er det altså ikke, så der vil nok være lidt kø for vejledning. Der er naturligvis ingen forpligtelse til at være til stede i fulde 4 timer. Men det er her man kan få råd og vejledning til opgaverne og desuden - måske endnu vigtigere - er det en rigtig god mulighed for at komme i gang med opgaverne i fællesskab.

Dag Emne og slides Opgavesæt Frist(er) (altid senest 18.00)
Torsdag 2. februar Udsagnslogik Opgavesæt #1
Torsdag 9. februar Prædikatslogik Opgavesæt #2 Aflevering af opgavesæt #1.
Torsdag 16. februar Induktion Opgavesæt #3 Aflevering af opgavesæt #2.
Torsdag 23. februar Programverifikation Opgavesæt #4 Aflevering af opgavesæt #3. Evt. genaflevering af opgavesæt #1.
Torsdag 1. marts Aflevering af opgavesæt #4. Evt. genaflevering af opgavesæt #2.
Torsdag 8. marts Evt. genaflevering af opgavesæt #3.
Torsdag 15. marts Evt. genaflevering af opgavesæt #4.

Studerende med 3 (eller fire!) godkendte opgaver (hin salige)

Filip Hjermind Jensen, Kevin Bøje Petersen, Jacob Claudius Grooss. (overført fra sidste år).

Kasra Tahmasebi Shahrebabak, Kristian Brink Gansted, Mark Thorhauge, Martin Rønning Bech, Mikkel Larsen. Nicolai Ditlev Krogh Krüger. Anders Brorup Jørgensen, Jacob Stenum Czepluch, Jens Egholm Pedersen, Lasse Vork Borchert, Linnea Frisenette Rechter, Magnus Stahl Jacobsen, Martin Baaring, Michael Mungkol Storgaard, Mikkel Holmstrøm Stolborg, Mikkel Hvilshøj Funch, Mikkel Winther Due Jensen, Morten Fredrik Therkildsen, Morten Holm Hvass, Morten Roed Frederiksen, Morten Rosenmeier Hansen, Niclas Benjamin Tollstorff, Niels Liljedahl Christensen, Philip Jon Rasmussen, Sigurt Bladt Dinesen. Anders Friis, Anders Højmark, Bergar Simonsen, Christian Gehrs Kuhre, Christian Rostrup Nielsen, Christoffer Stougaard Pedersen, Ellen Engdahl, Hans Kristian Kring Pagh, Jakob Bang Helvind, Kewin Bent Pedersen, Lars Yndal Sørensen, Martin Henriksen, Michael Søby Andersen, Mikkel Thomsen, Morten Drescher Salling, Niels Roesen Abildgaard, Phillip Phoelich, Rasmus Agnvig, Simon Bang Terkildsen, Sune Andreas Dybro Debel, Toke Bruun Jensen. Alexander Kirk Jørgensen, Anders Niemann Jørgensen, Christian Martin Henriksen, Claus Lindquist Henriksen, Lauge Dag Djuraas, Mathias Hottrup Vildbrad, Nicolai Guldbæk Holst, Niklas Meulengracht Madsen. Andreas Precht Poulsen, Bjørn Hasager Vinther, Daniel James Hommel Varab, Ivan Naumovski, Kewin Dannerfjord Remeczki, Mathias Kindsholm Pedersen, Mathias Zillo Christiansen, Michell Bak, Nikolai Storr-Hansen. Alexander Momtaz Jacobsen, Phillip Ingemann Olesen.

Gode spørgsmål og svar

Denne sektion indeholder en række praktiske spørgsmål og svar.

Er det kun spørgsmålene som er gode eller gælder det også svarene?

Uha, det vil tiden vise.

Hvordan består jeg 1. del af kurset?

Du skal rettidigt have afleveret og fået godkendt besvarelser af 3 ud af de 4 opgavesæt.

Hvor afleverer jeg min besvarelse?

Enten personligt til mig eller i dueslag på 1. sal, omtrent under IT-afdelingen.

Pokkers, min besvarelse er ikke godkendt, hvad gør jeg?

Du vil sædvanligvis have mulighed for at genaflevere inden for den angivne frist. Dette vil fremgå af den rettede besvarelse, du skal naturligvis ikke genaflevere godkendte delopgaver. Jeg for forbeholder mig dog ret til at afvise besvarelser uden mulighed for genaflevering hvis de er decideret useriøse.

Ups, hvad hvis jeg afleverer for sent?

Så vil besvarelsen blive afvist uden mulighed for genaflevering. Kun under ganske særlige omstændigheder - og efter forudgående aftale - kan der dispenseres for afleveringsfristen. Dette gælder selvsagt også for genafleveringer.

Må vi aflevere i grupper?

Nej. Jeg anbefaler varmt at i indbyrdes diskuterer problemerne og hjælper hverandre, men de endelige besvarelser skal udarbejdes individuelt og vil alternativt blive afvist. Det er den eneste måde at sikre at alle kommer igennem stoffet. Det er ikke, tro mig, fordi jeg finder glæde i at rette 70+ besvarelser.

Må jeg aflevere elektronisk, det er trods alt IT-Universitetet?

Nej. Besvarelser skal som udgangspunkt afleveres på papir. I særlige tilfælde - og efter forudgående aftale - kan du dog sende besvarelse som PDF med mail. Men det bliver for meget at skulle udskrive alle opgavebesvarelserne hver uge.

Må jeg anvende avancerede lommeregnere eller egentlige matematikprogrammer såsom MATLAB?

Nej. Sådanne værktøjer kan være glimrende, men her handler det om at få styr på grundlæggende teknikker og det får man ikke ved at taste problemet ind og trykke play - noget man faktisk ville kunne med en del af opgaverne. I skal regne alt i hånden med undtagelse af de opgaver hvor det eksplicit angives / foreslås at kode lidt i Java.

Skal jeg gemme godkendte opgaver selvom jeg hader dem og aldrig vil se dem mere?

Det vil være en god ide at gemme godkendte opgaver til 1. del er vel overstået og du har fået bekræftet at du har fået godkendt 3 ud af 4 opgaver. Jeg er omhyggelig med bogføringen men kan fejle og dine godkendte opgaver er dokumentation hvis der skulle opstå tvivl.

Hvor er lærebogen / hvad kan jeg selv læse?

Materialet er spredt med løs hånd:

  • Jeg laver gerne slides med lidt for megen tekst til egentlig forelæsning. Til gengæld kan de læses næsten uafhængigt af forelæsningerne; de vil (forhåbentlig) være en god kilde til både forståelse og opgaveregning.
  • Opgavesættene vil gerne have lidt tekst, der opsummerer de centrale begreber.
  • For mere fyldig baggrund til udsagns- og prædikatslogikken kan jeg anbefale noter af Michael Genesereth fra Stanford. Han kører et kursus i Computational Logic som dækker vores emner og en del til. Han har noter både om udsagnslogik og prædikatslogik. De er gennemarbejdede og skrevet af en en egentlig logiker, men til gengæld er de på engelsk og - mere væsentligt - mindre anvendte i deres sigte.
  • Barry Adams fra Laurentian University har en introduktion til induktion som passer meget godt til os. Han har også en kort introduktion til kvantorer som måske er lettere tilgængelig end den fra Stanford nævnt ovenfor.
  • Når det kommer til programverifikation kan man kigge i kapitel 1 og 2 i den introduktion til Hoare logik som vi anvendte første år. Den er meget introducerende, men her er tale om formel Hoare logik og ikke den mere løse notation vi anvender. Så det er måske lidt over målet. Bedre er nok afsnit 4.5 i Discrete Mathematics and Its Applications, 6th edition af Kenneth Rosen; små 10 sider, der passer fint til os. Jeg bliver formentlig sagsøgt langt ned i helvede hvis jeg lægger scannede sider på nettet, men hvis I kommer op på kontoret kan jeg fotokopiere til Jer - det tror jeg godt man må.

Der er en årsag til denne skyden med spredehagl: Der findes udmærkede bøger om eksempelvis diskret matematik der dækker vores områder og en del til. Men jeg fandt det urimeligt at tvinge en dyr bog ned i halsen på Jer for 4 ugers kursus. Derfor dette sammensurium af materiale, jeg tænker at vi sammen kan navigere det.

Hvordan skal jeg forberede mig / hvor meget skal jeg læse?

Jeg vil anbefale at I kommer til forelæsningerne fulde af entusiasme men uden den store forberedelse. Efterfølgende bør I så læse til materialet er absorberet og - måske især - til I er i stand til at løse opgaverne. Opgaveregningen er det vigtige, og samtidig det I evalueres på, så det er ikke helt urimeligt at læse 'efter behov'.

Vil stoffet fra 1. del optræde til eksamen?

Desværre nej. Eksamen er kun i indhold af 2. del af kurset, 1. del bestås alene med afleveringsopgaver.

Jeg bestod BOSK 1. del sidste år, men vil meget gerne regne alle opgaverne igen fordi det var så sjovt. Må jeg det?

Ja, naturligvis. Men hvis du faktisk bestod 1. del sidste år kan du også vælge at springe 1. del over i år. Sørg lige for at henvende dig til mig, så finder vi ud af det.

Hjælp - Hjælp - HJÆÆÆLP! / Don't Panic

Hvis I sidder ganske fast i en opgave og har prøvet at diskutere med jeres medstuderende uden resultat så kom gerne forbi mit kontor 4C03. Jeg vil som oftest være på kontoret i almindelig arbejdstid og som oftest have tid til at besvare spørgsmål. Hvis du vil være sikker, så aftal en tid i forvejen på mail.

Personal tools