Objektorienterad Programmering (TDDC77)

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

Objektorienterad Programmering (TDDC77)

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)

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

TDDC77 Objektorienterad Programmering

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

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

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

Objektorienterad Programmering (TDDC77)

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

Grundkurs i programmering - intro

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

OOP Objekt-orienterad programmering

(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

Objektorienterad Programmering (TDDC77)

TDDC77 Objektorienterad Programmering

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

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

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

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

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

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

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

Objektorienterad Programmering (TDDC77)

Datorsystem och programmering

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

Laboration 1. Objektorienterad programmering, Z1. Syfte

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Editering, Kompilering och Exekvering av Javaprogram

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

Objektorienterad Programmering (TDDC77)

Introduktion till Unix och Linux

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

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

Tentamen i Grundläggande programmering STS, åk

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

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen

Föreläsning 2. Operativsystem och programmering

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

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

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

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

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

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

Introduktion till programmering, hösten 2011

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

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.

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

Objektorienterad programmering i Java I

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

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

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

Föreläsning 1: Introduktion till kursen

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

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

Objektorienterad programmering och Java

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

SMD 134 Objektorienterad programmering

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION

Objektorienterad programmering i Java

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

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

Undervisning. Examination

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

Praktikum i programmering

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

Svar på tekfak-remissen inför 2018

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

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

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

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

Objektorienterad Programmering (TDDC77)

Objektorienterad programmering

TDDE10 TDDE11, 725G90. Gemensam kurswebsida på:

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

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

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

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Studentportalen UNIX-konton (systemansvariga P4118) Lärare: Anna Eckerdal,

Föreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program

Design och konstruktion av grafiska gränssnitt

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

ID1004 Laboration 3, 5-6 November 2012

Välkomna till DIT012 IPGO

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

729G04 Programmering och diskret matematik. Python'1:'Labbmiljö'och'introduk7on'7ll'Python'

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Programmering Introduktion

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

Undervisning. Examination

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

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Transkript:

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

Outline Hemsida Organization Examination Webreg Programmering

Outline Hemsida Organization Examination Webreg Programmering

Kursinfo 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.ht17.pdf I 14 föreläsningar över HT1 och HT2: helt frivilliga, kommer att följa (ungefär) samma övergripande upplägg som de från 2016, fast med era ändringar. I cirka 30 laborationstillfällen för 6 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 (deadline 2017-09-10): 1. Sex 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 modierat) 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 2017-09-08, https://www.ida.liu.se/webreg3/tddc77-2017-1/lab 2. UPG: i grupper av två personer innan 2017-10-06, https://www.ida.liu.se/webreg3/tddc77-2017-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 Leier ola.leifler@liu.se som är terminsansvarig.

Datorer överallt...

En vanlig dator...

Minnet... 8 bits ger 1 byte byte B 2 0 = 1 10 0 B byte Kibibyte KiB 2 10 = 1024 10 3 KB Kilobyte Mebibyte MiB 2 20 = 1; 048; 576 10 6 MB Megabyte Gibibyte GiB 2 30 = 1; 073; 741; 824 10 9 GB Gigabyte Tebibyte TiB 2 40 = 1; 099; 511; 627; 776 10 12 TB Terabyte Pebibyte PiB 2 50 = 1; 125; 899; 906; 842; 624 10 15 PB Petabyte

CPU...

Hämta-avkoda-kör cykeln

Outline Hemsida Organization Examination Webreg Programmering

Logga in och skapa en katalog 1. hemifrån under windows/mac/linux: 1.1 du kan använda Thinlinc för att logga in på ditt konto på universitet 1.2 läs mer om thinlinc på IDA genom att klicka [här] 2. hemifrån under windows/mac/linux: 2.1 du kan också använda en ssh klient istället för thinlinc 2.2 klicka för att läsa om hur man kan få en ssh klient under windows 2.3 använd "username@remote-und.ida.liu.se" för att logga in 3. nu har du tillgång till ditt hemkatalog på IDA. 4. skappa en katalog, säg "minkod" med mkdir minkod 5. kom in i katalogen med cd minkod

Första programmet! I i terminalen: I skapa/öppna Hej.java i emacs med emacs Hej.java I spara len med: 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 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 nns 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!