Lars-Henrik Eriksson

Storlek: px
Starta visningen från sidan:

Download "Lars-Henrik Eriksson"

Transkript

1 Välkomna till Programmeringsmetodik DV1 Programkonstruktion I+II Lars-Henrik Eriksson

2 Undervisningstillfällen Föreläsningar: I allmänhet tisdagar och onsdagar i Aulan. Laborationer: I allmänhet på torsdagar (första lab. 3/10) Stoppdatum: I allmänhet på tisdagar kl. 08:00. Lektioner: I allmänhet på fredagar (första lektion 11/10) Tenta: Onsdagen den 11/9. Kontrollera på webbplatsen i början av nästa vecka vilken grupp du tillhör och vilket labb/lektionsschema du skall ha.

3 Supplemental Instruction (SI) Ett sätt att bedriva sina självstudier i diskussionsgrupper. (Schema inte klart än kommer på webbplatsen.)

4 Algoritm Effektiv procedur för beräkning 1) Mekanisk 2) Ändliga resurser 3) Deterministisk 4) Aritmetiserbart problem

5 Euklides från Alexandria ( f.kr.)

6 Euklides algoritm Precondition: m och n är naturliga tal Postcondition: n är största gemensamma delare till de ursprungliga m och n. Start. Ja. Är m=0? Stopp. Nej. Låt r vara resten när n delas med m. Låt n vara m. Låt m vara r.

7 Euklides algoritm stannar Största gemensamma delaren till 64 och 30 m n r = 2*32 = 2*2*2*2*2*2 30 = 2*15 = 2*3*5

8 Eratostenes från Kyrene ( f.kr.)

9 Eratostenes såll De tal som faller igenom sållet är primtal.

10 Program Program är mekaniska beskrivningar för hur datorn skall arbeta. Alla program är inte algoritmer ofta vill man inte att program skall avslutas (t.ex. styrprogram av olika slag), serverprogram. Algoritmerna är fundamentala konstruktionsmönster vid programmering.

11 Mohammad Ibn Musa al-khwarizmi (c:a 780 c:a 850)

12 Två böcker av al-khwarizmi Om beräkning genom al-jabr och al-muqabala al-khwarizmi om de indiska talen ( Algoritmi de numero Indorum )

13 Gottfried Wilhelm von Leibniz ( ) calculemus

14 Leibniz kalkylator Leibniz kalylator förverkligar algoritmer för de fyra räknesätten.

15 Charles Babbage ( )

16 Differenskalkylen x 2x 2-3x+4 1:a diff. 2:a diff 3:e diff ?? 4 24???? 5?? Polynom kan användas för approximation av matematiska funktioner (Taylorutvecklingar).

17 Babbages differensmaskin (del) Differensmaskinen förverkligar en algoritm för differenskalkyl.

18 Augusta Ada Byron grevinna av Lovelace ( )

19 Babbages analytiska maskin Den analytiska maskinen kunde programmeras att utföra godtycklig algoritm. Beståndsdelarna i princip samma som i en modern dator. Ada Lovelace skrev det första programmet för beräkning av Bernoullital. Den analytiska maskinen kunde aldrig byggas finmekaniken räckte inte.

20 Ada Lovelace om den analytiska maskinen "Again, [the Analytical Engine] might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine... Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent."

21 Alonzo Church Alan Mathison Turing ( ) ( )

22 Vad är mekaniskt? Church: uttryckbart i l-kalkylen Turing: uttryckbart som turingmaskin. Church-Turings tes: Detta är allt som är mekaniserbart. I praktiken: uttryckbart som program i en dator. Alla beräkningar kan inte mekaniseras enligt Church/Turing. Kan de då utföras alls? l-kalkylen har blivit ett viktigt verktyg inom datavetenskapen.

23 Grace Murray Hopper ( )

24 Kompilatorer Maskiner är inte lätta att tas med speciellt inte när man programmerar. Program som styr datorn uttrycks i termer av datorns inre uppbyggnad och funktion numeriska koder. Människor vill ha mer lättanvända programspråk. Kompilatorn är en program som realiserar en algoritm som översätter program från ett användarorienterat språk till maskinspråk. Hopper skrev den första kompilatorn.

25 Standard ML Lämpligt för undervisning. Enkla, tydliga beståndsdelar. Funktionellt programspråk. God matematisk grund. Ursprung i l- kalkylen. Väldefinierad semantik. Semantik: Vad ett program betyder Jämför syntax: Hur ett program får se ut. ML arbetar genom funktionsberäkningar. OBS att funktion har annan betydelse än i matematiken. fun gcd(0,n) = n gcd(m,n) = gcd(n mod m,m) Detta är en rekursiv definition av funktionen gcd en kodning av algoritmen för största gemensamma delare i SML.

26 Beräkning av gcd(64,30) i ML fun gcd(0,n) = n gcd(m,n) = gcd(n mod m,m) gcd(64,30) fi gcd(30 mod 64,64) fi gcd(30,64) fi gcd(64 mod 30,30) fi gcd(4,30) fi gcd(30 mod 4,4) fi gcd(2,4) fi gcd(4 mod 2,2) fi gcd(0,2) fi 2

27 Funktioner i matematik och programmering Funktioner avbildar ( översätter ) argument till entydiga värden. Om funktionen avbildar alla möjliga argument i en given domän är den total, annars partiell. Matematiska funktioner är i princip en tabell (graf) av argument och värden. Programfunktioner är en beskrivning av hur värdet skall beräknas. (5,10) 5 (20,35) Del av grafen för gcd: 2 (2,4) (64,30)

28 Programmeringsmetodik Betydelsen av specifikationer (vad?) motivering (varför?) dokumentation i övrigt elegans, precision, klarhet Första introduktion till: algoritmer och datastrukturer algoritmkomplexitet

Programmeringsmetodik DV1 Programkonstruktion 1. Lars-Henrik Eriksson. Välkomna till. edu/course/homepage/pkpm/ht06.

Programmeringsmetodik DV1 Programkonstruktion 1. Lars-Henrik Eriksson. Välkomna till.   edu/course/homepage/pkpm/ht06. Välkomna till Programmeringsmetodik DV1 Programkonstruktion 1 http://www.it.uu.se/ edu/course/homepage/pkpm/ht06 Föreläsare Lars-Henrik Eriksson lhe@it.uu.se, http://www.it.uu.se/katalog/lhe PK1&PM1 HT-06

Läs mer

Programkonstruktion. Lars-Henrik Eriksson. (Min) syn på programmering. Vad är ett program? Hur detaljerade skall instruktioner vara?

Programkonstruktion. Lars-Henrik Eriksson. (Min) syn på programmering. Vad är ett program? Hur detaljerade skall instruktioner vara? Välkomna till kursen i Programkonstruktion http://www.it.uu.se/ edu/course/homepage/pk/ht09 Föreläsare Lars-Henrik Eriksson lhe@it.uu.se http://www.it.uu.se/katalog/lhe Salvador Dalí: Minnets varaktighet

Läs mer

Introduktion till datateknik och datavetenskap

Introduktion till datateknik och datavetenskap Introduktion till datateknik och datavetenskap Daniel Bosk 1 och Jimmy Åhlander Avdelningen för informations- och kommunikationssytem, Mittuniversitetet, SE-851 70 Sundsvall. intro.tex 1974 2014-09-09

Läs mer

Programkonstruktion och datastrukturer

Programkonstruktion och datastrukturer Välkomna till kursen i Programkonstruktion och datastrukturer h http://www.it.uu.se/edu/course/homepage/pkd/ht10 Huvudlärare Lars-Henrik Eriksson lhe@it.uu.se, http://www.it.uu.se/katalog/lhe Pierre Flener

Läs mer

Programkonstruktion och datastrukturer

Programkonstruktion och datastrukturer Välkomna till kursen i Programkonstruktion och datastrukturer h http://www.it.uu.se/edu/course/homepage/pkd/ht11 Huvudlärare Lars-Henrik Eriksson lhe@it.uu.se, http://www.it.uu.se/katalog/lhe Pierre Flener

Läs mer

Programkonstruktion och datastrukturer

Programkonstruktion och datastrukturer Välkomna till kursen i Programkonstruktion och datastrukturer h http://www.it.uu.se/edu/course/homepage/pkd/ht12 Huvudlärare Lars-Henrik Eriksson lhe@it.uu.se, http://www.it.uu.se/katalog/lhe PKD 2012/13

Läs mer

Imperativ programmering

Imperativ programmering Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk

Läs mer

ENKEL Programmering 3

ENKEL Programmering 3 ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur

Läs mer

Grundläggande programmeringsteknik Datorsystem

Grundläggande programmeringsteknik Datorsystem Datorsystem Från abakus till Z3 Datorsystem Från kursplanen Moment 3, Datorsystem 3hp I detta moment ges en introduktion till datorsystem och dess uppbyggnad. Minneshantering, vad en CPU är och gör samt

Läs mer

Teknikhistoria: Den första programmeraren

Teknikhistoria: Den första programmeraren Teknikhistoria: Den första programmeraren Lektionen är en introduktion till Ada Lovelace som anses vara den första programmeraren. Eleverna får lära sig lite mer om vem hon var, vad hon gjorde samt den

Läs mer

Charles Babbage och Ada Lovelaces datorer

Charles Babbage och Ada Lovelaces datorer Charles Babbage och Ada Lovelaces datorer Sven Andersson san01006@student.mdh.se Vetenskapsmetodik för teknologiområdet CT3620 Mälardalens Högskola 18 oktober 2004 1 1 Sammanfattning Charles Babbage designade

Läs mer

BER AKNINGSBARHET F OR DATALOGER. Kent Petersson. Institutionen for Datavetenskap Goteborgs Universitet / Chalmers Goteborg, Sweden

BER AKNINGSBARHET F OR DATALOGER. Kent Petersson. Institutionen for Datavetenskap Goteborgs Universitet / Chalmers Goteborg, Sweden BER AKNINGSBARHET F OR DATALOGER Fran till P Kent Petersson Institutionen for Datavetenskap Goteborgs Universitet / Chalmers 412 96 Goteborg, Sweden ii Kent Petersson Department of Computer Science Goteborgs

Läs mer

Introduktion till programmering. Programspråk och paradigmer

Introduktion till programmering. Programspråk och paradigmer Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly

Läs mer

Programmeringsmetodik DV1 Programkonstruktion 1. Moment 4 Om rekursion. PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad

Programmeringsmetodik DV1 Programkonstruktion 1. Moment 4 Om rekursion. PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad Programmeringsmetodik DV1 Programkonstruktion 1 Moment 4 Om rekursion PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad 2006-10-17 Summera godtyckligt antal tal (* sumupto n Type: int->int Pre: n >= 0, n

Läs mer

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 . Vad är en dator? Introduktion till datorer och nätverk Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 Översikt 2/23 Datorns historia von Neumann-arkitekturen Operativsystem Datornät

Läs mer

Programkonstruktion och Datastrukturer

Programkonstruktion och Datastrukturer Programkonstruktion och Datastrukturer VT 2012 Tidskomplexitet Elias Castegren elias.castegren.7381@student.uu.se Problem och algoritmer Ett problem är en uppgift som ska lösas. Beräkna n! givet n>0 Räkna

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Datastrukturer och algoritmer

Datastrukturer och algoritmer Datastrukturer och algoritmer Föreläsning 5 Algoritmer & Analys av Algoritmer Algoritmer Vad är det? Innehåll Mer formellt om algoritmer beräkningsbarhet Att beskriva algoritmer Analysera algoritmer Exekveringstid,

Läs mer

Grundläggande datavetenskap 4p

Grundläggande datavetenskap 4p Grundläggande datavetenskap 4p Stefan.Pettersson@mh.se http://www.itm.mh.se/~stepet Kursinformation Planering Läsanvisningar Föreläsningsbilder Övningsuppgifter Laborationer 2004-11-04 IT och Medier 1

Läs mer

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati Formell Verifiering Hur vet man att ett system fungerar korrekt? Lisa Kaati Innehåll Motivering Formell verifiering Modellkontroll (model checking) Verifiering av kod Forskning Dator system finns överallt

Läs mer

TDDC74 Programmering, abstraktion och modellering. Tentamen

TDDC74 Programmering, abstraktion och modellering. Tentamen AID-nummer: Datum: 2011-08-17 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Onsdag 17 augusti

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 1 8 sept 2014 Kontaktuppgifter & Info: Kurskod: DD1339, 19hp Kursomgång: inda14 Kursansvarig: Christian Smith, ccs@kth.se Michael Minock, minock@kth.se Dilian

Läs mer

Alexander Wallin. Charles Babbage och hans maskiner

Alexander Wallin. Charles Babbage och hans maskiner Alexander Wallin Charles Babbage och hans maskiner En kort inledande beskrivning Charles Babbage var något av en renässansmänniska - uppfinnare, författare och tänkare och han gjorde fantastiska framsteg

Läs mer

MA2047 Algebra och diskret matematik

MA2047 Algebra och diskret matematik MA2047 Algebra och diskret matematik Något om heltal Mikael Hindgren 17 september 2018 Delbarhet Exempel 1 42 = 6 7 Vi säger: 7 är en faktor i 42 eller 7 delar 42 Vi skriver: 7 42 Definition 1 Om a, b

Läs mer

Grundkurs i programmering - intro

Grundkurs i programmering - intro Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

Läs mer

Programmering, grundkurs

Programmering, grundkurs DNR LIU-2018-02499 1(5) Programmering, grundkurs Programkurs 8 hp Introduction to Computer Programming TDDE44 Gäller från: 2019 VT Fastställd av Programnämnden för elektroteknik, fysik och matematik, EF

Läs mer

BERÄKNINGSKONSTENS HISTORIA - Från kulram till dator

BERÄKNINGSKONSTENS HISTORIA - Från kulram till dator BERÄKNINGSKONSTENS HISTORIA - Från kulram till dator 3000 f.kr - 1981 Gunnar Holmdahl Några av de första uppfinningarna Noll uppfanns (1900 f.kr) MDCCXI dividerat med LIX = XXIX? 1711 / 59 = 29 I det sumeriska

Läs mer

Datorprogram, algoritmer och Turing-maskiner

Datorprogram, algoritmer och Turing-maskiner Datorprogram, algoritmer och Turing-maskiner Uppsala universitet Turing-året 2012 Inledning Det är bekvämt om en maskin, till exempel en dator, kan utföra en uppgift, särskilt om den kan göra det avsevärt

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo, 729G74 IT och programmering, grundkurs Tema 1, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kommande moment Vad är ett program? Vad händer när man kör ett program? Programmeringsspråk Python

Läs mer

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Mats Boij 28 oktober 2001 1 Heltalen Det första kapitlet handlar om heltalen och deras aritmetik, dvs deras egenskaper som

Läs mer

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017 Lambdas (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017 Funktioner En funktion (i programmeringstermer) är en operation som tar ett eller flera argument,

Läs mer

Datorhistoria Introduktion till PBL

Datorhistoria Introduktion till PBL Datorhistoria Erfarenheter Inlärningsmål Ämne: Datorhistorik Första datorn? Eniac 1946? Definiera dator Internationellt? Svenskt? Dator = räknehjälpmedel? Mer räknehjälpmedel Abacus (kulram) c:a 3000 fkr

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

Läs mer

Spelschema för årets fotbollsmästerskap! island tyskland Söndag 14/7 Växjö Arena, Växjö. Söndag 14/7 Kalmar Arena, Kalmar

Spelschema för årets fotbollsmästerskap! island tyskland Söndag 14/7 Växjö Arena, Växjö. Söndag 14/7 Kalmar Arena, Kalmar ! Onsdagen 10/7 Onsdagen 10/7 Torsdag 11/7 Torsdag 11/7, Fredag 12/7 Fredag 12/7 Lördag 13/7 Lördag 13/7 Söndag 14/7 Söndag 14/7 Måndag 15/7 Måndag 15/7 Tisdag 16/7 Tisdag 16/7 Onsdag 17/7 Onsdag 17/7

Läs mer

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik IT OCH PROGRAMMERING I SKOLAN Jan Erik Moström Peter Vinnervik VILKA ÄR VI OCH VAD KOMMER VI ATT PRATA OM? Jan Erik Moström - undervisar på institutionen för datavetenskap Peter Vinnervik - doktorand vid

Läs mer

Perspektiv på programmering, #13, Karlstad HISTORISKT OCH UNDERVISNING

Perspektiv på programmering, #13, Karlstad HISTORISKT OCH UNDERVISNING Perspektiv på programmering, #13, Karlstad HISTORISKT OCH UNDERVISNING Varför ett historiskt perspektiv? Teknologi & Makt!? Bilder fr Wikipedia Maskin eller Människa Maskinen är överlägsen Human computers

Läs mer

Programschema för Datavetenskapliga programmet, 180 hp. Gäller för läsåret 2018/2019. Programschema för 2018/2019.

Programschema för Datavetenskapliga programmet, 180 hp. Gäller för läsåret 2018/2019. Programschema för 2018/2019. Programschema för liga programmet, 180 hp Programkod: Gäller för läsåret 2018/2019 Om programschemat Varje utbildningsprogram har en fastställd utbildningsplan där det bl.a. framgår alla i programmet ingående

Läs mer

Datastrukturer och algoritmer

Datastrukturer och algoritmer Innehåll Föreläsning 5 Algoritmer Experimentell komplexitetsanalys Kapitel 2.1-2.2, Kapitel 12.1-12.4 Algoritmer Algoritm Definition: Algoritm är en noggrann plan, en metod för att stegvis utföra något

Läs mer

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 FÖRELÄSNING 1 TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Introduktion till kursen Schemespråkets grunder Enkla exempel Jalal Maleki Institutionen för datavetenskap Linköpings universitet

Läs mer

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor på boken Lunell: Datalogi-begreppen och tekniken Obs! Andra frågor än dessa kan komma på tentan! 1. Konvertera talet 186 till

Läs mer

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Hej, jag heter Ingela Johansson och hälsar dig välkommen till kursen Programutveckling med Java. Den är på 7.5

Läs mer

MicroPython Ett textbaserad programmeringsspråk för Micro:bit

MicroPython Ett textbaserad programmeringsspråk för Micro:bit MicroPython Ett textbaserad programmeringsspråk för Micro:bit Introduktion till informationsteknologi 1DT051 2018-09-24 karl.marklund@it.uu.se Uppsala universitet Programming, problemlösning och algoritmer

Läs mer

Perspektiv på programmering Arlanda 22 feb

Perspektiv på programmering Arlanda 22 feb Perspektiv på programmering Arlanda 22 feb HISTORISKT OCH UNDERVISNING Varför ett historiskt perspektiv? Teknologi & Makt!? Bilder fr Wikipedia Samhällets relation till maskiner We're charging our battery

Läs mer

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall COMPUTABILITY BERÄKNINGSBARHET Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall Den centrala frågan: givet ett problem, kan det ha en algoritmisk lösning?

Läs mer

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står skrivna: Oändligt

Läs mer

Rebecka Geijer Michaeli, IDA, Linköpings universitet. 1 Administrativ information Upplägg... 2

Rebecka Geijer Michaeli, IDA, Linköpings universitet. 1 Administrativ information Upplägg... 2 Föreläsning 1 Introduktion TDDC91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 29 augusti 2016 Rebecka Geijer Michaeli, IDA, Linköpings universitet 1.1 Innehåll Innehåll 1 Administrativ

Läs mer

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram Programmeringsteknisk översiktskurs för yrkeshögskoleprogram Föreläsning 1 Våren 2005 Introduktion till kursen En dators delar Vad är ett program? Innehåll Hur fungerar ett program när det körs Programvaruutvecklingens

Läs mer

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15-13:15

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15-13:15 OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 170331 kl. 08:15-13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilagarna. *** OBS ***

Läs mer

GRUNDKURS I C-PROGRAMMERING

GRUNDKURS I C-PROGRAMMERING SAMMANSTÄLLNING 1 (9) Inst för informationsteknologi GRUNDKURS I C-PROGRAMMERING del av 1TD442 ALGORITMER OCH DATASTRUKTURER DV1/ 1IT022 PROGRAMKONSTRUKTION II Period 3, 2006 DV/IT Sammanfattning: Vad

Läs mer

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Göteborgs Universitet och Chalmers Tekniska Högskola 19 januari 2005 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen

Läs mer

Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM

Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg II Del 1: Om programmering Aktiviteter Del 1 Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM Ni

Läs mer

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner

Läs mer

Välkomna till Numme och MATLAB, 9 hp, för Materialdesign och Energi&Miljö, årskurs 2

Välkomna till Numme och MATLAB, 9 hp, för Materialdesign och Energi&Miljö, årskurs 2 Välkomna till Numme och MATLAB, 9 hp, för Materialdesign och Energi&Miljö, årskurs 2 Kursen avses ge dig kunskap om numeriska metoder, hur man kan använda dessa genom elementär programmering i MATLAB samt

Läs mer

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH Objektorienterad modellering och diskreta strukturer 13. Problem Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik och härledning predikatlogik och substitution mängder

Läs mer

Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens

Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens Utvidgat regionalt lärarnätverk Stiftelsen Norrbottens Läns Arbetsstugor Lärarnätverket i samtliga Norrbottens kommuner Likvärdighet

Läs mer

Programmering från början

Programmering från början Färdiga lektioner till de nya digitala kunskapsmålen för årskurs 1 till 6 Lektionsserien består av följande lektioner: 1. Programmera någon att bre en smörgås 2. Lapp-programmering 3. Programmera kompisar

Läs mer

1642 uppfann Blaise Pascal världens första mekaniska räknemaskin. Den kunde både addera och subtrahera. Den kan ses som en föregångare till datorn.

1642 uppfann Blaise Pascal världens första mekaniska räknemaskin. Den kunde både addera och subtrahera. Den kan ses som en föregångare till datorn. Datorns utveckling 1642 uppfann Blaise Pascal världens första mekaniska räknemaskin. Den kunde både addera och subtrahera. Den kan ses som en föregångare till datorn. Tre decennier senare konstruerade

Läs mer

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer

FÖRELÄSNING 1 PERSONAL TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 SYFTE EXAMINATION ORGANISATION

FÖRELÄSNING 1 PERSONAL TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 SYFTE EXAMINATION ORGANISATION TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Jalal Maleki Institutionen för datavetenskap Linköpings universitet jalal.maleki@liu.se FÖRELÄSNING 1 Introduktion till kursen Schemespråkets grunder

Läs mer

Datalogi som vetenskap

Datalogi som vetenskap Datalogi som vetenskap Är datalogi vetenskap? Varför skulle datalogi inte vara det? Skäl för att datalogi är vetenskap: Det ges akademiska kurser i ämnet. Det publiceras forskningsartiklar i ämnet. Det

Läs mer

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15 OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 140818 kl. 08:15 13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna. Betygsgräns: *** OBS *** Kurs:

Läs mer

Programmering från början

Programmering från början Färdiga lektioner till de nya digitala kunskapsmålen för årskurs 1 till 6 Lektionsserien består av följande lektioner: 1. Programmera någon att bre en smörgås 2. Lapp-programmering 3. Programmera kompisar

Läs mer

Introduktionsmöte Innehåll

Introduktionsmöte Innehåll Introduktionsmöte Innehåll Introduktion till kursen Kursens mål och innehåll Undervisning Datavetenskap (LTH) Introduktionsmöte ST 2019 1 / 14 EDAA01 Programmeringsteknik - fördjupningskurs Ingen sommarkurs

Läs mer

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Föreläsning 9: Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står

Läs mer

EXTRA UPPGIFTER I C++ PROGRAMMERING-A

EXTRA UPPGIFTER I C++ PROGRAMMERING-A EXTRA UPPGIFTER I C++ PROGRAMMERING-A Uppgifterna är ej sorterade efter svårighetsgrad 1. Gör ett program som kan beräkna arean och omkretsen av en cirkel om användaren (du) matar in cirkelns radie. Skapa

Läs mer

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T Algoritmer och datastrukturer H I 1 0 2 9 HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T Föreläsning 1 Inledande om algoritmer Rekursion Stacken vid rekursion Rekursion iteration Möjliga vägar

Läs mer

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen Faktorisering med hjälp av kvantberäkningar Lars Engebretsen 003-11-18 Bakgrund Vanliga datorer styrs av klassiska fysikens lagar. Vanliga datorer kan simuleras av turingmaskiner i polynomisk tid. Kanske

Läs mer

SAMMANSTÄLLNING 1 (13) Datum för sammanställningen Period 3, 2007

SAMMANSTÄLLNING 1 (13) Datum för sammanställningen Period 3, 2007 SAMMANSTÄLLNING 1 (13) GRUNDKURS I C-PROGRAMMERING DEL AV (1TD442) ALGORITMER OCH DATASTRUKTURER (DV1) (1IT022) PROGRAMKONSTRUKTION II (IT) Period 3, 2007 Sammanfattning: Bra kurs, bra lärare och bra labbar.

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar

Läs mer

Jacquards vävstol, 1801

Jacquards vävstol, 1801 Datorteknik Föreläsning 7 Historia och framtid Jacquards vävstol, 1801 1 Charles Babbage Difference Engine, 1822 Konrad Zuse, Z1, 1936 2 ENIAC, 1943 ENIAC Senare har yrket som programmerare blivit populärt

Läs mer

Datorteknik. Föreläsning 7 Historia och framtid. Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 7 Historia och framtid. Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 7 Historia och framtid Jacquards vävstol, 1801 Charles Babbage Difference Engine, 1822 Konrad Zuse, Z1, 1936 ENIAC, 1943 ENIAC Senare har yrket som programmerare blivit populärt

Läs mer

Allmänna frågor om kursen: Kursutvärderare: IT-kansliet/Christina Waller. 1. Vad är ditt allmänna omdöme om kursen? Antal svar: 30 Medelvärde: 3.

Allmänna frågor om kursen: Kursutvärderare: IT-kansliet/Christina Waller. 1. Vad är ditt allmänna omdöme om kursen? Antal svar: 30 Medelvärde: 3. 1(5) Kursvärdering - sammanställning Kurs: Grundkurs i C-programmering, 2p (1TD442), 1p (1IT022) Antal reg: 103 Program: ingår i 1TD442 Algoritmer och datastrukturer DV1 6p/ Antal svar: 31 DVP: 11 svar

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

Läs mer

TDDC74 Programmering, abstraktion och modellering. Tentamen

TDDC74 Programmering, abstraktion och modellering. Tentamen AID-nummer: Datum: 2011-06-10 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Fredag 10 juni

Läs mer

MA/PROGR. www.kunda.nu/dennis VUXENUTBILDNINGEN. 2011-01-17 ÄLVKARLEBY KOMMUN Dennis Jonsson

MA/PROGR. www.kunda.nu/dennis VUXENUTBILDNINGEN. 2011-01-17 ÄLVKARLEBY KOMMUN Dennis Jonsson MA/PROGR. VT-2011 VUXENUTBILDNINGEN 2011-01-17 ÄLVKARLEBY KOMMUN Dennis Jonsson www.kunda.nu/dennis S i d a 2 INNEHÅLL INNEHÅLL... 2 KURSLITTERATUR... 3 BOKHANDEL PÅ INTERNET... 4 DENNIS... 5 SCHEMA VT-2011...

Läs mer

Programmering, dans och loopar

Programmering, dans och loopar Lektionen är en introduktion till programmering; träna loopar med analog dansprogrammering. Lektionsförfattare: Karin Nygårds Till läraren 1. En loop 2. Varför behövs loopar? En digital lektion från https://digitalalektioner.iis.se

Läs mer

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi Tekniska beräkningar stefan@it.uu.se Vad är tekn beräkningar? Finns några olika namn för ungefär samma sak Numerisk analys (NA) Klassisk NA ligger nära matematiken: sats bevis, sats bevis, mer teori Tekniska

Läs mer

CS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008)

CS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008) CS - Computer science Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008) Vad datateknik INTE är: Att studera datorer Att studera hur man skriver datorprogram Att studera hur man använder

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

TDDC74 Programmering, abstraktion och modellering. Tentamen

TDDC74 Programmering, abstraktion och modellering. Tentamen AID-nummer: Datum: 2012-01-10 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Tisdag 10 januari

Läs mer

Institutionen för datavetenskap vid Helsingfors universitet

Institutionen för datavetenskap vid Helsingfors universitet Institutionen för datavetenskap vid Helsingfors universitet PB 68 Gustaf Hällströms gata 2b Helsingfors universitet www.cs.helsinki.fi www.cs.helsinki.fi/index.sv.html Datavetenskap Datavetenskapen försöker

Läs mer

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach Föreläsning 1: Intro till kursen och Kursens hemsida http://www.it.uu.se/edu/course/homepage/prog1/esvt10 Studentportalen http://www.studentportalen.uu.se Kursmaterial Kursbok Kursprogramvara Tips: Installera

Läs mer

TDDE44 Programmering, grundkurs

TDDE44 Programmering, grundkurs TDDE44 Programmering, grundkurs Föreläsning 1 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Vad ingår i "Programmering, grundkurs"? Kursöversikt Datorer, program, programmeringsspråk Kort om nästa föreläsning

Läs mer

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner Introduktion till programmering Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner med

Läs mer

Programmering i matematik

Programmering i matematik Matematik Grundskola åk 7-9 Modul: Matematikundervisning med digitala verktyg II Del 4: Programmering i matematik Programmering i matematik Ola Helenius, NCM, Morten Misfeldt, Aalborg universitet och Lennart

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 1 Anton Grensjö grensjo@csc.kth.se 14 september 2015 Anton Grensjö ADK Övning 1 14 september 2015 1 / 22 Översikt Kursplanering F1: Introduktion, algoritmanalys

Läs mer

Digitalt lärande och programmering i klassrummet

Digitalt lärande och programmering i klassrummet Digitalt lärande och programmering i klassrummet Innehåll Vad är programmering och varför behövs det? Argument för (och emot) programmering Programmering i styrdokumenten Kort introduktion till programmering

Läs mer

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:15 19:15

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:15 19:15 OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 150609 kl. 14:15 19:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilogarna. *** OBS ***

Läs mer

Programkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem

Programkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem Programkonstruktion och datastrukturer Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem PKD 2012/13 Formell verifiering Sida 1 Uppdaterad 2008-11-28 Formell verifiering:

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

Läs mer

Föreläsning 5: Introduktion av pekare

Föreläsning 5: Introduktion av pekare Föreläsning 5: Introduktion av pekare Det bör påpekas att det som tas upp i introduktionen inte är reella exempel på kod. Man anväder inte pekare till att peka på enstaka heltal som i exemplen nedan, men

Läs mer

Introduktionsföreläsning

Introduktionsföreläsning Introduktionsföreläsning Beräkningsvetenskap DV Institutionen för Informationsteknologi, Uppsala Universitet 29 oktober, 2012 Lärare Emanuel Rubensson (föreläsningar, lektioner) Martin Tillenius (lektioner)

Läs mer

PROGRAMMERINGSMETODIK

PROGRAMMERINGSMETODIK PROGRAMMERINGSMETODIK 1 Metaforer för programmering Hierarki, modularitet, överblick Programbyggnadskunskap Utvecklingsprocessen Kategorier av programspråk Programmering som allmän konst Metaforer för

Läs mer

! Introduktion till kursen! En dators delar! Vad är ett program? " Hur fungerar ett program när det körs

! Introduktion till kursen! En dators delar! Vad är ett program?  Hur fungerar ett program när det körs Programmeringsteknisk översiktskurs för yrkeshögskoleprogram Föreläsning 1 Våren 2006! Introduktion till kursen! En dators delar! Vad är ett program? Innehåll " Hur fungerar ett program när det körs! Programvaruutvecklingens

Läs mer