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

Relevanta dokument
Objektorienterad Programmering (TDDC77)

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

Objektorienterad Programmering (TDDC77)

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

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

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

Grundkurs i programmering - intro

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

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

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

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

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

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

Objektorienterad Programmering (TDDC77)

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

Datorsystem och programmering

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

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Laboration 1. Objektorienterad programmering, Z1. Syfte

Objektorienterad Programmering (TDDC77)

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

Editering, Kompilering och Exekvering av Javaprogram

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

Introduktion till Unix och Linux

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

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

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

Föreläsning 1: Introduktion till kursen

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

Föreläsning 1: Introduktion till kursen

Tentamen i Grundläggande programmering STS, åk

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Föreläsning 2. Operativsystem och programmering

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

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

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

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

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

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.

Objektorienterad programmering i Java I

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

Introduktion till programmering, hösten 2011

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.

SMD 134 Objektorienterad programmering

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

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

Föreläsning 1 & 2 INTRODUKTION

Objektorienterad programmering och Java

Föreläsning 1 & 2 INTRODUKTION

Objektorienterad programmering i Java

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

Undervisning. Examination

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

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

Svar på tekfak-remissen inför 2018

Praktikum i programmering

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

Objektorienterad Programmering (TDDC77)

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

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

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

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

ID1004 Laboration 3, 5-6 November 2012

Objektorienterad programmering

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

TDDE10 TDDE11, 725G90. Gemensam kurswebsida på:

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

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

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

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

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

Design och konstruktion av grafiska gränssnitt

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

Programmering Introduktion

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

LABORATION 1 Pingpong och Installation av Server 2008 R2

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

Välkomna till DIT012 IPGO

Undervisning. Examination

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

Transkript:

Outline Objektorienterad (TDDC77) Föreläsning I: kursinfo, att programmera datorer, första programmet Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Kursinfo Outline 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

Kursinfo: organization Outline 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 Kursinfo: examination : regler 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 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 I är alltid individuellt, I Arbetet i LAB och UPG sker i grupper av två personer.

Outline Kursinfo: webreg I 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? Datorer överallt... 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.

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 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! Kompilera och köra 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 I skapa Hej.java och skriv programmet I kompilera med javac Hej.java I rätta och repetera tills du lyckas kompilera ditt program I kör med java Hej /* 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!!!!! " ); } I syntax och semantiken Redigera programmet Kompilera programmet Köra programmet }

Interpretera eller kompilera källkod Kompilatorer och JVMer Kompilera och köra programmet Ge exakta instruktioner till datorn I skapa Hej.java och skriv programmet I kompilera med javac Hej.java I rätta och repetera tills du lyckas kompilera ditt program I kör med java Hej I syntax och semantiken 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!! Redigera programmet Kompilera programmet Köra programmet 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 Att programera är att bryta ner en uppgift i små steg som en dator kan göra 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! 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!