TDDD78 / 729A85 Objektorienterad programmering och Java
|
|
- Daniel Arvidsson
- för 6 år sedan
- Visningar:
Transkript
1 TDDD78 / 729A85 Objektorienterad programmering och Java
2 Fråga kommentera avbryt!
3
4
5 Inblandade 5 Examinator, kursledare: Jonas Kvarnström
6 Inblandade (2) 6 Handledare, sedan flera år Mikael Nilsson Daniel de Leng Piotr Rudol Mariusz Wzorek U-studenter D-studenter Kogvet-studenter?
7
8 Kunskaper 8 Vad kan ni redan? Grundläggande begrepp inom programmering Konkreta programmeringskunskaper i Python, motsvarande t.ex. TDDD73 Läsa!
9 Objektorienterad programmering ERA MÅL: Få kunskap och färdigheter inför framtida programutveckling
10 Utan OO har vi datastrukturer för lagring, som manipuleras utifrån av funktioner int dayssincetoday(date) boolean isleapyear(date) void add(date, days) Date-struktur year: 2021 month: 12 day: 31 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) Grunden för begrepp som ärvning, overriding, polymorfism, inkapsling, Date-objekt year: 2021 month: 12 day: 31 dayssincetoday() isleapyear() add(days) En klass är en datatyp, t.ex. Date, som anger: Vilken information lagras i objekt av typ Date? Vad kan man göra med objekt av typ Date?
11 Objektorienterad programmering Konkret OO-språk: Java Generella språkbegrepp: Stark typning, ERA MÅL: Få kunskap och färdigheter inför framtida programutveckling Generella färdigheter: Verktyg för utveckling Programmeringsbegrepp: Modularitet, Programmeringsvana!
12 D-studenter U-studenter Kogvet-studenter? Studenter, inte elever Kunskapstörstande Aktiva och proaktiva
13 Labbar och miniprojekt med instruktioner 3 hp (utökat) Godkänt / komplettering Egna tankar och reflektioner! Projekt med friare val 3 hp 3 / 4 / 5 / komplettering Föreläsningar MEDEL: Hur ska ni uppnå era mål? Kurslitteratur, info på nätet Automatisk kodinspektion för att hitta förbättringsmöjligheter Inlämning Feedback Komplettering Handledare att fråga och diskutera med
14 Föreläsningar 14 Introduktion Fö 1-2: Kursinfo, labbinfo, Java för Python-programmerare Utan objektorientering: Ändå mycket nytt Objektorienteringens grunder Principer och begrepp Konkret användning av OO i Java Grafiska gränssnitt med komponenter och händelsehantering Mer objektorientering Principer för "bra" programkod Återanvändbara designmönster Projektinfo Välja projekt, Funktionalitet i Java Sammansatta datatyper: Listor, Signalera och hantera fel Text, I/O, Bonus (nästa period) Överkurs för de som vill veta mer
15 Om föreläsningarna Föreläsningarna utgår från förkunskapskraven Ni som har programmerat i Java förut: Titta på innehållet på förhand Kan redan kanske läsa istället för att gå till föreläsningen Tillräckligt mycket nytt/osäkert: Kom hit och var beredda på att vissa avsnitt känns långsamma Övriga: Tveka aldrig att stoppa föreläsningen och fråga! 15 Bilderna innehåller mycket text Vanliga kommentarer: Bra att man kan läsa efteråt, kan förstå sammanhanget Känns ibland som att föreläsaren läser innantill
16 Blockschema 16 Ibland 8-10, 17-19
17 Steg 0: Labbanmälan Snarast: Anmälan till steg 1 i WebReg, enskilt 8 grupper (A-B-C-D-E-F-G-H), olika labbtider: D1A A, B D1B C, D D1C E, F U1 G, H Kogvet, övriga A, B, E, F
18 Steg 1: Grunder, labbmiljö, era första Java-program Vecka 3 Vecka 4 Vecka 5 Vecka 6 4 labbar, enskilt Lugnare, föreläsningstakt styr: Gör klart i tid! Steg 2: Fortsättning, miniprojekt Vecka 7 Vecka 8 Vecka 9 1 miniprojekt, enskilt Tyngre, mycket att hinna med Steg 3: Utforska, skapa ett eget projekt! Vecka 10 Vecka 14 Vecka 11 Vecka 12 Vecka 15 Vecka 16 Vecka 13 Vecka 17 Grupper om 2 rekommenderas Slut mitt i perioden: Andra kurser att fokusera på!
19 Uppföljning 19 Vad kommer sedan? OOP Begrepp Java Mer programmeringsvana! U: TDDD80 (11 hp) Mobila och sociala applikationer / Java D, U: TDDD86 (11 hp) Datastrukturer, algoritmer och programmeringsparadigm / C++ TDDB68 Processprogrammering och operativsystem / OO
20 Kursutveckling Nytt för i år: Omarbetning av föreläsningar Strömlinjeformning, mer fokus på de allra viktigaste begreppen Mer fokus på bra programmering, hur man använder det nya på bästa sätt (utgångspunkt i vanliga misstag och kompletteringar) 20 Mer tid för grundläggande labbar: 3+3 HP istället för 2+4 Önskat av studenter + oss Mer övning på vissa nya begrepp och tekniker Mer övning på bra programmering Designmönster flyttade från projekt till labbar Knepigt att genomföra själv för första gången Extra redovisningstillfällen för labbar Enbart redovisning även möjligt på vanliga labbar, men handledning prioriteras
21 Början och slutet 21
22
23 Historia: C, C talet: CPL BCPL B : C skrev om delar av Unix-kärnan 1978: K&R C "The C Programming Language" av Kernighan & Ritchie 1979: C with Classes OO-finesser från Simula (Bjarne Stroustrup) : C++ Vidareutveckling "C++": "C = C + 1" 1985: The C++ Programming Language (bok) 1989: C++ 2.0
24 Historia: Oak : Sun Microsystems påbörjade projekt StarSeven Avancerad interaktiv multikontroll : TV, video, satellit, Touchskärm, dra program i listan till en video, Trådlöst nätverk Unix-OS 24
25 Historia: Oak 2 Ville ha ett objektorienterat programmeringsspråk C++ sågs som problematiskt James Gosling utvecklade sitt eget: "C++ ++ " Omdöpt till "Oak" : Skapa spinoff-företag Bygga, programmera, demonstrera Gå i konkurs 25
26 Historia: Oak 3 Hitta en annan användning! 1994: WWW på gång Nov 1993: 500 WWW-servrar! Okt 1994: Netscape Mosaic 0.9! 26 Webben var väldigt statisk Interaktivitet? Formulär! JavaScript? Slutet av 1995 Flash? 1996 Oak passade perfekt! Portabelt, plattformsoberoende Bra stöd för nätverkskommunikation Språket döptes om till Java Många arv kvar från C++, C, till och med B (1969)
27 Varför Java? Varför Java, när det finns så många OO-språk? 27 Rena OO-språk (allt är objekt) Scala, Smalltalk, Eiffel, Ruby, JADE, Emerald, OO-språk med vissa procedurella aspekter Java, C++, C#, Python, VB.NET, Procedurella språk med OO-utökningar Fortran 2003, Perl, COBOL 2002, PHP, ABAP, Allgemeiner Berichts-Aufbereitungs- Prozessor Objektorientering kan också kombineras med andra paradigm! Haskell++ (t.ex.) är funktionellt + OO
28 Varför 2 Inte Python igen Vi behöver breda kunskaper, skilda perspektiv! 28 Lär dig åtminstone ett halvt dussin olika programmeringsspråk. Peter Norvig (2001) Teach Yourself Programming in Ten Years.
29 Varför 3 Ett av de mest använda OO-språken, i många områden Webapplikationer Viktiga delar av Googles system Android-appar (med några skillnader) 29 Javascript Java Ruby PHP Python CSS C++ C# C HTML
30 GitHub + Stack Overflow 30
31 Varför 4 Många likheter med andra vanliga språk men "enklare grunder" än många av dessa 31 Position Position Ratings Language jan-15 jan-16 jan Java % 1 2 C % 4 3 C % 5 4 C# 6.705% 8 5 Python 5.045% 6 6 PHP 3.784% 16 7 Visual Basic.NET 3.274% 7 8 Javascript 2.613% C och dess efterföljare
32 Varför 5 Många egenskaper passar bra för undervisning 32 Mindre omfattande än vissa andra språk Jämförelsevis lätt att analysera Skräpsamling, minnesskydd "C++ is designed to give the programmer choice, even if this makes it possible for the programmer to choose incorrectly" Bra utvecklingsmiljöer, avancerat stöd Svårare att göra fel, lättare att hitta fel Fungerar på många plattformar Stort klassbibliotek C# mer bundet till Windows Funktionalitet som finns överallt
33 Introduktion till Java -- för Pythonprogrammerare
34 Två sammanhängande delar Föreläsning 1-2: Allmän orientering, teoretisk kunskap En första känsla för skillnaderna Labb 1: Prova på, få praktisk erfarenhet Förstå i detalj hur språken skiljer sig
35 Många nya begrepp, allt beror på allt annat Förenkling: Börja med Java utan objektorientering, fokusera på de andra skillnaderna Ändå lite knepigt: Java förutsätter objektorientering, klasser, Kompromiss: Använd vissa nyckelord utan att riktigt förstå dem än
36
37 Skillnad i mål och "filosofi" 37 Python Enkelt att skriva små program Ska vara lätt att komma igång med Java Fokus på större program OK om det kräver lite mer att komma igång Mer fokus på prestanda (!) Har många konsekvenser!
38 Kod på toppnivån (1) 38 Python: Kod kan skrivas på "toppnivån" Java: All kod är i en klass, alla satser i en metod (funktion) print("hello World") HelloWorld.py Kod på toppnivå körs när man "kör filen" Enkel uppgift enkel kod public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); HelloWorld.java main() startas när man "kör klassen" Mer "overhead" runtomkring Märks mindre i större program! Har vissa fördelar klass = class metod = method
39 Interaktivitet (1) Python kan köras med kod sparad i en fil 39 zaza4 <23> python3 newton.py This program tries to find the square root of a number. Enter a number:
40 Interaktivitet (2) eller i interaktivt läge 40 >>> >>> 2+4* >>> print("hello world!") Hello world! >>> def greeting():... print( Nobody expects the Spanish Inquisition.")... print( Our chief weapon is surprise... and fear.")... >>> greeting() Nobody expects the Spanish Inquisition. Our chief weapon is surprise... and fear.
41 Interaktivitet (3) Java har inget interaktivt läge! Skriv alltid kod i en fil Fil: Newton.java 41 public class Newton { public static void findroot() { System.out.println("This program tries to find "); System.in.read ; double guess = x/2; for (int i = 1; i < 5; i++) { guess = (guess + x/guess) / 2; System.out.println(guess); public static void main(string[ ] args) { findroot();
42 Interaktivitet (4): Explicit kompilering Java har explicit kompilering ett extra steg 42 Vid utveckling Källkod i Java (text): Newton.java Kompilator: javac Newton.java Bytekod (binärt mellanformat): Newton.class Standardiserat, kan distribueras Vid körning Bytekod (binärt mellanformat): Newton.class Standardiserat, kan distribueras Virtuell maskin: java Newton
43 Interaktivitet (5) 43 Nära samband Ingen interaktiv prompt Explicit kompilering Ingen programkod på toppnivån
44
45 Syntaxskillnader 45 Fil: Newton.py # Vad ska vi skriva här? Fil: Newton.java // Vad ska vi skriva här? /* En lång kommentar som kan sträcka sig över flera rader */
46 Syntaxskillnader 46 Fil: Newton.py Fil: Newton.java public class Newton { All kod måste ligga i en klass Det som ingår i klassen läggs inom { (Java bryr sig inte om indentering!) Namnstandard för klasser: VarjeOrdHarStorBokstav JavaTest, ArrayList, Unicode kan använda å, Θ, π, Σ, Я, Ỡ
47 Syntaxskillnader 47 Fil: Newton.py def find_root(): Fil: Newton.java public class Newton { public static void findroot() { Just nu vill vi inte använda objekt Ändå måste metoder vara inuti klasser public vem som helst får använda static behöver inget objekt av typen Newton ("vanlig funktion, inte objektorienterad") void returnerar inget värde (procedur)
48 Syntaxskillnader 48 Fil: Newton.py def find_root(): Fil: Newton.java public class Newton { public static void findroot() { Klamrar runt metodens kod: { Namnstandard: storbokstavutomförstaordet
49 Syntaxskillnader 49 Fil: Newton.py def find_root(): print("this program tries to find.") Python-strängar: "Hello" eller 'Hello' Jämförelse: str1 == str2 Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); Java-strängar: "Hello" Jämförelse: str1.equals(str2) Apostrofer kan användas för enskilda tecken: 'H'
50 Syntaxskillnader 50 Fil: Newton.py def find_root(): print("this program tries to find.") Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); Utskrift är en metod, "println", i ett objekt, "System.out" Mer info senare! Semikolon efter satser Radbrytning räcker inte! Vi indenterar för läsbarhet Ignoreras av språket public class Newton { public static void findroot() { System.out.println("This ");
51 Syntaxskillnader 51 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; Java är mindre anpassat för "textprogram" Enklare att visa en dialogruta (kommer på labben)
52 Syntaxskillnader 52 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) guess = x/2 Va? Det kan väl datorn fatta själv? Ja, men tänk om du skriver guss nästa gång. Mer att skriva men extra säkerhetsbälte. Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; double guess = x/2; Variabler måste deklareras: "Här kommer en ny variabel" (annars säger kompilatorn att "guess finns inte") Va? Det kan väl datorn fatta själv? Delvis, men det har också nackdelar. Vi återkommer till typning nästa gång! Java har explicit typning: Ange alltid vilken typ en variabel ska ha (double = "decimaltal") deklarera = declare
53 Syntaxskillnader 53 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) guess = x/2 Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; double guess = x/2; Namnstandard: storbokstavutomförstaordet
54 Syntaxskillnader 54 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; double guess = x/2; for (int i = 0; i < 5; i++) { Heltalstyp: int Annan loopsyntax: (start; villkor; steg) Deklarera heltal i = 0 Så länge som i < 5 { Utför "kroppen" av loopen i++ (öka värdet på i)
55 Syntaxskillnader 55 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; double guess = x/2; for (int i = 0; i < 5; i++) { Loopens kropp läggs också inom klamrar { Efter klamrar: Inget semikolon
56 Syntaxskillnader 56 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess) / 2 Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; double guess = x/2; for (int i = 0; i < 5; i++) { guess = (guess + x/guess) / 2; Nu är guess redan deklarerad! Många operatorer liknar Python
57 Operatorer i Python och Java 57 Python Räknesätt: + - * / % Upphöjt till: ** Division avrundad nedåt: // Jämförelser: ==!= > < >= <= Olikhet: <> Tilldelning: = += -= *= /= %= Tilldelning: i += 1 Tilldelning: i -= 1 Bitoperatorer: & ~ << >> Java Samma Använd Math.pow(bas, exponent) Använd (int) (x / y) Samma Använd!= Samma Använd i++ Använd i-- Samma (men finns flera) Villkor: and or not Använd: &&! Förväxla inte med & eller IDEA varnar förklaring i labb 1!
58 Syntaxskillnader 58 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess) / 2 print(guess) Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; double guess = x/2; for (int i = 0; i < 5; i++) { guess = (guess + x/guess) / 2; System.out.println(guess); Utskrift igen
59 Syntaxskillnader 59 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess) / 2 print(guess) Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; double guess = x/2; for (int i = 0; i < 5; i++) { guess = (guess + x/guess) / 2; System.out.println(guess); print "Done!" System.out.println("Done!");
60 Syntaxskillnader 60 Fil: Newton.py def find_root(): print("this program tries to find.") x = eval(input("enter a number: ")) guess = x/2 for i in range(5): guess = (guess + x/guess)/2 print(guess) print "Done!" Gruppering via indentering Radbrytning avslutar sats Fil: Newton.java public class Newton { public static void findroot() { System.out.println("This "); ; double guess = x/2; for (int i = 0; i < 5; i++) { guess = (guess + x/guess) / 2; System.out.println(guess); Gruppering via måsvingar { Semikolon eller { avslutar sats System.out.println("Done!"); Indentering ändå viktigt för läsbarhet!
61 Funktioner 61 Pythons funktioner på toppnivå kan "emuleras" i Java Använd en public static-funktion Bara till vi har Fil: Newton.java hunnit läsa om objekt! public class Newton { public static int findroot() { System.out.println("This program tries to find "); System.in.read ; double guess = x/2; for (int i = 1; i < 5; i++) { guess = (guess + x/guess) / 2; return guess; Ange alltid returtyp Om inget returneras: void Returnera värde med return public static void main(string[ ] args) { System.out.println(findRoot());
62 sats = statement
63 Villkor: if 63 Python if condition: statement1 statement2... Python if condition: statement1 statement2... else: statement1 statement2... Java if (condition) { statement1 statement2... Java if (condition) { statement1 statement2... else { statement1 statement2...
64 Villkor: if (2) 64 Python if condition: statement1 statement2... elif condition2: statement1 statement2... elif condition3: statement1 statement2... Java if (condition) { statement1 statement2... else if (condition2) { statement1 statement2... else if (condition3) { statement1 statement2...
65 Test av samma uttrycks värde 65 if (x + y == 0) { System.out.println( Exakt noll"); else if (x + y == 1 x + y == 2) { System.out.println( Ett eller två"); else if (x + y == 3) { System.out.println("Exakt tre"); System.out.println( Fler satser här"); else { System.out.println( Något annat"); Här jämför vi värdet på x+y med några kända konstanter konstanter = constants
66 Satser: switch 66 switch (x + y) { case 0: System.out.println( Exakt noll"); break; case 1: case 2: System.out.println( Ett eller två"); break; case 3: System.out.println( Exakt tre"); System.out.println( Fler satser här"); break; default: System.out.println( Något annat"); Tydligt att man testar värdet på ett uttryck; skriv uttrycket (x+y) en gång Kan göras med en switch-sats! Fungerar för heltal, strängar och enum-konstanter Klar : Hoppa ur switch-satsen Flera fall (1 och 2) ger samma kod att utföra Frivilligt: Vad händer när inget av fallen passar? Kräver extra "break"
67 Satser: switch med fallthrough 67 switch (x + y) { case 0: System.out.println( Exakt noll"); break; case 1: case 2: System.out.println( Ett eller två"); case 3: System.out.println( Ett, två eller tre"); break; default: System.out.println( Något annat"); Inget break här, så vi fortsätter in i nästa fall Fallthrough kan förvirra oftast bra att skriva på annat sätt!
68 Kommande föreläsningar: Explicit typning: I Java och många andra språk Mer kursinformation och labbinformation Objektorientering
TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
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
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
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
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,
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
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
Introduktion till programmering
Introduktion till programmering TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap 2014-09-01 Översikt Vad är programmering? Kursens målsättning och organisation
Introduktion till programmering
Introduktion till programmering TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap 2013-09-02 Översikt Vad är programmering? Kursens målsättning och organisation
Mer Java 2015
Mer Java jonas.kvarnstrom@liu.se 2015 Fråga kommentera avbryt! Historia: C, C++ 1960-talet: CPL BCPL B 1969-1973: C skrev om delar av Unix-kärnan 1978: K&R C "The C Programming Language" av Kernighan
Imperativ och Funktionell Programmering i Python #TDDD73
Imperativ och Funktionell Programmering i Python #TDDD73 Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz Mål med föreläsningen Du ska bli grymt inspirerad att lära dig programmera! Du ska känna
ITK: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,
Introduktion till Python. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 3 Peter Dalenius Institutionen för datavetenskap
Introduktion till Python TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2 Status för datorintroduktionen 60 50 40 30 20 10 0 0-25% 26-50%
Imperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz,
Kommentarer 2016 Drog över lite både första och andra timmen. Spenderade för mycket tid på introduktionen tror jag. Kom till Datalogiskt tänkande första timmen. Behöver ha en genomtänkt plan för bilden
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
Objektorienterad 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
I 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
Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)
Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades
Programmering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
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 2016 2014 jonas.kvarnstrom@liu.se
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
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
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
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
Kompilering 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
Programmering 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
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Fö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
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
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! jonas.kvarnstrom@liu.se 2017 Fråga kommentera avbryt! Intro till variabler
Inledande programmering med C# (1DV402) Introduktion till C#
Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
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
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
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
SMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson
Fö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
Fö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
Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
DD1314 Programmeringsteknik
Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:
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
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:
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
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)
Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
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
Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Klassdeklaration. 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
F4. 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
Fö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
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
Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Fö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?
Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Imperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
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,
Programmering 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
DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1
Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser
Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
JAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Editering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
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
Att skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
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
1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1
Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar
Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Introduktion till programmering. Programspråk och paradigmer
Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly
Fö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
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val
732G11 Linköpings universitet 2011-01-26 1 2 3 4 Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron ==
Programmering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?
Programmeringsteknik och Matlab Övning 2 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
OOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Input/Output Programsatser Selektion Output OOP F2:2 Görs via System.out, anropa antingen print eller println: System.out.print("Hej"); System.out.println(
Omprov 11/11. på förmiddagen.
Omprov 11/11 på förmiddagen Vad kommer sedan? Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag är mätt Nej, tack Jag är full Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag
Objektorienterad Programmering DAT043. Föreläsning 1 15/1-18 Moa Johansson
Objektorienterad Programmering DAT043 Föreläsning 1 15/1-18 Moa Johansson Information Lärare: Moa Johansson Assistenter: Klara Granbom Niklas Gustafsson Elias Hällqvist Jakob Wall (lab mån) (lab fre) (lab
1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler
1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp
Anteckningar 1: Grundläggande saker
UPPSALA UNIVERSITET Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv11/pst1/ Programmering för språkteknologer I Anteckningar 1: Grundläggande saker 1 Programmering
EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Vem ä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)
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
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
Föreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Föreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program
Föreläsning 1 Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program Deitel: 1.1-1.9, 2.1-2.3 DA101A Programmering Programmering, DA101A Kursansvarig:
EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst
Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så
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
JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?
Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia
Imperativ programmering
Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk
Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1
Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer
Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
Selektion och iteration
Selektion och iteration TDDD73 Funktionell och imperativ programmering i Python Föreläsning 6 Peter Dalenius Institutionen för datavetenskap 2014-09-15 Översikt Hur utformar man villkor för framför allt
Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
TDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler
UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.
Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0
Idag. 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
Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1
Java Sida 1 av 1 Java Mål och Syfte Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva
Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.
Använd olika lager. Döp lagren! Organisera era bibliotek! Design av interaktiv multimedia Ge era symboler instansnamn för att hitta dem med AS. Nytt för denna kurs: Ingen ActionScript-kod i.fla-filen!