Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Relevanta dokument
Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Introduktionsmöte Innehåll

EDAA01 Programmeringsteknik - fördjupningskurs

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

Programmeringsteknik II

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

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

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15

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

TDIU01 (725G67) - Programmering i C++, grundkurs

Design och konstruktion av grafiska gränssnitt

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT14

Objektorienterad programmering

Design och konstruktion av grafiska gränssnitt

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

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

Programmering för språkteknologer II, HT2011. Rum

Kursplanering Objektorienterad programmering

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT17

729G06 Föreläsning 1 Objektorienterad programmering

Introduktion till Java

Föreläsning 15: Repetition DVGA02

Java-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... }

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Föreläsning 1: Introduktion till kursen

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Kursplanering fo r HI1027, Objektorienterad programmering, P1 HT112

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Översikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Objektorienterad Programmering (TDDC77)

Laboration 1 - Grunderna för OOP i Java

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Objektorienterad analys och design

Imperativ programmering. Föreläsning 4

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Objektorienterad programmering

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17

Programmering, grundkurs

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

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

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

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

Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.

Objektorienterad Programmering (TDDC77)

OOP Objekt-orienterad programmering

HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN)

PROGRAMMERINGSTEKNIK TIN212

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018

Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion

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

Objektorienterad programmering

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor

Arv och polymorfism i Java

DD1314 Programmeringsteknik

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

TUTORIAL: KLASSER & OBJEKT

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

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

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

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

SKOLFS. beslutade den -- maj 2015.

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

Objektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Kopiering av objekt i Java

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande:

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

SMD 134 Objektorienterad programmering

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Objektorientering Klasser

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.

Tentamen. DD2385 Programutvecklingsteknik vt 2014 Måndagen den 2 juni 2014 kl Hjälpmedel: penna, suddgummi, linjal

Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.

Programmering för språkteknologer II, HT2014. Rum

Objektorienterad Programmering (TDDC77)

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Informatik med systemvetenskaplig inriktning A, 30 högskolepoäng Informatics, Basic Course, 30 Credits

SKOLFS. beslutade den XXX 2017.

Grundkurs i programmering - intro

Konstruktion av klasser med klasser

Transkript:

Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar och datastrukturer 2 Vad kursen täcker Lärare Objektorienterad programmering Centrala begrepp Designverktyg: UML Språket Java Utvecklingsmiljö NetBeans el. Eclipse Datastrukturer Examinator Rita Kovordányi, ritko@ida.liu.se Kursassistent Johan Jernlås, jojer@ida.liu.se Kursadministratör Marie Ekström, marek@ida.liu.se Algoritmer Komplexitet Programmering tillämpningar och datastrukturer 3 Programmering tillämpningar och datastrukturer 4 Kursmål Rekommenderad litteratur Färdigheter i objektorienterad programmering Kommersiella mjukvaruprojekt Testning, felsökning Java är grafikorienterat Programmering av enkla grafiska gränssnitt Grundläggande datastrukturer och algoritmer Skansholm (2005): Java direkt med Swing (5:e upplagan) ISBN: 91-44-03843-7 och/eller Koffman & Wolfgang (2005): s, abstraction, data structures and design using Java ISBN: 0-471-66151-1 Programmering tillämpningar och datastrukturer 5 Programmering tillämpningar och datastrukturer 6 1

Kursupplägg Föreläsningar varvat med labbar Labbintensiv kurs 1-2 labbtillfällen i veckan (kvartsfart) En tredjedel av tiden lärarledd Du förväntas som student att jobba 4 h på egen hand inför/efter varje föreläsning och lärarlett labbtillfälle Kursupplägg (forts) Egen inläsning av nödvändig litteratur Råd: Läs inte från pärm till pärm Läs allteftersom kunskaperna behövs Kursen går på kvartsfart Avsikt: Ge tillräckligt med tid för att bli van med Java Se dock till att hålla jämn takt Lätt att glömma vad man redan kunde, om längre uppehåll Programmering tillämpningar och datastrukturer 7 Programmering tillämpningar och datastrukturer 8 Examination Tentamen Gamla tentor: se kurshemsidan U/G/VG Tre labbar Lämna till kursassistent Klassdiagram Väl kommenterad kod Egna tankar om labben (på särskilt blad) Var beredd att svara på muntliga frågor U/G utom på labb3: U/G/VG Laboration1 Grundläggande objektorientering i Java: Klasser Instanser Polymorfism Relationer Programmering tillämpningar och datastrukturer 9 Programmering tillämpningar och datastrukturer 10 Datastrukturer och algoritmer: Laboration2 Grafikorienterat äventyrsspel Laboration3 Länkade strukturer Listor, köer Iteration Sortering Simulering av en stormarknad Värld med platser och varelser Egen spelare och fiender Mål: samla poäng, överleva Fienderna letar efter egna spelaren genom Sökningsalgoritmer Programmering tillämpningar och datastrukturer 11 Programmering tillämpningar och datastrukturer 12 2

Java Utvecklingsmiljöer J2SE 1.5 (Java 2 Standard Edition version 1.5) IDE (Integrated Development Environment): NetBeans el. Eclipse NetBeans Speciellt för Java Ren miljö Få kringbegrepp Eclipse Stöder även andra språk (bl.a. C++) Kom ihåg att ställa in Java version (1.5) Emacs eller annan texteditor Programmering tillämpningar och datastrukturer 13 Programmering tillämpningar och datastrukturer 14 Hur starta Eclipse på Unix Sätta Java-version i Eclipse > module initadd prog/jdk > module initadd prog/eclipse > source.login > eclipse & Obs! Ställ in rätt Java-version när du skapar ett nytt projekt! Programmering tillämpningar och datastrukturer 15 Programmering tillämpningar och datastrukturer 16 Kortkommandon i Eclipse Ctrl-Shift-M Importera rätt paket (markören ska stå på den klass som ska importeras) Ctrl-Shift-/ Kommentera bort dessa rader Ctrl-Shift-/ Ta bort kommentarmarkering från dessa rader Ctrl-Shift-F Indentera koden Objektorienterad programmering Programmering tillämpningar och datastrukturer 17 3

Klass: Hus, Djur, BankKonto Objekt: mitthus, annashus ludde pettersonskonto Metoder: äta kollasaldo Klasser och objekt Namnkonvention Klasser startar med versaler (stor bokstav) Ex. Objektreferenser (variabelnamn i allmänhet) startar med gemener Ex. pelle Använd versaler för att skilja åt ord Ex. mittkonto Programmering tillämpningar och datastrukturer 19 Programmering tillämpningar och datastrukturer 20 Klasshierarki Exempel Går från generella klasser i topp Till specifika klasser i botten Superklass subklass Objekt Programmering tillämpningar och datastrukturer 21 Programmering tillämpningar och datastrukturer 22 Subklasser ärver egenskaper (variabler) Ärver sätt (metoder) Exempel: Räcker med att definiera flygförmåga i klassen Fåglar Alla subklasser kommer att kunna flyga (om inget annat anges) Arv Unified Modeling Language UML Standardiserat sätt att rita upp sina klasser och visa relationer mellan klasserna I framtiden: automatisk generering av kod Programmering tillämpningar och datastrukturer 23 Programmering tillämpningar och datastrukturer 24 4

Klasshierarki i UML Arv i UML Programmering tillämpningar och datastrukturer 25 Programmering tillämpningar och datastrukturer 26 Polymorfism (overriding) Polymorfism Programmering tillämpningar och datastrukturer 27 fågel; String fågeltyp; fågeltyp = JOptionPane.showInputDialog( Which bird do you want to create, Penguin (P) or Dove (D)?"); if (fågeltyp == P ) { fågel = new (); } else { fågel = new (); } fågel.flyga();.flyga() eller.flyga() Programmering tillämpningar och datastrukturer 28 Kursinfo Klasser Arv Metoder Exempel Polymorfism Polymorfism = många former (knutna till samma namn) Flyga betyder olika saker i olika klasser Vilken metod som kommer att exekveras bestäms av vilket objekt som döljer sig bakom en variabel Finns definition i subklassen är det den som gäller Överskuggar (overrides) definitionen i superklassen Programmering tillämpningar och datastrukturer 29 5