Programmering, abstraktion och modellering PROJEKTFÖRELÄSNING ANDERS MÄRAK LEFFLER IDA/HCS

Storlek: px
Starta visningen från sidan:

Download "Programmering, abstraktion och modellering PROJEKTFÖRELÄSNING ANDERS MÄRAK LEFFLER IDA/HCS"

Transkript

1 Programmering, abstraktion och modellering PROJEKTFÖRELÄSNING ANDERS MÄRAK LEFFLER IDA/HCS

2 Idag Idag: Övrig information Vad är projektet? Hur går det till? Strukturerande (I-III) Allmänna tips LaTeX-föreläsning 2

3 Ortogonalt mot projektet ÖVRIG INFORMATION 3

4 Övrig info Direkt kursrelaterat Labb 5. Dugga 2 anmäl er! Inga oanmälda får komma in! Dagens föreläsning. Mycket material (att återvända till). Principer och riktlinjer, ej givet hugget i sten. 4

5 Översikt VAD ÄR PROJEKTET? 5

6 Vad är projektet? Ungefärlig arbetsgång: 3hp ~ 2 veckor, räkna ~80h/pers. Görs i par. Liknande nivå (jämnt arbete, diskussion). Liknande ambitioner. Betygssättning U/3/4/5 (K) 6

7 Betyg Huvuddrag Ren kodmängd premieras inte! Dö inte. Kodkvalitet. Stil, abstraktioner med mera. Koncept, utbyggbarhet. Ex: Utbyggbart litet RPG med grafiskt gränssnitt slår stor spelvärld med rätt hårdkodad värld. Gör något roligt*. 7

8 HUR GÅR DET TILL? 8

9 Hur går det till? Resursgenomgång Översikt. Plan. Resurser, specificerande. Grafik. Tommy Karlssons miniföreläsningar. 9

10 Marginellt större projekt STRUKTURERANDE I 10

11 Strukturerande Tentativa frågor Vad behöver vi beskriva? Data, datatyper. Vad för delar på hög nivå har programmet? Hur talar de med varandra? ~Hur hänger allt ihop? 11

12 Mellanspel Labb 5 och look. Ett kommandos väg. 12

13 OOP STRUKTURERANDE II 13

14 Berör många, men inte alla projekt Helt eller delvis. 14

15 OOP-repetition Objekt...har tillstånd Ex: Spelkaraktär vet sin plats, uppdateras....är isolerade. Begränsat vad de vet och påvekar. Ex: en character% vet bara vilken plats den är på. En place% vet bara vilka som är där...har gränssnitt. Hur man interagerar med dem, och vad de gör då. Ex: move-to (med flera) hos character%....bär sitt beteende. Ex: character% har sin egen move-to (inte något externt, som (settriple-left! ) 15

16 OOP Modellering bygga projekt Vad finns det för saker i världen eller i programmet? Ex: spelkaraktärer, platser, Kanske en spelomgång Ex: ett användargränssnitt (tänk adventure-ui%). Ex: Super Mario-spel: kanske poängräknaren? En?-låda? (OBS, exempel!) Vad har de för ansvar? Ex: Har character% ansvar för att informera tidigare plats om var den är? Har platsen det? 16

17 Vilka uppgifter ska lösas av olika delar? Ansvar. Se OOP-föreläsning, kompendium 17

18 Programstruktur övergripande STRUKTURERANDE III 18

19 Vilka delar har programmet? Bygga projekt på strukturnivå Vad är data och vad är logik? När och hur möts de? Ex: nuvarande schackbräde respektive regelmotor. Ex: Pacman är på (r,c) respektive det som flyttar Pacman framåt. Hur kommer presentation/visning in i det hela? Ex: Har en character% ansvar för att skriva ut saker? Något annat? Försök att inte blanda ihop detta! 19

20 (Till kodande) Filstruktur säger något om programstruktur Ha inte allt i en fil. 20

21 Filstruktur Ha en logisk filstruktur för olika delar av projektet. Ex: item.rkt för klassdefinition item%. Inget mer. character.rkt för character%. Inget mer. Ex: datatyper i graph_representation.rkt, logik i andra require/provide-paret. Säger något om beroenden. 21

22 Filstruktur Filstruktur Tumregel: det ska gå att rita ett logiskt schema över require-beroenden, utan cykler. Ex: item inte beroende av något. world_init behöver item-definitioner (med mera). Rita pil world_init till item. Fortsätt. Ser ut som ren filstruktur, men säger också något (litet) om separation! Gör detta kontinuerligt inte vi fixar det på slutet (kanske upptäcker man konstiga beroenden) 22

23 Specifikation SPECIFIKATION (INLÄMNING!) 23

24 Projektspecifikation Projektspec Vad gör vi? Ambitioner? Krav Nedbrytning av arbetet i mindre delar. Ungefär när (ordning)? Ex: Labb 5. Först grundläggande objekt i världen, sedan koppla ihop världen, lägga till kommandon, UI (Se exempelspec!) Översiktlig bild av struktur, datatyper 24

25 Projektspec Huvudsakliga mål Specifikation - kravlista. Hör ihop med projektval och betygsambitioner. Ändras inte när den är godkänd (utan handledare) Handledaren ser struktur på projekt, eller brist på struktur (och kan kommentera!) 25

26 Tumregler ALLMÄNNA RÅD 26

27 Versionshantera (även av tekniska skäl dålig rutin, men talande bild) 27

28 Versionshantera Rekommendation: git + Gitlab Helt frivilligt! Dela kod. Håll koll på framsteg. Kunna rulla tillbaka. Föreläsning 17/

29 Läsbarhet Din kod ska inte bara vara läsbar för kompilatorn*. Du skriver för andra programmerare. 29

30 Läsbarhet Ett par tumregler Namngivning. Är det meningsfullt i applikationen? Ex: set-neighbour-visited! vs change-flag1-cadrtrue! Hur ser det ut i funktioner som anropar? Ex: (let ([next (nearest-neighbour cur-node graph)])..) OBS! Gör lätt att felsöka logiken (troligen trasig här ovan!). Gör funktionerna vad de ska, och inget mer? 30

31 Läsbarhet+ansvar Ett par tumregler Struktur och läsbarhet: gör funktionerna vad de ska, och inget mer? Ex: nearest-neighbour ska inte ändra i grafen. Ex: update-gui ska inte flytta på Pacman, den ska uppdatera GUI. Viktig följd: funktioner som anropar ska inte räkna med sådant! nearest-neighbour tar fram närmsta, men vi vet ju att den också ändrar i variabel X, så vi använder det... Viktig följd: ni ska inte behöva ta hänsyn till det! Ändring i nearest-neighbour ska inte göra att annat plötsligt slutar fungera. Finstilt: Funktioner kan göra flera saker*, men det ska vara tydligt. Det blir det sällan här. 31

32 men vi vet ju att -test Antyder att man vill tänka efter noga innan man går vidare. 32

33 Rubber duck debugging 33

34 Testning och struktur Testa era procedurer! Tänk på ordning! Vad bygger på vad? Ordning, testbarhet. Gå att lita hyfsat på saker längre ned. Klick på ruta (r,c) gör inte vad det ska. Är det GUI:t som skickar fel data? Spelmotorn som gör fel beräkning? Brädet som inte utför uppdatering? Refaktorering (code refactoring). En funktion (eller dylikt) gör samma sak, men på annat vis. Ex: Optimera flights-from-to utan att ändra inargument eller utdata. (Eller ev sidoeffekter.)...men bli inte för låsta! Våga experimentera. 34

35 Till projektlektionen 1. Välj projekt (nu!) 2. Läs igenom exempel-specifikationen. 3. Fundera på struktur bitar av programmet på översiktlig nivå. Inget inlämningskrav där (förbered för lektionen!) 35

36 DON'T PANIC 36

37 Frågor? Attribution: - Hello Ruby by Hello Ruby is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. - git fire-bild, angiven upphovsman Ladsgroup ( ) 37

38

TDDC74: Projekttitel

TDDC74: Projekttitel TDDC74: Projekttitel Projektmedlemmar: Namn Efternamn abcde123@student.liu.se Namn Efternamn abcde123@student.liu.se Handledare: Handledarnamn handledare@liu.se eller handledare@student.liu.se 15 maj 2017

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.

Läs mer

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS 180226 Idag (ADT), OOP i Racket, labb 5 2 Allmän info Duggan. Laboration 4 deadline. Planering framöver Muddy cards (nästa timme) 3 Lite repetition ADT

Läs mer

TDDC74 Laboration 05 - Ett objektorienterat spel

TDDC74 Laboration 05 - Ett objektorienterat spel TDDC74 Laboration 05 - Ett objektorienterat spel Innehåll 1 Översikt 2 2 Värt att veta 2 3 Projekt: Äventyrsspel 3 3.1 Krav................................ 4 3.2 Story................................ 5

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Labb 1: Vad, hur, och varför?

Labb 1: Vad, hur, och varför? Labb 1: Vad, hur, och varför? jonas.kvarnstrom@liu.se 2017 "En sak i taget": Öva grunder innan det blir mer komplicerat Starkt önskemål från studenter: Prova på kontrollstrukturer Labb 1: Intro till grunder

Läs mer

TDDC74 - Projektspecifikation

TDDC74 - Projektspecifikation TDDC74 - Projektspecifikation Projektmedlemmar: Namn Efternamn abcde123@student.liu.se Namn Efternamn abcde123@student.liu.se Handledare: Handledare handledare@ida.liu.se eller handledare@student.liu.se

Läs mer

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI NG STRESS LUNDS TEKNISKA HÖGSKOLA - 2013-05-22 Projektmedlemmar: Emil Apelgren adi10eap@student.lu.se Fredrik Helander gda10fhe@student.lu.se Jonathan Klingberg

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

729G06 Programmering och logik. Info om pythondelen & introduktion till objektorienterad programmering.

729G06 Programmering och logik. Info om pythondelen & introduktion till objektorienterad programmering. 729G06 Programmering och logik Info om pythondelen & introduktion till objektorienterad programmering. Översikt Kursinformation Vad är objektorienterad programmering Skapa och använda objekt Enstaka objekt

Läs mer

TDDC74 Laboration 05 - Ett objektorienterat spel

TDDC74 Laboration 05 - Ett objektorienterat spel TDDC74 Laboration 05 - Ett objektorienterat spel 1 Översikt I den här laborationen kommer ni att bekanta er med: Promptar där användaren kan mata in kommandon. Grundläggande objektorienterad programmering.

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016 TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte ordnade i någon

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5 Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor 1 Laboration 4 - Introduktion Syfte: Öva på självständig problemlösning

Läs mer

Översikt Föreläsning 1. Trivicalc. Vad är trivicalc? En cell. Områden på skärmen. SMD168/SMD135 Fredrik Bengtsson

Översikt Föreläsning 1. Trivicalc. Vad är trivicalc? En cell. Områden på skärmen. SMD168/SMD135 Fredrik Bengtsson Översikt Trivicalc SMD168/SMD15 Fredrik Bengtsson bson@sm.luth.se Föreläsning 1 Introduktion till Trivicalc - problem Föreläsning Grafiska Användargränssnitt Föreläsning del 1 Versionshantering CVS (Johan

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18 TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis

Läs mer

Inlämningsuppgifter, EDAF30, 2015

Inlämningsuppgifter, EDAF30, 2015 LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Programmering i C++ Inlämningsuppgifter, EDAF30, 2015 Det finns två deluppgifter som båda ska lösas: 1. skriv ett program för att hantera bankkonton

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

Läs mer

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java jonas.kvarnstrom@liu.se 2019 TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java Kursinformation Examinator, kursledare: Jonas Kvarnström Fråga kommentera avbryt! Utan OO har vi datastrukturer

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning

Läs mer

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer Innehåll Datastrukturer och algoritmer Föreläsning 1! Introduktion och begrepp Kurspresentation! - Målsättning! - Kursutvärdering! - Upplägg! - Översikt! Viktiga begrepp "1 "2 Mina målsättningar Alla ska

Läs mer

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Vad gör vi här? Programmeringsteknik fördjupningskurs (EDAA01; 7,5hp) Valfri för F, N & BME (kan läsas från åk 2 eller i sommar!) Avancerad

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

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

Projektspecifikation

Projektspecifikation TDDC74 Programmering, abstraktion och modellering Projektspecifikation Äventyrsspel Riket 2014-03-22 Projektmedlemmar: Ron Gilbert Donald Knuth Handledare:

Läs mer

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18 TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.

Läs mer

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java jonas.kvarnstrom@liu.se 2018 TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java Kursinformation Examinator, kursledare: Jonas Kvarnström Fråga kommentera avbryt! Utan OO har vi datastrukturer

Läs mer

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18 Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 18 Igår: Genomgång av dugga Rekursion Idag och på måndag: Om essän Lite, lite teori om konstanter Grafiska användargränssnitt Grundläggande

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015 TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd

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

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första

Läs mer

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18 TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Klass-diagram Exempel Arv i Python Egna klasser använd som egna datatyper, men även

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 207-04-06, kl 4-6 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.

Läs mer

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA Välkommen till Datastrukturer, algoritmer och programkonstruktion eller DOA Jag: Christer Labbassar: Caroline: Johan: Agenda, före lunch Inledning om DOA-kursen Backspegel Mål Syfte Examination Om lärande

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datortenta

TDDC74 Programmering: Abstraktion och modellering Datortenta TDDC74 Programmering: Abstraktion och modellering Datortenta - 2017-08-26 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.

Läs mer

Imperativ programmering. Föreläsning 4

Imperativ programmering. Föreläsning 4 Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering

Läs mer

TDDC74 Programmering, abstraktion och modellering. Tentamen

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

Läs mer

Programmeringsteknik I

Programmeringsteknik I Programmeringsteknik I HT18 Lärare: Johan Öfverstedt (johan.ofverstedt@it.uu.se, rum 2144) och ett stort antal labbhandledare Föreläsning 1: Intro till kursen Registrering och avregistrering Undervisningsformer:

Läs mer

TDDD78 Att välja och planera ett projekt

TDDD78 Att välja och planera ett projekt jonas.kvarnstrom@liu.se 2016 TDDD78 Att välja och planera ett projekt Steg 1: Grunder, labbmiljö, era första Java-program Vecka 3 Vecka 4 Vecka 5 Vecka 6 4 labbar, enskilt Steg 2: Fortsättning, miniprojekt

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

Läs mer

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: 870408-6654. Skola: DSV

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: 870408-6654. Skola: DSV Gesäll provet Internetprogrammering I Författare: Henrik Fridström Personnummer: 870408-6654 Skola: DSV Val av uppgift: En e-mail applikation med kryptering Bakgrund: Som sista uppgift i kursen Internetprogrammering

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, kl 8 10, 5 mars 2015

TDDC74 Programmering: Abstraktion och modellering Dugga 2, kl 8 10, 5 mars 2015 TDDC74 Programmering: Abstraktion och modellering Dugga 2, kl 8 10, 5 mars 2015 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd

Läs mer

EdBuild - EdRoboClaw

EdBuild - EdRoboClaw EdBuild - EdRoboClaw Bygga och programmera en robotarm Svårighet: The EdRoboClaw EdBuild by Microbric Education is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Översatt

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, Tid: kl 08-10, Datum:

TDDC74 Programmering: Abstraktion och modellering Dugga 2, Tid: kl 08-10, Datum: TDDC74 Programmering: Abstraktion och modellering Dugga 2, Tid: kl 08-10, Skriv tydligt så att inte dina lösningar missförstås. Använd väl valda namn på parametrar och indentera din kod. Även om det i

Läs mer

TDDD78 Att välja och planera ett projekt

TDDD78 Att välja och planera ett projekt jonas.kvarnstrom@liu.se 2017 TDDD78 Att välja och planera ett projekt Steg 1: Grunder, labbmiljö, era första Java-program Vecka 3 Vecka 4 Vecka 5 Vecka 6 4 labbar, enskilt Steg 2: Fortsättning, miniprojekt

Läs mer

Arv och polymorfism i Java

Arv och polymorfism i Java 1 (5) Arv och polymorfism i Java Objektorienterad programmering 5 Syfte Att ge en introduktion till arvsmekanismen i Java. Mål Efter övningen skall du kunna definiera klasser med arv i Java. förstå hur

Läs mer

729G06 Föreläsning 1 Objektorienterad programmering

729G06 Föreläsning 1 Objektorienterad programmering Översikt Formalia Vad är objektorienterad programmering 729G06 Föreläsning 1 Objektorienterad programmering Definieria klasser Skapa och använda objekt Annika Silvervarg Ciltab, IDA, Linköpings universitet

Läs mer

Kursutvärdering/1MD222 Konstruktion av användargränssnitt II Datum för sammanställning:

Kursutvärdering/1MD222 Konstruktion av användargränssnitt II Datum för sammanställning: 1(6) Kursvärdering - sammanställning Kurs: 1MD222 Konstruktion av användargränssnitt II 3p Antal reg: 27 Program: Frist, Period: Period 4 V05 Antal svar: 21 IT, DVP Lärare: Erik Borälv, Johan Wikström

Läs mer

SKOLFS. beslutade den -- maj 2015.

SKOLFS. beslutade den -- maj 2015. SKOLFS Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj

Läs mer

TUTORIAL: SAMLING & KONSOLL

TUTORIAL: SAMLING & KONSOLL TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även

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

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 2017-04-06, kl 17-19 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i

Läs mer

EdBuild. Bygga stridsvagnen EdTank

EdBuild. Bygga stridsvagnen EdTank EdBuild Bygga stridsvagnen EdTank Svårighet: Svårighet: The EdTank EdBuild by Microbric Education is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Översatt av Alega

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java jonas.kvarnstrom@liu.se 2017 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Till stor del ersatt av Swing: Mer omfattande,

Läs mer

Programmering eller Datalogiskt tänkande

Programmering eller Datalogiskt tänkande Programmering eller Datalogiskt tänkande I förskolan handlar programmering om att få en begynnande förståelse vad det kan innebära. Barnen ges ett kreativt utrymme och har möjlighet att forma sin egen

Läs mer

Design och konstruktion av grafiska gränssnitt

Design och konstruktion av grafiska gränssnitt Design och konstruktion av grafiska gränssnitt Armin Nezirevic Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Vad utmärker ett bra användargränssnitt? Kort kursinfo

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

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

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. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

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

Universe Engine Rapport

Universe Engine Rapport 1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten

Läs mer

TDDD78 Att välja och genomföra ett projekt

TDDD78 Att välja och genomföra ett projekt jonas.kvarnstrom@liu.se 2015 TDDD78 Att välja och genomföra ett projekt Steg 1: Grunder, labbmiljö, era första Java-program Vecka 4 Vecka 5 Vecka 6 3 labbar, enskilt Steg 2: Fortsättning, större labb Vecka

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18 TDDC74 Programmering: Abstraktion och modellering Datortenta - 2018-06-07, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis

Läs mer

Våra enkla funktioner eller procedurer

Våra enkla funktioner eller procedurer Föreläsning 3 Våra enkla funktioner eller procedurer Programmönster 1. Repetition 2. Högre-ordningens procedurer/programmönster - Procedurer som argument - Procedurer som returnerade värden 3. Scope och

Läs mer

Hur mycket lutar vägen?

Hur mycket lutar vägen? Hur mycket lutar vägen? Denna övning är inspirerad av Anders, ingenjör på Tekniska kontoret i Lilla Edet. Vi har precis hämtat hem avfallshanteringen i kommunen i egen regi, efter att detta legat på entreprenad

Läs mer

Brädspelet Mulan. Håkan Berggren, Magnus Ellisson, Lars Kristiansson, Cheng-Huei Kuo, Eva Ljunggren, Joakim Viker. Göteborg 1999.

Brädspelet Mulan. Håkan Berggren, Magnus Ellisson, Lars Kristiansson, Cheng-Huei Kuo, Eva Ljunggren, Joakim Viker. Göteborg 1999. Brädspelet Mulan Håkan Berggren, Magnus Ellisson, Lars Kristiansson, Cheng-Huei Kuo, Eva Ljunggren, Joakim Viker Göteborg 1999 June 8, 2001 1 Innehåll: 1. Inledning 2. Projektbeskrivning 3. Programflöde

Läs mer

Dagens föreläsning (F15)

Dagens föreläsning (F15) Dagens föreläsning (F15) Problemlösning med datorer Carl-Mikael Zetterling bellman@kth.se KP2+EKM http://www.ict.kth.se/courses/2b1116/ 1 Innehåll Programmering i Matlab kap 5 EKM Mer om labben bla Deluppgift

Läs mer

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:

Läs mer

EdBuild. Bygga kranen EdCrane

EdBuild. Bygga kranen EdCrane EdBuild Bygga kranen EdCrane Svårighet: The EdCrane EdBuild by Microbric Education is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. EdBuild the EdCrane EdCrane är

Läs mer

Introduktion till programmering med hjälp av Lego Mindstorm

Introduktion till programmering med hjälp av Lego Mindstorm Kungliga Tekniska Högskolan Introduktion till programmering med hjälp av Lego Mindstorm Laborationsrapport gällande programmering inom NXC Simon Jansson 31 08 2014 simonjan@kth.se Introduktionskurs i datateknik

Läs mer

Föreläsning 4: Poster

Föreläsning 4: Poster Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra

Läs mer

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Problemlösning. Planering av program. Konstruktion. Programmeringsmetaforer. Problemlösning. Programmering = Problemlösning

Problemlösning. Planering av program. Konstruktion. Programmeringsmetaforer. Problemlösning. Programmering = Problemlösning Problemlösning Problemlösning Vad är problemlösning Hur ser ett problem ut? Programmering = Problemlösning Omformulering av ett problem kan i slutändan omsättas i ett program. Ett program består av en,

Läs mer

Mer om språk och Ruby

Mer om språk och Ruby Mer om språk och Ruby TDP007 Konstruktion av datorspråk Föreläsning 2 Peter Dalenius Institutionen för datavetenskap 2014-01-21 Översikt över dagens föreläsning 1. Hur kan man bedöma ett språk? 2. Enhetstestning

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

Lektion G43 Artificiell intelligens. Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm

Lektion G43 Artificiell intelligens. Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm Lektion 1 729G43 Artificiell intelligens Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm Dagens lektion Kort om laborationsserien Introduktion till laboration 1 Live-kodning Börja arbeta med laboration

Läs mer

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN KUNGLIGA TEKNISKA HÖGSKOLAN PROGRAMMERING I NXC Namn: Michel Bitar 2012-08- 25 E- post: mbitar@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Intressant och lärorik laboration om att programmera

Läs mer

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund gussk258@student.liu.se. Marcus Widblom marwi026@student.liu.se. Senast ändrad: 13 / 05 / 08

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund gussk258@student.liu.se. Marcus Widblom marwi026@student.liu.se. Senast ändrad: 13 / 05 / 08 JavaRats Kravspecifikation Version 1.1 Gustav Skoglund gussk258@student.liu.se Marcus Widblom marwi026@student.liu.se Senast ändrad: 13 / 05 / 08 Sammanfattning Kravspecifikationen för JavaRats har skrivit

Läs mer

Programdesign. Dokumentera. Dokumentera

Programdesign. Dokumentera. Dokumentera Programdesign Dokumentera Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden

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

Industriella styrsystem, TSIU06. Föreläsning 2

Industriella styrsystem, TSIU06. Föreläsning 2 Industriella styrsystem, TSIU06 Föreläsning 2 Reglerteknik, ISY, Linköpings Universitet Sammanfattning av Föreläsning 1 2(24) Det finns en stor mängd system och processer som behöver styras. Återkopplingsprincipen:

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

Planering Programmering grundkurs HI1024 HT 2015 - data

Planering Programmering grundkurs HI1024 HT 2015 - data Planering Programmering grundkurs HI1024 HT 2015 - data Föreläsning V36 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

TDP003. Föreläsning 2. Filip Strömbäck

TDP003. Föreläsning 2. Filip Strömbäck TDP003 Föreläsning 2 Filip Strömbäck 1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg TDP003 Filip Strömbäck 2 Vad händer härnäst? V37 V38 V39 V40 Planeringsdokument

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

Läs mer

This work by. Fredrik Wendt. is licensed under a. Creative Commons

This work by. Fredrik Wendt. is licensed under a. Creative Commons Clean Code This work by Fredrik Wendt is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-nc-sa/3.0/ Coding Dojo / User

Läs mer

Mer om språk och Ruby

Mer om språk och Ruby Mer om språk och Ruby TDP007 Konstruktion av datorspråk Föreläsning 2 Peter Dalenius Institutionen för datavetenskap 2017-01-17 2 Översikt 1. Hur kan man bedöma ett språk? 2. Enhetstestning 3. Likhet i

Läs mer

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: ADAEK12h ASYST12h NGIMI12h 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

Läs mer

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016 Objekt-orienterad Programmering och Design TDA551 Alex Gerdes, HT-2016 Kursteamet Dr. Alex Gerdes kursansvarig, föreläsare Dr. Niklas Broberg examinator, (föreläsare) Fredrik Sjöholm handledare Johan Andersson

Läs mer

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

Du skall naturligtvis visa körexempel med output där det behövs i din rapport! och databprogrammering Christilinda Göstson - PL/SQL, paket och ref cursor Du skall naturligtvis visa körexempel med output där det behövs i din rapport! OBS! Denna labb redovis i labbrapport via mail

Läs mer

Programdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20

Programdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20 Programdesign Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden vid

Läs mer