Presentation laddar. Vänta.

Presentation laddar. Vänta.

© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1.

Liknande presentationer


En presentation över ämnet: "© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1."— Presentationens avskrift:

1 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1

2 Datastrukturer och algoritmer VT 2003 2 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 2 Innehåll  Kurspresentation  Inblandade personer  Administration  Målsättning  Förkunskaper  Kursutvärdering  Upplägg  Översikt  Föreläsning 1  Viktiga begrepp  Kapitel 1 och 2 i kursboken

3 Datastrukturer och algoritmer VT 2003 3 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 3 Inblandade personer  Föreläsare  Anders Broberg  Lena Kallin Westin (kursansvarig)  Ulrika Hägglund  Handledare  Lena Kallin Westin  Ulrika Hägglund

4 Datastrukturer och algoritmer VT 2003 4 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 4 Lena KW

5 Datastrukturer och algoritmer VT 2003 5 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 5 Ulrika H Anders B

6 Datastrukturer och algoritmer VT 2003 6 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 6 Administration  Personer som inte haft en datoranvändare (xxx@cs.umu.se) på datavetenskap tidigare:xxx@cs.umu.se  Fyll i vit blankett och prata med mig.  Fyll i gul blankett för att få tillgång till labsalarna.  Om detta är första kursen på UmU:  Fyll i blå blankett också.

7 Datastrukturer och algoritmer VT 2003 7 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 7 Kursutvärdering  2 Kurser ifjol  Bästa föreläsaren /Byt ut föreläsaren…?  Byt bok/Grymt bra bok  Rimligare krav  Bättre ordning på OH-bilderna  Mer programmeringsövningar  Föreläsningarna drog ut på tiden

8 Datastrukturer och algoritmer VT 2003 8 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 8 Målsättningar  Rolig och viktig kurs  Kanske en Topp-3 kurs?  Bli en bättre programmerare och inse att man blivit det  Känna till kända lösningar på typiska problem  Konstruera robusta och korrekta program  Konstruera och beskriva algoritmer och datatyper  Förstå komplexitetsbegreppet  Tid och rum

9 Datastrukturer och algoritmer VT 2003 9 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 9 Vad krävs för att nå dit?  Ge kursen en ärlig chans  Läs boken, förstå vad som står där  Delta på föreläsningar  Gör (grupp)övningar  Börja med laborationerna i tid  Utnyttja handledningen  Säg till om det är något som inte funkar

10 Datastrukturer och algoritmer VT 2003 10 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 10 Förkunskaper  Kunna implementera en godtycklig algoritmbeskrivning i JAVA/C

11 Datastrukturer och algoritmer VT 2003 11 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 11 Websajten  http://www.cs.umu.se/kurser/TDBA36/VT03_2/  Schema  Uppdateringar  Formalia  Resultatredovisning  Gruppövningar  Föreläsningar oIntroduktion, OH-bilder, läsanvisningar  Gamla tentor

12 Datastrukturer och algoritmer VT 2003 12 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 12 Gruppövningar  Till varje föreläsning finns det övningar från boken  Vissa utvalda räknar vi på gruppövningarna  Sitter i smågrupper och hjälper varandra  En gruppövning i datorlabbet

13 Datastrukturer och algoritmer VT 2003 13 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 13 Gruppövningar  Gruppövning 1:  Implementering av en länkad lista och debugging  Gruppövning 2:  Fält, tabeller, stackar och köer  Gruppövning 3:  Komplexitetsanalys  Gruppövning 4:  Träd, Heap, Prioritetskö, Grafer och grafalgoritmer  Gruppövning 5:  Sökträd, Trie, Mängd, Lexikon  Gruppövning 6:  Gammal tenta

14 Datastrukturer och algoritmer VT 2003 14 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 14 Examination  Tre stycken obligatoriska uppgifter  Implementera tabeller  Implementera en router  Analysera tre algoritmer oExperimentellt oAsymptotiskt (gruppövning)  Alla löses individuellt  Tvådelad tentamen (Måste vara godkänd på båda delarna).  En begreppsdel oFörklara kortfattat ett antal begrepp  En förståelsedel oFrågor där man får visa att man förstått kursen – ”hur saker och ting hänger ihop”

15 Datastrukturer och algoritmer VT 2003 15 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 15 Innehållsöversikt  Algoritmer  Komplexitetsanalys, tid och rum  Designprinciper  Exekvering, implementering, underhåll  Abstrakta datatyper  Stack, Kö, Listor, Träd, Graf, Prioritetskö, Heap, Tabell, Sträng, Mängd, Sökträd, Tries, mm  Modell, Organisation, Specifikation, Gränsyta  Olika grundbegrepp  Implementation, komplexitetsanalys  Tillämpningar

16 Datastrukturer och algoritmer VT 2003 16 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 16 Innehållsöversikt forts…  Sökning och traversering  Olika metoder och hur dom passar i olika lägen  Kan sökmetoderna ställa krav på implementationen av ADT och i så fall vilka?  Sortering  Sorterad ADT vs sortering av data  5-6 olika algoritmer, analys  Design av algoritmer  Olika algoritmtyper som brute force, divide and conquer, greedy och dynamiska  Exempel och typiska användnings- områden  För- och nackdelar

17 Datastrukturer och algoritmer VT 2003 17 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 17 Att bygga program ≈ bygga hus/broar  Husbygge  Specifikation/Beskrivning  Material  Verktyg  Utvärdering/uppföljning  Programmering  Problembeskrivning  Systemdesign  Modelleringsverktyg oDatatyper – representera datat i programmet oAlgoritmer – stegvis plan för att utföra något, modellera hur man löser problemet oKontrollstrukturer – för att modellera flödet  Utvärdering/uppföljning oKomplexitetsanalys oValideringskriterier

18 Datastrukturer och algoritmer VT 2003 18 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 18 Metaforer för programbyggnad  Instruktionsmetaforen  Programmeraren är en arbetsledare som ger instruktioner till datorn som den sedan följer i tur och ordning till punkt och pricka.  Problemlösningsmetaforen  Vad ska göras och hur ska det göras? Programmeraren löser problemet (skriver en algoritm) som sedan implementeras.  Adaptionsmetaforen  Programmet är ett objekt som ingår och interagerar med en miljö.  Programmet anpassas till miljön gradvis Låg nivå nära datorn Hög nivå

19 Datastrukturer och algoritmer VT 2003 19 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 19 Datavärldsbilder  Manipulativa ansatsen  Hantverksmetafor, man har ett (passivt) objekt som bearbetas steg för steg tills man nått målet.  Imperativa språk som C, Pascal, Modula, Ada  Funktionella ansatsen  Matematisk funktionsmetafor, man ändrar aldrig ett objekt. Resultatobjekten är avbildningar av startobjekten.  Funktionella/relationella språk som ML, Lisp, Prolog  Objektorienterade ansatsen  Objekten har själv egenskaper och beteenden och interagerar med andra objekt. Händelsestyrd programmering.  Objektorienterade språk som Java, C++

20 Datastrukturer och algoritmer VT 2003 20 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 20 Kursens (och bokens) strategi:  Att beskriva datastrukturer och ansatser så neutralt som möjligt.  Detta gör att kunskaperna blir mer generella och allmänt tillämpbara.  Språkoberoende  Flesta studenterna har Java som bakgrund, några har C som bakgrund.  Kan själv välja språk på labbarna  Oftast pseudokod på föreläsningarna

21 Datastrukturer och algoritmer VT 2003 21 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 21 Gränssnitt  Vad är ett gränssnitt?  Kontaktyta  Gränsen mellan två eller flera delar  Överenskommelse - oberoende av vem, vart, hur ska det ”passa” oMusköten 1700-talet oLego  Uppmuntrar till ??? oSkruvmejslar med olika spetsar

22 Datastrukturer och algoritmer VT 2003 22 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 22 Gränssnitt  Separerar  Funktion och implementation  Användning och skapande  Specifikation och konstruktion  Finns i datavetenskapen  Mellan centralenheter och periferienheter  Mellan människan och maskinen  Mellan mjukvarukomponenter oFunktioner/metoder oDatatyper oetc…

23 Datastrukturer och algoritmer VT 2003 23 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 23 Begrepp  Data - objekten som bär information  Datatyp - ”värdemängd” samt operationer  Enkel (heltal)  Sammansatt (Lista av heltal) oHomogen vs. Heterogen  Fysisk - Implementerad i språket/hårdvaran  Abstrakt - När man inte är intresserad av om/hur den är implementerad i språk/hårdvara  Konstruerad – när man beskrivit hur man skulle representera objekten och operationer  Implementerad - komplett konstruerad från grunden (fysiska datatyper) och redo att användas i ett program  Konkret = Fysiska, implementerade eller konstruerade datatyper

24 Datastrukturer och algoritmer VT 2003 24 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 24 Beskrivningssätt  Modell - vardaglig, ”det man modellerar”  Kö  Organisation  Den grundläggande naturen på objekten, linjärt ordnade, före och efter relation etc.  Informell beskrivning  Gränsytan (nödvändig och minimal, kraftfull)  Informell beskrivning av operationernas funktion  Signaturdiagram  Formell beskrivning - rent matematisk-logisk  Konstruktioner och implementationer  Komplexitetsanalys  Tillämpningar och algoritmer


Ladda ner ppt "© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1."

Liknande presentationer


Google-annonser