Objektorienterad Programmering (TDDC77)



Relevanta dokument
Objektorienterad Programmering (TDDC77)

Outline. Objektorienterad Programmering (TDDC77) Kursinfo. Outline. Hemsida. Organization. Ahmed Rezine Examination. Webreg.

TDDC77 Objektorienterad Programmering

Objektorienterad Programmering (TDDC77)

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

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

Objektorienterad Programmering (TDDC77)

Grundkurs i programmering - intro

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

TDDC77 Objektorienterad Programmering

OOP Objekt-orienterad programmering

Föreläsning 2. Operativsystem och programmering

Introduktionskurs i datavetenskap, 3p.

Föreläsning 1: Intro till kursen och programmering

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Objektorienterad Programmering (TDDC77)

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Inledande programmering med C# (1DV402) Introduktion till C#

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

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

Föreläsning 1: Intro till kursen och programmering

Tentamen i Grundläggande programmering STS, åk

Laboration 2 Datorverktyg vid LiU

Editering, Kompilering och Exekvering av Javaprogram

Lab 1: Första labben (2p) Inledning:

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

(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

Föreläsning 1: Introduktion till kursen

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

Introduktion till programmering, hösten 2011

TDDC77 Objektorienterad Programmering

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

LABORATION 1 Pingpong och Installation av Server 2008 R2

Föreläsning 1: Introduktion till kursen

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Introduktion till datormiljön och Python

Datorsystem och programmering

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

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Välkomna! Utveckling och drift av mjukvarusystem. Webbprogrammerare. #wplnu #udmlnu.

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77)

Föreläsning 1 & 2 INTRODUKTION

Objektorienterad programmering i Java I

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Föreläsning 1: Introduktion till kursen

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Mål. Kursmoment. Laborationer i python. LAB1: Laboration 1-5 (1.5hp) LAB2: Datorprov (1.5hp) LAB3: P-del (3hp)

MATLAB-modulen Programmering i MATLAB. Höstterminen hp. Vad är MATLAB

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Föreläsning 1 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Föreläsning 1 Programmeringsteknik och C DD1316. Kurswebbsidan. Mål

Introduktion till Unix och Linux

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

Moodle på Åsö för lärare

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

Programmering för språkteknologer I, VT2012. Rum

SMD 134 Objektorienterad programmering

Laboration 1. Objektorienterad programmering, Z1. Syfte

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

Tentamen i Grundläggande programmering STS, åk 1 fredag

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

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

TDP001: Handhavande av datormiljö, 4 hp. Ola Leifler, Institutionen för datavetenskap

Objektorienterad Programmering (TDDC77)

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

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

GIT L0002B INTRODUKTION TILL PROGRAMMERING OCH C# Information inför kursstart

Programming in C# and.net Framework

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

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 i Grundläggande programmering STS, åk 1 fredag

Objektorienterad Programmering (TDDC77)

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

LABBINTRODUKTION. Laboranter: Kurs: - Sonny Johansson, Sigurd Israelsson. Utskriftsdatum:

OOP Omtenta

Välkommen till dataintroduktion. Föreläsare Stephan Kring Ansv. helpdesk & web

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Objektorienterad programmering och Java

Hur tycker du kursen har varit? Tycker du att kursens upplägg har underlättat för dig att uppnå lärandemålen?

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Student. DisCo, Mitt konto, Min sida, Studentportal, Office e-post. IT-avdelningen

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

Välkomna till DIT012 IPGO

Hur jag lärde mig att älska Datavetenskap

Föreläsning 1 & 2 INTRODUKTION

Modelling of Biological Systems

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

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

Transkript:

Objektorienterad Programmering (TDDC77) Föreläsning I: kursinfo, att programmera datorer, första programmet Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015

Outline Hemsida Organization Examination Webreg Programmering

Outline Hemsida Organization Examination Webreg Programmering

Kursinfo: introduktion I hemsida: http://www.ida.liu.se/~tddc77 I imperativ och objektorienterad programmering I föreläsningar, labbar, projekt, datorbaserat tenta, basgruppsarbete I vi kommer att använda Java genom hela höst terminen

Outline Hemsida Organization Examination Webreg Programmering

Kursinfo: organization https://www.ida.liu.se/~tddc77/material/tidsplan.ht15.pdf I 13 föreläsningar över HT1 och HT2: helt frivilliga, kommer att följa (ungefär) samma övergripande upplägg som de från 2014, fast med flera ändringar. I cirka 30 laborationstillfällen för 7 obligatoriska labbar: I själva tillfällen är ej obligatoriska, förutom för att demonstrera laborationsuppgifter och projektet I fråga om hjälp, diskutera laborationer och projektuppgiftet

Outline Hemsida Organization Examination Webreg Programmering

Kursinfo: examination Efter att ha klarat Stone: 1. Sju laborationsuppgifter (HT1 och HT2). 3hp. LAB (U, G) 2. Ett programmeringsprojekt (HT2). 2hp. UPG (U,3,4,5) 3. En datorbaserat tenta. 1hp. DAT (U,3,4,5) 4. Basgruppsarbete kring vinjetter. 2hp. BAS (U,G) I Ett godkänt på alla moment krävs för att få ett slutbetyg I I så fall, bestäms slytbetygen av UPG och DAT I Examination är alltid individuellt, I Arbetet i LAB och UPG sker i grupper av två personer.

Examination: regler I Ni får inte lämna in kopierat (även modifierat) lösningar I Varje student måste kunna visa att hon/han förstår alla detaljer i lösningen I Om någon form av fusk misstänks, är läraren skyldig att göra en anmälan till universitetets disciplinnämnd I Konsekvenserna kan bli varning eller avstängning från studierna

Outline Hemsida Organization Examination Webreg Programmering

Kursinfo: webreg I Webreg rapportering av LAB, UPG och DAT. 1. LAB: i grupper av två personer innan 2015-09-07, https://www.ida.liu.se/webreg3/tddc77-2015-1/lab 2. DAT: individuellt innan 2015-09-07. Själva tentan är planerat för den 2016-01-12 kl 14-18. https://www.ida.liu.se/webreg3/tddc77-2015-1/dat 3. UPG: i grupper av två personer innan 2015-11-07, https://www.ida.liu.se/webreg3/tddc77-2015-1/upg

Kursinfo: Problem? I Frågor som rör det vi lär oss i kursen kan ställas till mig eller till laborationsassistenterna

Kursinfo: Problem? I Frågor som rör det vi lär oss i kursen kan ställas till mig eller till laborationsassistenterna I Övriga frågor, problem, administrativa saker osv kan man diskutera med mig

Kursinfo: Problem? I Frågor som rör det vi lär oss i kursen kan ställas till mig eller till laborationsassistenterna I Övriga frågor, problem, administrativa saker osv kan man diskutera med mig I Vill man diskutera mig så kan man prata med Ola Leifler ola.leifler@liu.se som är terminsansvarig.

Datorer överallt...

En vanlig dator...

Minnet... byte B 2 0 = 1 kilobyte KB 2 10 = 1024 megabyte MB 2 20 = 1; 048; 576 gigabyte GB 2 30 = 1; 073; 741; 824 terabyte TB 2 40 = 1; 099; 511; 627; 776 petabyte PB 2 50 = 1; 125; 899; 906; 842; 624

CPU...

Hämta-avkoda-kör cykeln

Outline Hemsida Organization Examination Webreg Programmering

Logga in.. LiU kontot: I de som har aktiverat deras LiU konto: bra jobbat! använd den... I de andra: vänligen gör det så snabbt som möjligt. Använd de tillfälliga konton. OBS: alla filer raderas varje gång ni logga in.

Logga in... under windows 1. ladda ner "putty" från "http://www.putty.org " 2. öppna "putty" och koppla upp dig med "ssh och "username@remote-und.ida.liu.se (terminal 1) 3. terminal 1: skappa en katalog (mkdir...), e.g. "mina_java_program", kom in i katalogen (cd...) 4. öppna en till "putty" och koppla upp dig som i steg 2 (terminal 2) 5. terminal 2: kom in i katalogen "mina_java_program" (cd...)

Logga in... under Linux eller MacOS 1. från MacOS, öppna en terminal (terminal 1) 2. terminal 1: "ssh username@remote-und.ida.liu.se". Nu har du tillgång till ditt hemkatalog på IDA. 3. terminal 1: skappa en katalog (mkdir), e.g. "mina_java_program", kom in i katalogen (cd...) 4. från MacOS, öppna en till terminal (terminal 2) 5. terminal 2: "ssh username@remote-und.ida.liu.se" igen 6. terminal 2: kom in i katalogen "mina_java_program" (cd...)

Första programmet! under terminal 1: I kom under "mina_java_program I Skapa/öppna Hej.java i emacs: emacs Hej.java I Spara: C-x C-s I Klippa/kopiera;klistra? C-w / M-w ; C-y I Avsluta? C-x C-c /* Programmet visa hur man skriva ut */ class Hej { } // Skriv ut ett meddelande public static void main ( String [] args ){ System. out. println (" Hej på er TDDC77 : are!!!!! "); }

Kompilera och köra programmet under terminal 2: 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 I Kör med java Hej I Syntax och Semantiken Redigera programmet fel Kompilera programmet fel Köra programmet

Interpretera eller kompilera källkod

Kompilatorer och JVMer

Kompilera och köra programmet 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 I Kör med java Hej I Syntax och Semantiken Redigera programmet fel Kompilera programmet fel Köra programmet

Ge exakta instruktioner till datorn I Exempel: hur många ord finns det i programmering är kul? hur gjorde ni? I Hur många ord i cd-skivan, som ligger i laptop-väskan,är trasig!? I Datorer måste få exakta instruktioner!! Det är viktigt att förstå att en dator gör precis vad den är sagt att göra, och INGENTING ANNAT! Därför, måste datorer få exakta instruktioner!!

Exakta instruktioner I Analysera din uppgift och försök att hitta en lösning i ett språk du kan, t.ex. svenska!

Exakta instruktioner I Analysera din uppgift och försök att hitta en lösning i ett språk du kan, t.ex. svenska! I Översätt din lösning till programkod, t.ex. Java

Exakta instruktioner I Analysera din uppgift och försök att hitta en lösning i ett språk du kan, t.ex. svenska! I Översätt din lösning till programkod, t.ex. Java I Försök inte att lösa allt på en gång

Exakta instruktioner I Analysera din uppgift och försök att hitta en lösning i ett språk du kan, t.ex. svenska! I Översätt din lösning till programkod, t.ex. Java I Försök inte att lösa allt på en gång I Glöm inte att:

Exakta instruktioner I Analysera din uppgift och försök att hitta en lösning i ett språk du kan, t.ex. svenska! I Översätt din lösning till programkod, t.ex. Java I Försök inte att lösa allt på en gång I Glöm inte att: I Använda papper och penna

Exakta instruktioner I Analysera din uppgift och försök att hitta en lösning i ett språk du kan, t.ex. svenska! I Översätt din lösning till programkod, t.ex. Java I Försök inte att lösa allt på en gång I Glöm inte att: I Använda papper och penna I Prova

Exakta instruktioner I Analysera din uppgift och försök att hitta en lösning i ett språk du kan, t.ex. svenska! I Översätt din lösning till programkod, t.ex. Java I Försök inte att lösa allt på en gång I Glöm inte att: I Använda papper och penna I Prova I Ha kul!

Att programera är att bryta ner en uppgift i små steg som en dator kan göra I Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, jx y j) och skriv ut resultatet.

Att programera är att bryta ner en uppgift i små steg som en dator kan göra I Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, jx y j) och skriv ut resultatet. I Fråga användaren efter ett heltal

Att programera är att bryta ner en uppgift i små steg som en dator kan göra I Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, jx y j) och skriv ut resultatet. I Fråga användaren efter ett heltal I Läs in ett heltalet x

Att programera är att bryta ner en uppgift i små steg som en dator kan göra I Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, jx y j) och skriv ut resultatet. I Fråga användaren efter ett heltal I Läs in ett heltalet x I Fråga användaren efter ett heltal

Att programera är att bryta ner en uppgift i små steg som en dator kan göra I Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, jx y j) och skriv ut resultatet. I Fråga användaren efter ett heltal I Läs in ett heltalet x I Fråga användaren efter ett heltal I Läs in ett heltalet y

Att programera är att bryta ner en uppgift i små steg som en dator kan göra I Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, jx y j) och skriv ut resultatet. I Fråga användaren efter ett heltal I Läs in ett heltalet x I Fråga användaren efter ett heltal I Läs in ett heltalet y I Om x är storare än y, räkna upp (x y)

Att programera är att bryta ner en uppgift i små steg som en dator kan göra I Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, jx y j) och skriv ut resultatet. I Fråga användaren efter ett heltal I Läs in ett heltalet x I Fråga användaren efter ett heltal I Läs in ett heltalet y I Om x är storare än y, räkna upp (x y) I Om y är storre än x, räkna upp (y x)

Att programera är att bryta ner en uppgift i små steg som en dator kan göra I Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, jx y j) och skriv ut resultatet. I Fråga användaren efter ett heltal I Läs in ett heltalet x I Fråga användaren efter ett heltal I Läs in ett heltalet y I Om x är storare än y, räkna upp (x y) I Om y är storre än x, räkna upp (y x) I Skriv ut resultatet

Glömm inte att: I Använda papper och penna I Prova I Ha kul!