Detta är kopior på OH bilder inte föreläsningsanteckningar. Objektorienterad programvaruutveckling IT 1. When mailing to me/us
|
|
- Gustav Viklund
- för 7 år sedan
- Visningar:
Transkript
1 itop Föreläsning 1 Objektorienterad programvaruutveckling IT 1 CTH: TDA545 LP 1 Hösten 2013 Erland Holmström erland... at... chalmers.se Data & Informationsteknik Kurshemsida: Idag: Introduktion: Lärare, Hemsida, litteratur mm Kort Introduktion - What s it all about? Kurs innehåll... Läs: Kap 1 och 2 och gärna 3 Detta är kopior på OH bilder inte föreläsningsanteckningar. Det kan vara svårt att få ett sammanhang enbart utifrån dessa OH kopior. Jag trycker dem för att de som är på föreläsningen skall slippa (försöka) anteckna. Detta är alltså inte föreläsningsanteckningar utan saknar mycket av det som sägs, allt det som skrivs på tavlan och tex de färger som finns på OH bilderna. Är man på föreläsning kan man komplettera med detta själv. Jag trycker så att alla som kommer på föreläsning skall kunna få kopior. När det är slut där så är det slut men materialet finns ibland också på hemsidan. This are copies of my slides - not lecture notes. Lot s of stuff appears only on the blackboard and lots are only spoken, you may not be able to fully appreciate them without that. F1 1 F1 2 When mailing to me/us Give short answers to the following - your name, labgroup, course What's the problem! ("we have problems with our lab is not a good description, be more specific) For instance tell us! What were you trying to do?! What happend?! And Append any errors from the system (cut and paste)! Also: Append java code in a appendix if more than 10 lines or so, otherwise in text " Kurs bok: Introduction to Programming and Object Oriented Design Using Java, 3rd Edition Jaime Nino, Frederick A. Hosch ISBN: Säljs på Cremona / DC 499:- (2013) Läsanvisning finns på hemsidan Dessutom ingår allt stoff i " Föreläsningar, (övergripande teori, exempel) " Övningar (konkreta exempel i små grupper) " Labbar (självverksamhet med handledare) Och på slutet har vi en " Tentamen Bara tentamen och labbar måste göras, ingen närvaro krävs normalt. F1 3 F1 4
2 Allmänt om boken: itop Boken är lättläst och rätt välskriven om än lite pratig. I grova drag så ingår kapitlen 1-4, delar av 5 och 6, 7-11, delar av 12, 13, delar av 14, 15, 17, 18, delar av 19, supplement b, appendix i, se hemsidan för mer detaljer. Glöm inte läsa boken! Även om praktisk programmering är bästa sättet att befästa kunskaperna så måste man också läsa om allt det som inte funnit sin väg in i en övningsuppgift. Det är sådär sidor att läsa, minst 100 sidor i veckan är alltså ett bra riktmärke). Det finns en avdelning i slutet av varje kapitel med chapter summary - bra repetition. Det finns en avdelning med self-study questions - gör så många du kan. Det finns också avdelningar med exercises efter varje kapitel gör så många du hinner. Att aktivt programmera är det bästa sättet att förstå hur det hänger ihop. F1 5 Gruppindelning Gruppindelning i Datorteknik A, B, C, D, E Gruppindelning i programmering Grupp 1, Grupp 2 Grupp A, D (37st 2012) Har inte programmerat förut, bara surfat, mailat. - Har inte programmerat förut, men känner mig säker med min dator, kan fixa saker. Grupp E (24st) Någon programmering tex en kurs på gymnasiet eller pulat lite själv men det var ett tag sedan så jag har nog glömt en del. Grupp B, C (57st) Flera kurser i programmering (tex på gymnasiet) och kan det vi lärde där ganska bra. Jag är en klippa på programmeringen från gymnasiet. Kan även objektorientering ganska bra. Grupp B, C = grupp 1: övning på torsdag Grupp A, D, E = grupp 2: övning på fredag " - Hitta labkompis inom din grupp. Försök också se till att ni har liknande ambition med programmeringen ( glad om jag klarar den skall inte jobba med jag vill ha 5a F1 6! Physics Datavetenskap! Electrical Engineering! Computer Sciences! Computer Engineering - Datorteknik! Computing Science Datavetenskap! Mathematics! Philosophy Physics - Electrical Engineering Nja inte mycket på IT Computer Engineering Dig o Dat, Maskinorienterad progr. Computing Science obj or progr oop fk, graf. gränssnitt, SE, datastrukturer, oo-systemutveckling, matem modellering Mathematics diskret matte, linj.algebra, analys, statistik Philosophy???? För att få en dator att lösa ett problem så måste man kunna abstrahera, modularisera, representera verkligheten och kunna hitta algoritmer och dessa måste programmeras dvs uttryckas i ett programspråk. För att representera verkligheten använder vi primitiva typer, klasser, relationer mm. Algoritmer behöver man för att lösa problem som - att planera tjänstgöringen för flygpersonal - hur hitta sidträffar snabbt (för tex en sökmotor) Programspråket är vårt sätt att uttrycka hur vi representerar saker i datorn samt hur vi uttrycker våra algoritmer tex med hjälp av kontrollstrukturerna. Även annat behövs tex verktyg för design av stora system. F1 7 F1 8
3 Kursinnehåll! Abstraktion, modularisering, (composition) programdesign och objektorientering! Enkla algoritmer! Massor med Java syntax för! enkla datatyper, kontrollstrukturer och beräkningsabstraktion (metoder)! Klasser, objekt, arv, interface, mm! Exceptions! Grafisk användargränssnitt! mm Kursen handlar dock om mycket mer än Java syntax. Tex hur man skriver program som är " korrekta (i rimlig grad) " läsbara och enkla att underhålla (för andra) " återanvändbara " rimligt effektiva " användarvänliga " klara i tid (gäller även labbar) composition: sammansättning, beståndsdel, the process of building a system using simpler parts or components Varför läser man en kurs i Java?! allmän kunskap om programmering i ett högnivåspråk är viktigt för en tekniker.! kunskaperna är allmängiltiga, kan tex användas när man programmerar matlab, C osv, Lätt att ta åt sig ett nytt språk när man kan lite om ett.! men det är bättre att lära sig programmera i ett språk som Java! övning i problemlösning mm apropå problemlösning... Från en kursenkät: Dåligt formulerade uppgifter. Lägg ner lite mer tid på att förklara vad du vill att vi skall göra. Det skulle innebära att vi får mer tid till att koda på övning för att vi inte behöver sitta och fundera på vad vi skall göra för något. Det är normalt att man måste ägna tid till att fundera ut *vad* som skall göras. Ni må tycka illa om det men så är det. Sen måste man också fundera ut *hur* det skall göras. F1 9 F1 10 Något om Abstraktion = subtraktion? Vi kan bara tänka på EN sak åt gången! Abstraktion är ett verktyg. Abstrahera = Att införa ett begrepp Ett begrepp fångar vad som är gemensamt Bortse från eller framhäva gemensamma och viktiga egenskaper hos en samling objekt och bortse från detaljer och konkret realisation. Abstraktioner Vi abstraherar varje dag på olika nivåer: atomer organ Sam katt djur levande organism primitiv syn på världen biologisk samling atomer (katten) namn på en specifik samling organ en större klass där Sam ingår en ännu större klass de flesta detaljer utelämnade Abstraktioner hjälper oss att fokusera på de för tillfället viktiga egenskaperna. Ex skottår det är en viktig egenskap hos ett årtal men vi behöver inte veta exakt hur man avgör om ett årtal är ett skottår för att kunna använda oss av egenskapen. " Varje steg representerar olika synsätt på samma objekt - olika abstraktionsnivåer. " Vilken nivå vi väljer att använda beror på våra behov för tillfället. " Varje nivå implementeras på en lägre nivå. F1 11 F1 12
4 Abstractions Computer Scientists build abstractions to " Extract common features " Hide irrelevant details " Control complexity " Protect integrity So abstraction is used to present simple consistent model. As teachers, we do the same thing! We abstract away from the complexities of material " Present simple consistent model " Slowly add complexity " Filling in exceptional cases later F1 13 Black box - tänkande En insida och en utsida: Gränssnittet (interfacet) är det som binder samman delarna. Interfacet har såväl syntax som semantik (specifikationen) " The interface of a black box should be fairly straightforward, well defined, and easy to understand. " To use a black box, you shouldn t need to know anything about its implementation; all you need to know is its interface. " The implementor of a black box should not need to know anything about the larger systems in which the box will be used.! En black box är ett sätt att uttrycka vissa steg i ett program på en högre abstraktionsnivå.! Vi kan abstrahera - gömma detaljer.! VAD inte HUR. Separerar användning från implementation. F1 14 Metoder som Svarta boxar Metod! Underprogram! funktion! procedur sqrt medel skottår Ett sätt att uttrycka vissa steg i ett program på en högre abstraktionsnivå. Ger direkt stöd för stegvis förfining. Vi kan abstrahera - gömma detaljer. VAD inte HUR. Separerar användning från implementation. Skall göra EN sak bra F1 15 Underprogram är begränsade => vi behöver större svarta boxar: Antag tex att vi behöver representera ett datum. Här räcker inte en metod (som ju skall göra en sak bra) för vi vill kunna göra flera saker med ett datum " skottår? " addera två datum " undersöka vilken veckodag ett viss datum inträffar " fråga efter nästa datum (nästa dag) " osv Vi behöver något kraftfullare. Något som i en enhet kan representera ett datum och dessutom alla dessa egenskaper hos ett datum. Klasser/Objekt modellerar hur vi tänker om den verkliga världen genom att stödja nedbrytningen av världen till hanterbara saker. F1 16
5 Objekt som Svarta boxar Identitet: hall-lampan Tillstånd: - tänd, släkt, sönder - Effekt: (40 / 60...W?) - Fattning: (E14 eller E24 fattning) Beteende : släck, tänd, effekt?, brinntid?... tänd släck tänd? svart box för släckt? hall-lampan effekt? fattning? " Ett sätt att uttrycka vissa steg i ett program på en högre abstraktionsnivå. " Vi kan abstrahera - gömma detaljer. " VAD inte HUR. Separerar användning från implementation. " Skall göra EN sak bra F1 17 Processor = person or electronic computer that actually performs the actions Computation = the sequence of actions the processor performs to accomplish some end. The sequence of actions is usually called an algorithm. Ett objektorienterat system är strukturerat runt sina objekt dvs funktionaliteten är distribuerad till systemets objekt. F1 18 Syntax och Semantik Språkets syntax och semantik måste beskrivas exakt. formen innebörden i det hur man får skriva man skriver 10/ / September 10, /10/07 eller 10/9/07 Olika form, samma innebörd eller... Abstraktionens syntax och semantik måste beskrivas noggrant: Ett datum på formen ååååmmdd med operationerna: år, månad, dag, skottår: alla med ett datum som parameter +: med två datum som parameter (dvs addera) datum: med år, månad och dag som parameter (för konstruktion av ett datum) osv F1 19 Syntax och semantik är viktigt Ja - det är svårt att programmera även för dem som redan kan, speciellt om man inte kan syntaxen/semantiken public class Problem { public static void main -> (String[] args) { // int antal = 0; for ( int i=1; i<10; i++ ) { antal = antal++; System.out.println(antal); } // end for // } // end main } // end Problem /* Vad skrivs ut och hur skrivs det ut? */ F1 20
6 Program = Satser Ett program byggs huvudsakligen upp av deklarationer och satser Enkla satser (enkla satser avslutas med ";") " Tilldelning " Metodanrop (av void metoder) " break ("Kortslutning" av loop/switch sats) " return <uttryck> (För att avsluta underprogram eller ge resultat från funktioner) " ; (Gör ingenting!) Sammansatta satser (avslutas INTE med ";" utom do-while ) " Villkorsats (if) " Flervalsats (switch) " Iterationssatser (for, while och do-while) " Blocksats ( {satser} ) 2 goda råd: - Gör dig en ordlista Du behöver plugga glosor programspråk, syntax, semantik, Abstraktion, modularisering, composition, objektorientering, datatyper, kontrollstrukturer, metoder, procedurer, funktioner, black box, interface, gränssnitt, föreläsningsanteckningar, datavetenskap, Cremona, DC,. - Läs boken! Du behöver läsa sådär 100 sidor per vecka. Du fixar inte det på söndag kväll... Och lös många uppgifter......du måste programmera. Tänk också på att 50 timmar per vecka är mycket! F1 21 F1 22 Från tidigare kursenkäter: - «I början av kursen (första 2-3 veckorna) skippade jag SIpassen och några övningspass för att fokusera på labbarna, då jag kände att jag behärskade momenten sedan förut. Kände dock senare att jag skulle ha gått på allt, eftersom det hade varit bra repetition.» - «Jag har nog lagt ner mer tid än de flesta. Men jag tycker inte att det varit någon börda, för det är så kul» - «Jag läste för lite hemma vilket medförde att föreläsningarna i för hög utsträckning rörde material jag inte stiftat bekantskap med tidigare. Då blir det svårt att ta till sig den kunskap som delgavs. - «Latade mig istället för att gå på övningar, vilket jag inte borde ha gjort» - «programmering tycker jag man lärde sig som bäst av att testa själv» - «Jag känner nu efteråt att anledningen till att jag klarat mig så bra som jag faktiskt har är att jag lagt ned mycket tid själv, utan min partner på labbarna. Vårt samarbete har fungerat väl, men jag har ändå varit noga med att skriva 100% av all kod själv (min partner har givetvis skrivit sin egen kod också), vilket jag nu känner har varit nödvändigt för att få nog praktisk erfarenhet av programmering för att klara mig.» Nästa föreläsning:! kort om objekt och klasser! Identifierare:! En identifierare är ett namn på saker! reserverade ord, litteraler! Variabler! En variabel är en minnesplats! med namn, typ och innehåll! Primitiva typer och Klasstyper! Deklarationer av variabler, objekt och konstanter! Aritmetiska uttryck, operatorer, prioritet, typomvandling, tilldelning! kort om färdiga objekt F1 23 F1 24
Programmeringsteknik F1/TM1
f1pt Välkommen till Programmeringsteknik F1/TM1 CTH: TIN212 LP 2-3 2016/17 F1 introduktion Erland Holmström erland... at... chalmers.se Data & Informationsteknik Kurshemsida: www.cse.chalmers.se/edu/course/tin212/
Läs merFö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
Läs merFöreläsning 1: Introduktion
TDA 545: Objektorienterad programmering Föreläsning 1: Introduktion Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Vad handlar kursen om? Det här är en grundkurs i programmering. Programmering språket
Läs merMer om metoder och abstraktioner
Mer om metoder och abstraktioner Föreläsning 5 TDA540 - Objektorienterad Programmering Sammanfattning Abstraktion, top-down design Gränsnitt av en metod Parameteröverföring För- och eftervilkor (kompilera
Läs merIntroduktionsmö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 merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Läs merVad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?
Algoritmer och datastrukturer Allmänt om kursen Kort javagrund repetition - Klasser, metoder, objekt och referensvariabler, - Hierarkiska klass strukturer - Arrayer och arrayer av objekt - Collection ramverket
Läs merObjektorienterad 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
Läs merLäsanvisning: Dessa OH bilder samt kap 1-3
f1pt F 2 Läsanvisning: Dessa OH bilder samt kap 1-3! typer, variabler och tilldelning! primitiva typer, fördefinierade primitiva typer! uttryck, operatorer, prioritet, typomvandling,! Javas API, klassen
Läs merTDDC30. 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
Läs merProgrammering 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 merObjektorienterad programmering
Objektorienterad programmering Föreläsning 5: mer om metoder och abstraktioner Dr. Alex Gerdes Dr. Carlo A. Furia Hösttermin 2016 Chalmers University of Technology Några meddelande Man får inte ändra klassen
Läs merProgrammering. 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
Läs merTDDC30. 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
Läs merVad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes
Vad kännetecknar en god klass F12 Nested & En odelad, väldefinierad abstraktion Uppgiften kan beskrivas kort och tydlig Namnet är en substantiv eller adjektiv som beskriver abstraktionen på ett adekvat
Läs merProgrammering. 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
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs merHT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN)
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN) Dagens agenda Admin Tentatid och plats Tillåtet på tentan EDAF10 Föreläsning inför XL-projektet
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merObjektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs merFöreläsning 15: Repetition DVGA02
Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras
Läs merEDAA01 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
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merSI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.
SI-pass 4 Johan Brook och Jesper Persson 25 september 2012 1. Sant eller falskt? Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. Interfaces i Java kan innehålla privata
Läs merTDDC74 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 merVä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 merDesign 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 merCourse Contents. Objektorienterad programmering. Goals. Buzzwords. Course overview (1) Book. Objektorienterad programmering d2. DAT050, 16/17, lp 2 1
Objektorienterad programmering DAT050 DAI2 lp1 2016/2017 Uno Holmer Andreas Wieden Robin Åstedt Course Contents Introduction to object-oriented programming with a strong software engineering foundation
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merMer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML
Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer
Läs mer729G06 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 merObjektorienterad 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
Läs merViktiga 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
Läs merFlervariabel Analys för Civilingenjörsutbildning i datateknik
Flervariabel Analys för Civilingenjörsutbildning i datateknik Henrik Shahgholian KTH Royal Inst. of Tech. 2 / 9 Utbildningens mål Gällande matematik: Visa grundliga kunskaper i matematik. Härmed förstås
Läs merGrundlä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 merTentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Läs merDesign 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?
Läs merKungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klassen Mio ffl Särfall ffl Interface Kungl. Tekn. Högskolan
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Läs merChapter 4: Writing Classes/ Att skriva egna klasser.
Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad
Läs merProgrammering. 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
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merTDDC30. 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 merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning Generiska klasser Undantag Interface Nästlade klasser 1 Problem:
Läs merLabb 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 merPlanering 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 merPlanering Programmering grundkurs HI1024 HT TIDAA
Planering Programmering grundkurs HI1024 HT 2016 - TIDAA Föreläsning V35 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning
Läs merTDDD78, 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 mer729G75: 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 merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merPlanering Programmering grundkurs HI1024 HT 2014
Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att
Läs merKursinformation Grundkurs i programmering med Python
Hösten 2009 Två kurser i en 5DV105 - Programmeringsteknik med Python och MATLAB Programmeringsteori Föreläsningar om Python Färdighetsövning Laborationer i Python 5DV106 - Programmering i Python Praktisk
Läs mer729G75: 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 merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merTDA550 Objektorienterad programmering, fortsättningskurs. Föreläsning 1. Introduktion Variabler och typer
TDA550 Objektorienterad programmering, fortsättningskurs Föreläsning 1 Introduktion Variabler och typer Objektorienterad programmering fk 1 Föreläsning 1 Olika nivåer av programdesign Det är användbart
Läs merUnit course plan English class 8C
Hanna Rüngen Wallner Unit course plan English class 8C Spring term 2018-01-11 w.2-8 forgery safe robbery burglar crime scene Mål och syfte med arbetsområdet Utveckla sin förmåga att: - kommunicera i tal
Läs merFö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 merClasses 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 merGrundlä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
Läs merFöreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
Läs merÖ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
Läs merFö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 merAtt 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
Läs mer"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde
Föreläsning 7 "Har en"-relation Arv "Har en" "Är en" Superklassen Object Överskuggning Fordonsexempel Seminarium 2 Relevanta uppgifter Uppgift 31 I exemplet Boll från förra föreläsningen gällde följande
Läs merObjektorienterade 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
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar
Läs merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Läs merOutline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Klassen calculator Signatur Calculator
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar
Läs merKursplanering för EE3D i kursen Programmering 1, 100p.
Kursplanering för EE3D i kursen Programmering 1, 100p. Tidplan Kursstart 2013-08-22 - Kursslut 2014-06-03 Datum/Period Kursinnehåll/Moment Sidhänvisning Vecka 34 Kursintroduktion Vecka 35 Allmänt om Java,
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merLösningsförslag till omtentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-6, TDA540 Dag: 207-0-24, Tid: 4.00-.00 Uppgift a) En abstrakt klass kan inte instansieras,
Läs merGrundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp
Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Dag Wedelin, bitr professor, och K V S Prasad, docent Institutionen för data- och
Läs merRepetition av OOP- och Javabegrepp
ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merProgrammering, 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 merDVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15
DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION 120607 08:15-13: 15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition En ordbok: studentenshemspråk engelska Betygsgräns:
Läs merTDDD78 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 merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Överlagring (overloading) Arv
Läs merFöreläsning 14 Innehåll
Föreläsning 14 Innehåll Abstrakta datatyper, datastrukturer Att jämföra objekt övriga moment i kursen Om tentamen Skriftlig tentamen både programmeringsuppgifter och teoriuppgifter Hitta fel i fingerade
Läs merObjekt-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
Läs merTDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2
TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 Pelle Evensen, Daniel Wetterbro 5 november 2009 Sammanfattning Denna vecka ska vi titta på abstrakta klasser kontra interface,
Läs merObjekt-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
Läs merFöreläsning 1. Kursinformation
Föreläsning 1 Kursinformation Ansvariga Föreläsare: Övningsledare: Handledare: Kursutvärderare: Bror Bjerner (Christer Carlsson) Christopher Svanefalk Tomas Bååth Sjöblom Thomas Bååth Sjöblom Peter Holm
Läs merWriting with context. Att skriva med sammanhang
Writing with context Att skriva med sammanhang What makes a piece of writing easy and interesting to read? Discuss in pairs and write down one word (in English or Swedish) to express your opinion http://korta.nu/sust(answer
Läs merProgrammering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget
Läs merIsometries of the plane
Isometries of the plane Mikael Forsberg August 23, 2011 Abstract Här följer del av ett dokument om Tesselering som jag skrivit för en annan kurs. Denna del handlar om isometrier och innehåller bevis för
Läs merTDDD78 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 mer729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer
729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser
Läs merVä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
Läs merClasses 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 merRepetition av OOP- och Javabegrepp
ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir
Läs merFöreläsning 2, vecka 6: Tillstånd i objektorienterade program (och mera interface)
TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 6: Tillstånd i objektorienterade program (och mera interface) Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Terminologi Vad är en klass?
Läs mer