Praktikum i programmering

Relevanta dokument
Tentamen i Grundläggande programmering STS, åk 1 lördag

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

Föreläsning 1 & 2 INTRODUKTION

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

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

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Föreläsning 1 & 2 INTRODUKTION

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

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

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

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

Tentamen i Grundläggande programmering STS, åk

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

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016

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

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Objektorienterad Programkonstruktion. Föreläsning jan 2016

Editering, Kompilering och Exekvering av Javaprogram

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Algoritmer. Två gränssnitt

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

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Dugga i Grundläggande programmering STS, åk

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Objektorienterad Programmering (TDDC77)

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

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

Objektorienterad Programmering (TDDC77)

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Grundläggande programmering med C# 7,5 högskolepoäng

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

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

Tentamen i Grundläggande programmering STS, åk

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

OOP Objekt-orienterad programmering

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

Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.

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

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel

Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Föreläsning 3: Booleans, if, switch

Labb 1: Vad, hur, och varför?

Programmering A. Johan Eliasson

Föreläsning 8: Exempel och problemlösning

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

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

Chapter 4: Writing Classes/ Att skriva egna klasser.

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

TDDI82 - Projekt. Christoffer Holm. Institutionen för datavetenskap (IDA)

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

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

Programmeringsteknik I

TDDC77 Objektorienterad Programmering

Malmö högskola 2007/2008 Teknik och samhälle

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

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

Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018

Tentamen i Programmering

Imperativ programmering. Föreläsning 4

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Objektorienterad Programmering (TDDC77)

Laboration 1 - Grunderna för OOP i Java

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Laboration 10 - Eclipse

OOP Omtenta

Objektorienterad Programmering (TDDC77)

Föreläsning 5-6 Innehåll

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

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

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

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

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Tentamen. Grundläggande programmering i Java A 5p, DTAA

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

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

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

Föreläsning 1: Introduktion till kursen

"if"-satsen. Inledande programmering med C# (1DV402)

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

Föreläsning 1: Introduktion till kursen

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

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

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

Transkript:

Praktikum i programmering Föreläsning 1 Lärare: Fredrik Degerlund E post: fredrik.degerlund@abo.fi Rum A5051 (denna korridor)

Kursens innehåll Att lära sig att programmera moduler som ingår i ett större programmeringsprojekt. Ni behöver inte skriva hela programmet. Ett programskelett kommer att delas ut. Era uppgifter går bl.a. ut på att sätta kött på skelettet, d.v.s. att skriva/komplettera moduler. Ni kommer också att få leta efter och korrigera buggar i programmet.

Undervisningsformer Några enstaka föreläsningar Handledning Vi kommer överens om när/var/hur, hur mycket. Inlämningsuppgifter Ingen tentamen Inlämningsuppgifterna är desto viktigare...

Parprogrammering Två personer programmerar tillsammans. Arbetar på samma kodavsnitt. Ena skriver (kallas driver ), andra observerar (kallas observer ). Programmerarna ska ofta byta roll. Ungefär varje halvtimme.

Parprogrammering (forts.) Varför ska den ena sitta vid sidan om? Övervakar det som skrivs. Påpekar om något blir fel. Har koll på den allmänna strukturen. Sätter press på den som skriver! Gör att drivern anstränger sig mera och förhoppningsvis skriver bättre kod. Varför inte bara programmera enskilt? Med parprog. vill man uppnå kod av bättre kvalitet!

Parprogrammering (forts. 2) Skulle man inte få mera kod om man programmerade enskilt? Motfråga: Nöjer man sig med mera kod om kvaliteten inte håller? Dessutom: Man kan spara tid på buggsökning om koden från början har god kvalitet. Båda lär sig att hitta i koden och vet hur den fungerar.

Programmeringsspråk/ miljö Programmeringsspråk: Java Verktyg: Eclipse Utvecklingsmiljö för programmering i bl.a. Java (men även andra programmeringsspråk) Innehåller en Javakompilator Innehåller en editor där koden skrivs/redigeras Bland annat syntax highlighting och kompletteringsförslag. Hantering av och navigering i projekt med flera filer.

Objektorienterad programmering Endast mycket ytlig genomgång för att kunna förstår/hantera projektet. Mera detaljer ges i andra kurser. Programmet struktureras i olika klasser som följer den logiska innebörden av koden. Exempelvis en cirkel kan modelleras som en klass. Exempelvis en variabel som representerar radien. Exempelvis en metod som som räknar ut diametern på basen en radien.

Klasser och objekt Ett objekt är en instans (ett exemplar ) av en klass. En klass Cirkel kan säga helt allmänt att en cirkel har en radie, och den innehåller en metod för att räkna ut diametern. Ett objekt mincirkel kan ha ett bestämt värde på radien; exempelvis 5. Eftersom mincirkel är en Cirkel (ett exemplar/en instans av klassen Cirkel) så kan man även räkna ut diametern på mincirkel.

En cirkelklass class Cirkel { public int radie; public int räknadiameter() { return radie*2; } Cirkel(int givenradie) { radie = givenradie; } } Constructor Använd för initialisering.

Att göra en instans av Cirkel class MittProgram { public static Cirkel mincirkel; public static int resultat; public static void main(string[] args) { mincirkel = new Cirkel(5); resultat = mincirkel.räknadiameter(); System.out.println(resultat); } }

Kursens programmeringsprojekt Ett textbaserat äventyrsspel. Kommandon via tangentbordet fungerar som input till spelet. Spelet berättar vad som händer genom text på skärmen. Innehåller rum mellan vilka spelaren förflyttar sig. Innehåller föremål som kan plockas upp / användas.

Spelets tolk En central modul är spelets tolk (Tolk.java) Ska tolka det som skrivs på tangentbordet och kallar på basen av detta kalla på rätt metoder i programkoden. Exempel på kommandon: norr, söder, väster och öster. tag stenen och använd stenen. lista (vilket ska lista de saker man bär på). o.s.v.

Övriga moduler (klasser) En enkel modul (Spel.java) som startar spelet. En modul (Värld.java) som representerar världen. Varje rum är en egen modul. Varje föremål är en egen modul. En modul (Spelare.java)som representerar spelaren. o.s.v.

Resten av denna föreläsning Demonstration av Eclipse. Demonstration av programskelettet. Nästa föreläsning Design by Contract Dokumentation o.s.v.