TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java
|
|
- Peter Fredriksson
- för 6 år sedan
- Visningar:
Transkript
1 TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java Kursinformation
2 Examinator, kursledare: Jonas Kvarnström
3 Fråga kommentera avbryt!
4
5
6 Utan OO har vi datastrukturer för lagring, som manipuleras utifrån av funktioner -struktur Med OO har objekt både datalagring och egen funktionalitet, egna metoder Fundamental princip: Objektet bestämmer över sig själv (ingen manipulerar utifrån) Varför? Grunden för begrepp som ärvning, overriding, polymorfism, inkapsling, -objekt En klass är en datatyp, t.ex. Date, som anger: Vilken information lagras i objekt av typ Date? Vad kan objekt av den typen göra?
7
8 Objektorienterad programmering Konkret OO-språk: Java Generella begrepp: Stark typning, pekare, kontrakt, ERT MÅL (?) Kunskap och färdigheter inom programutveckling Generella färdigheter: Verktyg för utveckling Programmeringsvana!
9 Vad kommer först? Ibland föreläsning först läs + experimentera Ibland labba först sätt i ett sammanhang på föreläsningar Ofta fram och tillbaka! Lyssna Föreläsningar: Hur OO fungerar, intressanta begrepp Ramar för förståelsen, övergripande tankar och idéer Läsa Kursbok, instruktioner, material på nätet, Mer detaljer viktiga, och läses bäst i egen takt MEDEL: Hur ska ni uppnå era mål? Utföra Labbar och projekt Erfarenhet, förståelse för vad man kan och vad man behöver öva på
10
11 Föreläsningsmaterial 11 Introduktion Kursintro, Java för Python-programmerare, typning, Utan objektorientering: Ändå mycket nytt Objektorienteringens grunder Principer och begrepp: Klasser, metoder, fält, konstruktorer, Konkret användning av OO i Java Viktiga begrepp, med och utan OO Kontrakt, åtkomst och inkapsling, lagring och livstid, pekare och komposition, identitet och likhet, Hierarkier och arv Typhierarkier med gränssnitt (interface), polymorfism, statisk/dynamisk bindning, abstrakta klasser, overriding, Grafiska gränssnitt med komponenter och händelsehantering Projektinfo Att välja projekt,
12 Förutsättningar för föreläsningar 12 Föreläsningar ska alltid utgå från förkunskapskraven Vad kan ni redan? Grundläggande begrepp inom programmering Konkreta programmeringskunskaper i Python, motsvarande t.ex. kurserna Funktionell och imperativ programmering del 1 och del 2. Har du mycket erfarenhet av Java? Skumma gärna genom bilderna på förhand avgör vad som är mest intressant Men missa inte det viktiga!
13 Förutsättningar för föreläsningar (2) 13 Vad bygger (närmast) på Java/OO? OOP Begrepp Java Mer programmeringsvana! U: TDDD80 (11 hp) Mobila och sociala applikationer / Java D, U: TDDD86 (11 hp) Datastrukturer, algoritmer och programmeringsparadigm / C++
14 Föreläsningsstil 14 Två alternativ: Få föreläsningsbilder, prata fritt från kortfattade punkter (+) Känns spontant (+) Ingen går i förväg ( ) Lätt att missa vad som sägs ( ) Lätt att glömma, måste anteckna ( ) Föreläsaren kan missa detaljer Många föreläsningsbilder, skriv ner alla relevanta fakta (+) Bra att både höra och läsa (+) Bra referensmaterial senare ( ) Kan kännas som att läsa innantill, repetitivt
15 Webben 15 Intressant för ett fåtal, men inte centralt? Rena fakta tillgängliga metoder,?
16
17 Instruktioner och detaljstyrning minskar Steg 1: Era första(?) Java-program Fokus: Lär in rätt sätt, inte fel (svårt att bli av med) Steg 2: Miniprojekt Fortfarande ganska mycket vägledning, för att strukturera ett större program Steg 3: Eget projekt! Helt fria händer Använd er kunskapstörst, lär er så mycket ni kan!
18 "Varsågod, lär dig simma!" eller ska man öva handgreppen först?
19 Fokus: Lär in rätt sätt, inte fel (svårt att bli av med) Medel: Styr till bra lösningar Tutorial-form: Steg-för-steg-instruktioner Bara ett förberedelsesteg! Mindre erfarenhet effektiv metod för rätt programmeringsvanor Mer erfarenhet snabbt avklarat + kan få nya insikter / idéer Resultatet är inte kod, utan kunskap! Tänk, reflektera, förstå varför vi programmerar på ett visst sätt
20
21 Feedback! Utvecklingsmiljön (IntelliJ IDEA)!
22 Varningar för möjliga problem (600+ inspektioner ) Har kraftigt minskat antal rutinproblem som ger komplettering Fixa buggar, undvik kompletteringar, lär er direkt från varningarna!
23 Om du inte (är säker på att du) förstår varningen 1. Förklaringar från IDEA 2. Förklaringar på kurswebsidorna 3. Fråga handledaren eller examinatorn
24 Handledare på labbar Fråga! Be om feedback även när allt verkar fungera: Största problemen är de man inte vet om Låt inte handledarna vila! Utvecklingsmiljön: Analyserar koden, visar problem / möjliga förbättringar, ger inlärningsmöjligheter Inlämningar: Kompletteringar ger också en chans att lära sig Feedback! Kursdeltagare: Fritt fram att diskutera, så länge som lösningen är er egen Men ni ska bli självständiga ingenjörer! Tveka inte att fråga, men handledarna ska ge ledtrådar, inte färdiga svar.
25 Plats i labbsalar 25 Under flera tidigare år: Ofta schemalagt på kvällar för att salarna ska räcka till Många outnyttjade platser i labbsalar hemarbete, I år: Boka något färre platser (t.ex. 30 för 36 personer) Bättre schema trots fler studenter Kan bli överfullt någon enstaka gång Säg till handledaren kanske finns någon som inte hör hemma i salen Oftast finns alternativa platser Extra alternativ: Mjukvara också installerad i PC-PUL
26
27 labbar, enskilt Miniprojekt, enskilt Skriv egen projektbeskrivning (grupper om 2 rekommenderas) 3 hp Godkänt / komplettera D, kogvet: period VT1
28 Projektarbete, rapportskrivande 3 hp Godkänt / 3 / 4 / D, kogvet: period VT2 D1: Rapport Inlämning, feedback språkgranskning med mera hp Godkänt / komplettera
29 labbar, enskilt Miniprojekt, enskilt Friare projekt, men generella förslag finns Grupper om 2 rekommenderas 3 hp Godkänt / komplettera 3 hp 3 / 4 / 5 / komplettera U : Kurs över period (men mindre att göra parallellt) Ingen språkgranskning i denna kurs
30 Blockschema 30 Begränsad möjlighet för oss att välja tider
31
32 När är ett program (en inlämning) bra? När körningen ger rätt resultat"? Nej! När programkoden är tydlig, välstrukturerad och visar att ni vet vad ni gör!
33 Kvalitet (1) 33 Ser det ut så här, blir vi misstänksamma
34 Kvalitet (2) 34 Har ni kopplat så här, är det farligt
35 Kvalitet (3) 35 Ser det ut så här, undrar vi vad ni egentligen har gjort Även om ni faktiskt fick lampan att lysa
36 Exempel 36 Ett extremt exempel: Skriver ut "TIGERteam" 384 gånger
37 Orsak och verkan 37 Programmet fungerar (ger rätt utmatning, ) Jag kan programmera! Jag kan programmera! Programmet fungerar (ger rätt utmatning, ) Programmet är välskrivet, lätt att förstå, välstrukturerat, Jag förstår varför jag gör på ett visst sätt
38 Kvalitet: Fokus 38 Skriv bra kod! Lättläst Bra namngivning Strukturerad, modulär Väldokumenterad och kommenterad där det behövs mest! Extremt viktigt för: Hur programmet kan utökas i framtiden Hur andra kan förstå programmet Hur robust det är när fel uppstår Utveckling är ofta 20% av arbetet Underhåll är 80%!
39 Hur ska man skriva kod? 39 Tips: Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live. "I usually maintain my own code, so the as-if is true."
40
41 Kursutveckling 41 Nytt detta år: Mer omarbetning av föreläsningar Många avsnitt uppdaterade, förbättrade, omorganiserade Några delar borttagna tydligare kursfokus, mer tid för det viktigaste Alternativ implementation av Tetris Följ detaljinstruktionerna, eller Följ de målinriktade instruktionerna (kommer snart) Justeringar i projektkrav Tydligare bedömningsfokus (uppdateras snart) Siktar på färre kompletteringar
42 Början och slutet 42
43
44 Java för Python-programmerare Varifrån kommer Java? Varför använda det? Jämförelser: Att starta ett program, syntax, uttryck, operatorer, villkorssatser, loopar (iteration), Föreläsning Läs / skumma själv Hoppa över... Önskemål från tidigare studenter! Om det passar dig bättre! Om du vet att du kan allt!
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
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
TDDD78 / 729A85 Objektorienterad programmering och Java. Kursinformation Java: Varifrån och varför? Java för Pythonprogrammerare
TDDD78 / 729A85 Objektorienterad programmering och Java Kursinformation Java: Varifrån och varför? Java för Pythonprogrammerare jonas.kvarnstrom@liu.se 2017 Examinator, kursledare: Jonas Kvarnström Fråga
Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?
Jonas Kvarnström jonkv@ida.liu.se 2013 Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Rena OO-språk (allt är objekt) Scala, Smalltalk, Eiffel, Ruby,
Objektorienterad programmering
1(5) Objektorienterad programmering och Java Programkurs 7 hp Object Oriented Programming and Java TDDE30 Gäller från: 2018 VT Fastställd av Programnämnden för data- och medieteknik, DM Fastställandedatum
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
Att välja och planera ett projekt
Att välja och planera ett projekt TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Projektet 2 Steg 3: Utforska, skapa ett eget projekt! I projektet ska ni: Designa och implementera ett OO-program Utan
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
Före projektet TDDD78, TDDE30, 729A
Före projektet TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Var står vi nu (190207)? 2 Arbete över 2 perioder, mer utdraget I eftermiddag Sista garanterade redovisning för labb 1 Sedan: På labbtillfällen
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
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
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
Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser Hur används hierarkier för att modellera nära relaterade typer? Nu:
TDDD78, TDDE30, 729A Typhierarkier del 3 När och hur vill vi använda dem? Några Best Practices
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Typhierarkier del 3 När och hur vill vi använda dem? Några Best Practices Abstrakt klass eller gränssnitt? (1) 3 Gränssnitt Kan implementera flera Ingen
Objektorienterad programmering
Objektorienterad programmering Aletta Nylén http://user.it.uu.se/~aletta Epost: aletta.nylen@it.uu.se Rum: 1216 Kursinfo Lärare: Aletta Nylén Jesper Wilhelmsson Litteratur: Object-Oriented Software Development
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
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
Objektorientering: Lagring och livstid
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Objektorientering: Lagring och livstid Tre sorters variabler Tre sorters variabel (1): Lokal 2 Lokal variabel Deklareras inuti en metod Vid varje anrop
Objektorientering: Lagring, räckvidd och livstid
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Objektorientering: Lagring, räckvidd och livstid Tre sorters variabler, två sorters metoder Räckvidd och livstid 2 Variabler (lokala och medlemsvariabler)
TDDD92 Artificiell intelligens -- projekt
jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Kursinformation Outline Om oss Om kursen i allmänhet Om den individuella uppgiften Om det gemensamma projektet Diskussion och frågor
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
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.
Föreläsning 1: Introduktion till kursen
(18 januari 2015 F1.1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna, Carl, Johan, Tom och ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer Kursmaterial
TDDD78, TDDE30, 729A Typhierarkier del 2 Vad krävs? Hur fungerar det?
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Typhierarkier del 2 Vad krävs? Hur fungerar det? Hur får en subtyp fungera egentligen? Krav på hierarkier 1 3 Får subtypen LinkedList sakna metoder från
Poäng. Start v. Applikationsprogramm ering i Python 7.5. Antal registrerade (män/kvinnor) 50 (34/16)
TEK/NAT Kursrapport Kurs Kurskod Poäng År Start v. Applikationsprogramm ering i Python 5DA 7.5 215 13 Institution Institutionen för datavetenskap Antal registrerade (män/kvinnor) 5 (34/16) Antal aktiva
Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se
Föreläsning 1: Introduktion till kursen
(17 januari 2017 F1 1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna Eckerdal och Tom Smedsaas samt ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer
Föreläsning 1: Introduktion till kursen
(16 januari 2016 F1.1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna Eckerdal och Tom Smedsaas samt ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer
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
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
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
Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)
Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar
Kursplanering Objektorienterad programmering
Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund
Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg
Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2017-09-21 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt
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
Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.
Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2015-09-24 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt
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
TDDD78 Objektorientering: Lagring och livstid
jonas.kvarnstrom@liu.se 2017 TDDD78 Objektorientering: Lagring och livstid Tre sorters variabel (1): Lokal 3 Deklareras i en metod Lokal variabel Varje anrop får sin egen "kopia": Två anrop till foo()
Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo
Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till
Objektorienterad programmering. Grundläggande begrepp
Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller
EDAA01 Programmeringsteknik - fördjupningskurs
EDAA01 Programmeringsteknik - fördjupningskurs Läsperiod lp 1+2 (Ges även lp 3) 7.5 hp anna.axelsson@cs.lth.se sandra.nilsson@cs.lth.se http://cs.lth.se/edaa01ht Förkunskapskrav: Godkänd på obligatoriska
Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt 2006. Kursprogram
Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt 2006 Kursprogram Kursens mål är att ge dig kunskaper om begreppen och principerna inom objektorienterad programmering kunskaper
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
Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2014 2017 jonas.kvarnstrom@liu.se
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
Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt 2004. Kursprogram
Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt 2004 Kursprogram Kursens mål är att ge dig kunskaper om begreppen och principerna inom objektorienterad programmering och design
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
Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg
Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2018-09-27 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt
Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande:
Programmering PRR Programmering Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik,
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
Motivation. Programmeringsuppgift: En första ansats: Lagra info om anställda Håll reda på varje anställds närmaste chef. som också är en anställd!
Pekare (till objekt) Objektvariabler är pekare vad är det? (Viktiga begrepp inte bara inom objektorientering!) Hur används pekare för att sätta samman objekt (composition)? TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se
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
Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt 2005. Kursprogram
Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt 2005 Kursprogram Kursens mål är att ge dig kunskaper om begreppen och principerna inom objektorienterad programmering och design
Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15
Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15 Aktuell kursplan finns på studentwebben, http://www.kth.se/student/kurser/kurs/hi1027. Lärare och examinator Anders Lindström, anders.lindstrom@sth.kth.se,
Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.
Välkomna till DIT012 IPGO 1 Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1. Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare
Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion
Algoritmer och datastrukturer HI1029 8,0 hp Introduktion Lärandemål Efter kursen ska studenten: Ha kunskaper om de vanligaste algoritmteknikerna och datastrukturerna I viss mån kunna utvärdera algoritmers
Objektorienterad programmering och Java
Objektorienterad programmering och Java Sändlista Inger Klein Jonas Detterfelt Siv Söderlund Johan Högdahl Jonas Kvarnström Peter Dalenius Kurskod Examinator TDDC69 Jonas Kvarnström Kursen gavs Årskurs
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
TDDD78 Objektorientering i Java, del 2
TDDD78 Objektorientering i Java, del 2 Objektvariabler är pekare vad är det? Hur används pekare för att sätta samman objekt (composition)? Hur används hierarkier för att modellera nära relaterade typer?
Programmeringsteknik II
Programmeringteknik II Kursintroduktion http://www.it.uu.se/edu/course/homepage/prog2/vt18/ 2018-03-19 Programmeringsteknik II 2018-03-19 1 / 9 Lärare Carl Nettelblad (kursansvarig) Anna Eckerdal Biträdande
Hur tycker du kursen har varit? Tycker du att kursens upplägg har underlättat för dig att uppnå lärandemålen?
En sammanfattning av studenternas summativa kursvärdering AllmäntHur tycker du kursen har varit? antal Dåligt 1 7 Ganska bra 2 13 Bra 3 7 Mycket bra 6 Summa 33 Medel 2, Median 2 1 12 10 8 6 2 0 Hur tycker
TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018
Objekt-orienterad programmering och design DIT953 Niklas Broberg, 2018 Kursteamet Niklas Broberg kursansvarig, föreläsare, examinator Johannes Åman Pohjola föreläsare Assistenter: Karin Wibergh Sarosh
Föreläsning 1, vecka 6: Abstraktion genom objektorientering
TDA 548: Grundläggande Programvaruutveckling Föreläsning 1, vecka 6: Abstraktion genom objektorientering Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Hur skulle ni implementera detta? (3D demo) Vi återkommer
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,
Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Introduktion till kursen och MATLAB
Introduktion till kursen och MATLAB TNA005: Tillämpad matematik i teknik och naturvetenskap för ED1, KTS1, och MT1 vårterminen 2018 Berkant Savas Kommunikations- och transportsystem Institutionen för teknik
Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17
Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17 Bakgrund och kursmål Kursens mål är att ge kunskaper inom funktionell programmering, fördjupade kunskaper inom objektorienterad
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 14 I torsdags & fredags: arrayer Deklaration, initiering, åtkomst Arrayer är referenser Arrayer som parametrar och returvärden Exempel
Projektuppgift - Gymmet
Projektuppgift - Gymmet 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper
Kursanalys DD1312 hösten 2008
Kursanalys DD1312 hösten 2008 Författare: Vahid Mosavat Nedan följer en kursanalys av kursen programmeringsteknik och matlab för I1. Kursanalysen är framtaget av kursledarens anteckningar under kursens
Variabler, värden och typer
Variabler, värden och typer Viktigt att förstå på djupet: För programmering i många språk, t.ex. Java För kommande objektorientering! TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Fråga kommentera
Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2015 2014 jonas.kvarnstrom@liu.se
TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
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
Objektorienterad programmering, allmänt
Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara
Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?
Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet
TDDD78 / 729A85 Objektorienterad programmering och Java
jonas.kvarnstrom@liu.se 2016 TDDD78 / 729A85 Objektorienterad programmering och Java Fråga kommentera avbryt! Inblandade 5 Examinator, kursledare: Jonas Kvarnström Inblandade (2) 6 Handledare, sedan
Välkomna till kursen i grundläggande programmering DVGA08, ISGA04
Välkomna till kursen i grundläggande programmering DVGA08, ISGA04 Presentation av personal på kursen Kerstin Andersson lärare i datavetenskap Johan Öfverberg lärare i informatik Inger Bran kurssekreterare
TDDD78 / 729A85 Objektorienterad programmering och Java
jonas.kvarnstrom@liu.se 2015 TDDD78 / 729A85 Objektorienterad programmering och Java Fråga kommentera avbryt! Inblandade 5 Examinator, kursledare: Jonas Kvarnström Inblandade (2) 6 Handledare, sedan
Programming in C# and.net Framework
DNR LIU-2017-00432 1(5) Programmering i C# och.net Framework Programkurs 4 hp Programming in C# and.net Framework TDDD49 Gäller från: 2017 VT Fastställd av Programnämnden för data- och medieteknik, DM
Svar på tekfak-remissen inför 2018
Svar på tekfak-remissen inför 2018 MD-nämnden TDDC97 Programmering Föreslagit nedläggning MD: Kursen läggs ner från 2017 TDDD61 Design, strategi, management, vi förutsätter att IEI tar över kursen MD:
TDDD92 Artificiell intelligens -- projekt
jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Individuella uppgifter UPG2: Individuell skriftlig rapport 2 Vad? Läsa och förstå vetenskaplig litteratur Varför? Framtiden: Inte
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:
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
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:
Design och konstruktion av grafiska gränssnitt
Design och konstruktion av grafiska gränssnitt Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Kort kursinfo Lab info Föreläsning - Vad utmärker ett bra användargränssnitt?
Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15
DAVA15 Objekt, klasser Vad är det? Vad är sambandet mellan dem? Vad är skillnaden mellan dem? Tillstånd Signatur Kommunikation Typ Fält, parametrar och lokala variabler Likheter och skillnader Räckvidd
Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 TDDC66 Datorsystem och programmering TDDC67 Funktionell programmering Programmering i Lisp, examinator TDDC67 föreläsare i Lisp Peter Dalenius examinator TDDC66 kursassistent i Lisp + ett stort antal
Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018
Objekt-orienterad Programmering och Design TDA552 Alex Gerdes, HT-2018 Kursteamet Dr. Alex Gerdes examinator och föreläsare (Dr. Niklas Broberg föreläsare) Handledare: Sólrún Halla Einarsdóttir Yazan Ghafir
Projektuppgift - Biblioteket
Projektuppgift - Biblioteket 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper
Program & programmering
Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,
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
Välkomna till DIT012 IPGO
Välkomna till DIT012 IPGO 1 Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare Joachim von Hacht, hajo@chalmers.se, 772 1003 Handledare (se även kurssida) Alexander Sjösten, sjosten@chalmers.se
Ärvning av implementation. Ärvning av implementation, inklusive abstrakta klasser Hur ska vi ärva? När ska vi ärva?
Ärvning av implementation Ärvning av implementation, inklusive abstrakta klasser Hur ska vi ärva? När ska vi ärva? TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Implementationsarv 1: Klassnivåer
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
Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT14
Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT14 Aktuell kursplan finns på studentwebben, http://www.kth.se/student/kurser/kurs/hi1027. Lärare och examinator Anders Lindström, anders.lindstrom@sth.kth.se,
Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år
Javautvecklare 400 YH-poäng, 2 år Utbildningsfakta Kurser (12 stycken) Grundläggande programmering och javaverktyg 50 yhp Grafiskt gränssnitt och interaktion 20 yhp Internet, webb och webbramverk 40 yhp
Evaluation Summary - CT3380 Grundäggande webbdesign HT06 Dan Levin
Evaluation Summary - CT8 Grundäggande webbdesign HT6 Dan Levin Antal kursutvärderingar: Q. Anser du dig ha tillräckligt med förkunskaper för att klara kursen? (=JA =NEJ) Q. a Kurslitteratur? 6 Medel:,6
Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25
Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-0-2 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Elena Fersman besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka