90 likes | 237 Views
Hjelp, vi har algdat!. En liten kickstart på TDT4120 Algoritmer og datastrukturer. Åsmund Eldhuset.
E N D
Hjelp, vi har algdat! En liten kickstart på TDT4120 Algoritmer og datastrukturer Åsmund Eldhuset
(Merk: mesteparten av den første forelesningen bestod av en rask gjennomgang av alle temaene i pensum; dette foregikk på tavlen, og foilene inneholdt bare temaoverskriftene. For å ikke friste noen til å hisse på seg Energi og Miljø ved å printe ut femti foiler med bare overskrifter er disse foilene fjernet fra presentasjonen. Det samme gjelder de to første foilene, som inneholdt opphavsrettsbeskyttede bilder.)
General information • The lectures will be given in Norwegian only (but are not mandatory) • Textbook: Introduction to Algorithms, 3rd edition (MIT Press), by Cormen, Leiserson, Rivest, and Stein • Written in English • Covers almost all of the curriculum (see "Pensum" on the web page); the presentation slides from the main lectures sometimes contains additional info, which is also in the curriculum • 2nd edition will mostly work too • There will be a dedicated study assistant to help the English-speaking students with the exercises and other matters • Please send me an email at aasmund.eldhuset@gmail.com to let me know that you want to use this study assistant
General information Course web page: http://www.idi.ntnu.no/emner/tdt4120 Exam: Saturday, December 7, 09:00 – 13:00 Feel free to contact me, after the lecture or by mail, if you have any questions. Contact Lars Greger Hagen with any questions related to the exercises: gregerlars@gmail.com
Exercises • There are mandatory exercises; you must pass these in order to be allowed to take the exam • There is one exercise pair each week, 13 pairs in total • Theoretical exercise: multiple choice questions; gives max 50 points • Practical exercise: programming; gives max 50 points • You need at least 300 points from the first six exercises and at least 300 points from the last six (no, this doesn't add up – I'll ask the other staff about it) • Warning: passing the exercises is significantly much easier than passing the exam! • Further information will be given on the so-called exercise lectures, held each Tuesday 14:15 – 17:00 in F1 • Tomorrow: Introduction to programming Python. Be there or be □!
Caveat emptor ("let the buyer beware") • This is a challenging course, especially if you are not comfortable with programming • The curriculum itself is extensive; it is fully possible to learn it, but it requires a lot of work and cannot be done the week before the exam • The exam itself tends to ask questions in creative ways that require a deep understanding of the material • Best approach: • Work continuously with the course • Make sure that you actually understand why the algorithms work • Solve a lot of previous exams and learn how to adapt and combine existing algorithms into new ones, and to recognize exising problems formulated in new ways
Formålet med første forelesning • Gi oversikt over faget • Forklare kjernebegreper • Forhåpentligvis gjøre det litt mindre skremmende • Det er ikke meningen at denne forelesningen skal få dere til å forstå alt! • Det vil gå fort i svingene • Emnene vil dekkes veldig overfladisk • Er dette en god idé? • Det finner vi ut i dag!
Algoritmer • Hva kjennetegner en algoritme? • Det er en fremgangsmåte... • ...for å løse... • ...et problem • Beskrivelsen av fremgangsmåten må: • Være utvetydig • Bestå av enkle steg • Kreve et endelig antall operasjoner • Gi korrekt resultat
Problemer og instanser • Problem == Problemstilling • En spesifikk utgave av en problemstilling == instans (av problem) • En algoritme kan implementeres i et programmeringsspråk • Man skriver et program som gjennomfører stegene i algoritmen • Som input til programmet gir man en probleminstans i form av en tekstfil • Programmet produserer løsningen i form av tekst-output