TDDC77 Objektorienterad Programmering

Relevanta dokument
Objektorienterad Programmering (TDDC77)

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

Objektorienterad Programmering (TDDC77)

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

Föreläsning 1: Intro till kursen och 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

Grundkurs i programmering - intro

TDDC77 Objektorienterad Programmering

Föreläsning 2. Operativsystem och programmering

Program & programmering

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

Introduktion till programmering. Programspråk och paradigmer

Innehålls förteckning

TDDC77 Objektorienterad Programmering

Introduktion till programmering och Python Grundkurs i programmering med Python

Datorsystem och programmering

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

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

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

OOP Objekt-orienterad programmering

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

TDDC77 Objektorienterad Programmering

Introduktion till Unix och Linux

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

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

Föreläsning 1: Introduktion till kursen

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

SMD 134 Objektorienterad programmering

DATORLÄRA Christophe Clément - Fysikum

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen

Introduktion till programmering, hösten 2011

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Datorsystemteknik DAV A14 Föreläsning 1

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

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

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Programming in C# and.net Framework

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

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

Föreläsning 1 & 2 INTRODUKTION

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

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

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Objektorienterad Programmering (TDDC77)

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

LABORATION 1 Pingpong och Installation av Server 2008 R2

Laboration 2 Datorverktyg vid LiU

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

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

DD1361 Programmeringsparadigm Föreläsning 1: Intro

Processprogrammering och operativsystem Introduktion. Kursinformation. Varför operativsystem?

Programmering Introduktion

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

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

32 Bitar Blir 64 Sammanfattning

Föreläsning 3. Programmering, C och programmeringsmiljö

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.

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

EDAA01 Programmeringsteknik - fördjupningskurs

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

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

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

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

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

(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

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

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

Manual för fjärrinloggning

Projektuppgift - Biblioteket

Programmeringsteknik II

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Mattias Enervall (Övningsassistent) Examination. 1 Skriftlig tentamen (betyg)

Projektuppgift - Gymmet

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

HF0010. Introduktionskurs i datateknik 1,5 hp

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

Projektuppgift - Banken

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

Instruktion för laboration 1

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Daniel Petersson (Labassistent) Examination. 1 Skriftlig tentamen (betyg)

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

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

KURSMÅL WINDOWS STARTA KURSEN

Föreläsning 1 & 2 INTRODUKTION

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

Objektorienterad programmering och Java

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

Objektorienterad programmering i Java

Programmeringsteknik I

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

GRUNDKURS I C-PROGRAMMERING

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

TDDD92 Artificiell intelligens -- projekt

Editering, Kompilering och Exekvering av Javaprogram

Introduktion till användning av linux-servern sledge och några övningsuppgifter

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

Transkript:

TDDC77 Objektorienterad Programmering Föreläsning 1 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018

Outline Kursinfo Introduktion till Programmering Java Development Kit(JDK)

Kursinfo

Hemsida Hemsidan: http://www.ida.liu.se/~tddc77 Imperativ och objektorienterad programmering. Fo rela sningar, labbar, projekt, datorbaserad tenta, basgruppsarbete. Vi kommer att anva nda Java under hela kursen.

Organisation 13 föreläsningar under HT1 och HT2: helt frivilliga. 34 laborationstillfällen, 6 obligatoriska labbar: Själva labbtillfällena är ej obligatoriska, förutom för att redovisa laborationsuppgifterna och projektet. Fråga om hjälp, diskutera laborationerna och projektuppgiftet.

Examination Efter att ha klarat Stone (deadline 2018-09-06): Sex laborationsuppgifter (HT1 och HT2). 3hp. LAB (U, G) Ett programmeringsprojekt (HT2). 2hp. UPG(U,3,4,5) En datorbaserad tenta. 1hp. DAT (U,3,4,5) Basgruppsarbete kring vinjetter. 2hp. BAS (U,G) Ett godkänt på alla moment krävs för att få slutbetyget. Slutbetyget bestäms av UPG och DAT. Examinationen sker alltid individuellt. Arbetet på LAB och UPG sker i grupper av två personer.

Examination-regler Ni får INTE lämna in kopierade, även modifierade, lösningar. Varje student måste kunna visa att hen förstått ALLA detaljer i lösningen. Varje student ska frågas individuellt under redovisning. Varje student ska redovisa till läraren som är ansvarig för gruppen som studenten har registrerat sig i på Webreg. Frågor kan ställas till nån av lärarna som finns på plats. Om någon form av fusk misstänks, är läraren skyldig att göra en anmälan till universitetets disciplinnämnd. Konsekvenserna kan bli varning eller tillfällig avstängning från studierna.

Föreläsningar 13 föreläsningar totalt som hålls i labbsalarna. Ni får uppgifter att lösa på varje föreläsning. Det är starkt rekommenderat att vara påläst i förväg på ämnena som tas upp på varje föreläsning.

Labbtillfällen Hålls i labbsalarna natuligtvis. Robin och Daniel handleder er under hela vägen. 3 labbuppgifter i första perioden, 3 labbuppgifter i andra perioden. Ni ska bli klara med STONE först för att kunna komma igång med labbarna. Det är ett krav att jobba i par.

Webreg Webreg rapportering av LAB, UPG: LAB: i grupper av två personer innan 2018-09-06, https://www.ida.liu.se/webreg3/tddc77-2018-1/lab UPG: i grupper av två personer innan 2018-10-06, https://www.ida.liu.se/webreg3/tddc77-2018-1/upg

Frågor Fra gor som ro r vad ni la r er i kursen kan sta llas till mig eller till laborationsassistenterna. O vriga fra gor, problem, administrativa saker osv kan ni diskutera med mig.

Frågor?

Programmering

Datorer överallt

Hårdvara VS Mjukvara Hårdvara är delarna som en dator består av. Till exempel, Tangentbord, Hårddisk, Processor, Skärm och så vidare. Hårdvara existerar fysiskt. Mjukvara är instruktioner/kommandon som exekveras av processorn, CPU. I andra ord, datorer styrs av mjukvara. Till exempel, Adobe Photoshop, Linux, Chrome och så vidare. Mjukvara existerar INTE fysiskt.

Operativsystem Är en mjukvara. Ligger mellan Hårdvaran och andra mjukvaror, applikationer. Är ansvarig för att dela resurser, till exempel processorn, mellan olika applikationer som körs samtidigt. Är ansvarig för att köra applikationer. Skillnaden mellan att köra och att exekvera?

Operativsystem

En vanlig dator Sekundärminne Till exempel, tangentbord

Minnet 8 bits ger 1 byte

CPU...

Hämta-avkoda-kör cykeln

Maskinkod Förstås bara av processorn. Det enda språket som processorn förstår. Maskinkod är ett lågnivåspråk.

Maskinkod Problem: Man måste kunna proccesorns arkitekturs detaljer. Skrivna programmet baserad på en viss CPU kan inte köras av andra typer av CPU.

Högnivåspråk Java, C++, PHP, Javascript, Programmet körs inte direkt av processor:n Programmet omvandlas, Kompileras/tolkas, till Maskinkod. Det är en skillnad när det kommer till Java? Vad är det? Det behövs inte kunna processorns detaljer för att kunna skriva ett program genom att använda högnivåspråk.

Interpretera/Kompilera

Programs sorter Webb applikationer Mobil applikationer Desktop applikationer(terminal-baserade och GUI-baserade program) Bibliotek Embedded program...

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

Att bryta ner en uppgift i små steg Låt användaren skriva in två heltal x och y. Vi vill räkna upp skillnadens absoluta värde (dvs, x - y ) och skriv ut resultatet. 1. Fråga användaren efter ett heltal 2. Läs in heltalet x 3. Fråga användaren efter ett heltal 4. Läs in heltalet y 5. Om x är större än y, räkna upp (x - y) 6. Om y är större än x, räkna upp (y - x) 7. Skriv ut resultatet

Flowchart Diagram Används för att skissa/grafiskt presentera algoritmer.

Flowchart

Development Kit(JDK)

Kompilera och köra programmet 1. 2. 3. 4. Skapa Hej.java, skriv programmet och spara filen till slut. Kompilera med javac Hej.java Rätta fel och repetera tills du lyckas kompilera ditt program. Kör programmet med java Hej

Kompilatorer och JVMer

Java Virtuell Maskin En virtuell maskin är en mjukvara som simulerar en dator. Java Virtuell Maskin är en simulerad dator som förstår och exekverar Bytecode. OS sitter mellan JVM och hårdvaran. En bra artikel om JVM: https://www.javaworld.com/article/3272244/core-java/what-is-the-jvm-introducing-the-java-virtual-machi ne.html

JDK JDK är en kit/mapp som innehåller verktyg föt att: Kompilera Köra Debugga Övervaka Java virtuella maskiner Generera dokumentation Innehåller bibliotek för att utföra grundläggande uppgifter. Till exempel: Utmaning, Inmatning Matematiska beräkningar Processera filer Innehåller JVM

Versioner Version Release date End of Public Updates [4] Extended Support Until JDK Beta 1995?? JDK 1.0 1996?? JDK 1.1 1997?? J2SE 1.2 1998?? J2SE 1.3 2000?? J2SE 1.4 2002 October 2008 February 2013 J2SE 5.0 2004 November 2009 April 2015 Java SE 6 December 2006 April 2013 December 2018 Java SE 7 July 2011 April 2015 July 2022 Java SE 8 (LTS) March 2014 January 2019 (commercial) March 2025 Java SE 9 September 2017 March 2018 N/A Java SE 10 (18.3) March 2018 September 2018 N/A

JDK https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdkfiles.html

Task 2-4 minuter Öppna terminalfönstret. Ange följande kommandon: cd /usr/lib/jvm/java-7-openjdk-amd64 ls Undersök filerna som ligger i JDK mappen.

Att jobba med hemkatalogen Hemifrån under windows/mac/linux: Du kan använda Thinlinc för att logga in på ditt konto på universitet läs mer om thinlinc på IDA genom att klicka här. Hemifrån under windows/mac/linux: Du kan också använda en ssh klient istället för thinlinc. klicka här för mer information. I labbsalarna har ni tillgång till hemkatalogen automatiskt utan att behöva använda något ytterligare verktyg.

Thanks for listening!