Programmeren in Java 1



Vergelijkbare documenten
Programmeren in Java 2

Modulewijzer Tirdat01

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Programmeren in Java

Programmeren in Java 3

Matrix- en vectorrekening

Modulewijzer tirprog03, programmeren in Java 3

Datawarehousing BIM. Modulecode: BIMDTB06 Modulehouder: H.D.A. de Wit Publicatiedatum: mei 2014 Studiejaar: Studielast: 2 punten

Vakgroep CW KAHO Sint-Lieven

Programmeren in Java les 3

Marketing met Interactieve Media

Media Outlook 2 HOGESCHOOL ROTTERDAM / CMI CDMMOU02-2. Aantal studiepunten:2 Modulebeheerder: Ayman van Bregt. Goedgekeurd door:

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

HOGESCHOOL ROTTERDAM / CMI

Inleiding programmeren

Design research and use context

HOGESCHOOL ROTTERDAM / CMI

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Programmeren in C++ (deel 1)

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Studiewijzer Keuzedeel Verdiepingsoftware (AO)

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

HOGESCHOOL ROTTERDAM MODULEWIJZER RIVBEVP1K7

Modulewijzer InfPbs00DT

HOGESCHOOL ROTTERDAM / CMI

eerste voorbeelden in Java

Studiewijzer Inleiding Digitale Techniek, versie 1.6, , J.E.J. op den Brouw

Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1

MODULEWIJZER TIRCPS01 Computersystemen 1

Studiewijzer. Bachelor Informatica. Inleiding Programmeren Studiejaar en semester: jaar 1, semester 1 (blok 1)

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma

Modelleren en Programmeren

Onderwijseenheid INLMIC Inleiding microcontrollers

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

HOGESCHOOL ROTTERDAM / CMI. Organiseren zonder Organisaties MODULEWIJZER MEDBV201D

Geavanceerde Programmeertechnologie. Prof. dr. Kris Luyten Jo Vermeulen

APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts

Vakcode: VTMMEM10 EC: 2. Jaar 3. Periode 1, 2, 3, 4

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Overerving & Polymorfisme

Studiewijzer BACHELOR KUNSTMATIGE INTELLIGENTIE EXTRA KEUZENVAK VAK: C++ PROGRAMMEERMETHODEN

Producten en prijzen 2012


MODULEBESCHRIJVING FFEBLR0111

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

tot oplevering (thuis e maken met ondersteuning via forum) Cursus Moodle, boek, internet

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica

II. ZELFGEDEFINIEERDE FUNCTIES

APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts

Algoritmen en programmeren: deel 1 - overzicht

Modelleren en Programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Modelleren & Programmeren. Jeroen Fokker

Lineaire Algebra voor E (VKO)

Communicatie voor juristen. mevrouw drs. D. van der Wagen. Communicatie voor juristen. Beschrijving en doel van dit beroepsproduct

Producten en prijzen 2012

Erratum studiegids Bachelor opleiding Werktuigbouwkunde

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

Logica voor Informatica

Introductie tot de cursus

Kennismaken Greenfoot

Opmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

Modulebeschrijving FINSLC0108

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Tentamen Programmeren in C (EE1400)

Wat is JAVA? Peter van Rijn

Programmeren met Java

HOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10

Datastructuren en algoritmen voor CKI

Modelleren en Programmeren: Prolog

BEGINNER JAVA Inhoudsopgave

Java. Basissyllabus. Egon Pas

Android Development CCSS2011

Zelftest Inleiding Programmeren

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs

Inleiding Staats- en Bestuursrecht. ISBE de heer mr. G. van Keeken. Rechtsvinding Staats- en Bestuursrecht

Modelleren en Programmeren

MODULEHANDLEIDING BM- Succesvolle Organisaties

Modulebeschrijving FINSLC0106

Fundamentele. Informatica 1. Eerste college: -introductie -verzamelingen I

Syntax- (compile), runtime- en logische fouten Binaire operatoren

PSD Turtle. Om op een goede manier een programma te schrijven wordt er ook een algoritme gevolgd. Dit algoritme bestaat uit de volgende stappen/fasen:

van PSD naar JavaScript

CURSUSBESCHRIJVING Deel 1

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

Module 4 Hoofdstuk 1. Programmeertalen

Minor in het buitenland Mogelijkheden bij de opleiding Geneeskunde

Modulebeschrijving FINBAD0414 COLLEGEJAAR 09/10

Inleiding Visual Basic en VBA. Karel Nijs 2009/01

Transcriptie:

/ CMI Programmeren in Java 1 TINPRO01-1 Aantal studieunten: 2 ects Modulebeheerder: Wessel Oele Goedgekeurd door: (namens toetscommissie) Datum: TINPRO01-1 4 september 2015

Inhoudsopgave 1 Algemene omschrijving 3 1.1 Inleiding....................................... 3 1.1.1 Soorten programmeertalen......................... 3 1.1.2 Imperatieve talen.............................. 3 1.1.3 Declaratieve talen.............................. 3 1.1.4 Objectgeoriënteerde talen.......................... 4 1.2 Relatie met andere onderwijseenheden....................... 4 1.3 Leermiddelen..................................... 4 2 Programma 5 3 Toetsing en beoordeling 5 3.1 Procedure...................................... 5 4 Bijlage 1: Toetsmatrijs 7 5 Bijlage 2: Voorbeeldtoets 8 6 Bijlage 3: Studielast (normering in ecs) 11 TINPRO01-1 4 september 2015 1

Modulebeschrijving Modulenaam: Programmeren in Java 1 Modulecode: TINPRO01-1 Aantal studiepunten en Deze module levert 2 studiepunten op, hetgeen overeenkomt met 56 uur. studiebelastingsuren: 8 120 minuten hoorcollege 8 120 minuten practicum 12 120 minuten zelfstudie Vereiste voorkennis: Werkvorm: Toetsing: Leermiddelen: Draagt bij aan competentie geen hoorcollege en practicum schriftelijk tentamen, gesloten boek zonder hulpmiddelen Schaum s outlines Programming with Java second edition, auteur: John R. Hubbard, uitgever: McGraw hill, ISBN: 0-07-142040-1 analyse advies ontwerp realisatie beheer gebruikersinteractie bedrijfsprocessen software 1 1 1 1 infrastructuur hardware interfacing Leerdoelen: Inhoud: Het kunnen adviseren over en analyseren, ontwerpen en realiseren van een computerprogramma op niveau 1. Het kunnen ontwerpen, schrijven, compileren en uitvoeren van een correct werkend Java programma. Het in correct Nederlands en met gebruikmaking van het juiste jargon kunnen communiceren over de programmeertaal. Kort geschiedkundig overzicht van programmeertalen imperatief, functioneel en objectgeoriënteerd paradigma werking van een compiler en verschil met een interpreter verschil tussen broncode, bytecode en binaries enkele editors De virtuele machine elementaire taalconstructies Opmerkingen: Modulebeheerder: Wessel Oele Datum: 4 september 2015 TINPRO01-1 4 september 2015 2

1 Algemene omschrijving 1.1 Inleiding Java is de naam van een programmeertaal die in 1993 is ontwikkeld door Sun Microsystems. De taal wordt gezien als de geschiedkundige opvolger van het in 1986 ontwikkelde C++ dat op zijn beurt weer een opvolger was van het in 1980 ontwikkelde C. Java wordt in een groot aantal verschillende toepassingen gebruikt. Hierbij valt te denken aan: grote applicaties, werkend op verschillende platformen zoals Unix, Windows, e.a. applicaties die werken over het internet. gebruikersinterfaces (zowel hardware- als softwarematig, bijvoorbeeld een koffieautomaat) handheld apparaten: mobiele telefoons, MP3-spelers,etc. het welbekende programma Azureus is geschreven in Java. Het bovenstaande rijtje is niet bepaald volledig. Het aantal applicaties, waarin Java wordt gebruikt groeit met de dag... 1.1.1 Soorten programmeertalen Op deze planeet wordt met een groot aantal verschillende soorten programmeertalen gewerkt. Hoewel er meerdere manieren zijn om een onderverdeling te maken, volgt hier een veelgebruikte: imperatieve talen: C, Pascal, Fortran, C++, Java Declaratieve talen: Prolog, Gofer, Haskell objectgeoriënteerde talen: Smalltalk, Object Pascal, C++, Java 1.1.2 Imperatieve talen Het woord imperatief komt uit het Latijnse imperare hetgeen bevelen betekent. Bij een imperatieve programmeertaal schrijft de programmeur een programma, waarin precies wordt aangegeven wat de onderliggende hardware(doorgaans een computer) moet doen. Dergelijke programma s kan men dus opvatten als een bestand met daarin een lange lijst instructies die de computer zonder pardon dient uit te voeren. 1.1.3 Declaratieve talen Declaratieve talen worden bedacht vanuit een bepaalde wetenschappelijke denkwijze, een zogeheten paradigma (zoek dat woord eens op op wikipedia of in het woordenboek!). Een taal als Prolog is bijvoorbeeld volledig gebaseerd op logica. Bij deze taal vertellen we de computer niet wat deze van moment tot moment moet doen, maar zeggen we alleen tegen de computer wat waar is. Een prolog programma wordt dan ook niet uitgevoerd, maar door een speciaal daarvoor geschreven programma geïnterpreteerd. Wanneer de computer een aantal waarheden kent, kunnen we de computer vragen gaan stellen. De computer gaat vervolgens de gegeven waarheden combineren en geeft ons het antwoord true of false. Andere talen (bijv. Lisp, Haskell, e.v.a.) zijn gebaseerd op andere paradigma s en worden in andere wetenschappelijke disciplines gebruikt. TINPRO01-1 4 september 2015 3

1.1.4 Objectgeoriënteerde talen Bij objectgeoriënteerde talen wordt een groot en ingewikkeld computerprogramma opgedeeld in kleinere stukken, de zogeheten objecten. Ieder object functioneert zoveel mogelijk op zichzelf en neemt een klein stukje van de functionaliteit voor zijn rekening. Door alle objecten te laten samenwerken ontstaat een groot programma dat (hopelijk) doet wat de programmeur ervan verwacht. Het grote voordeel van objectgeoriënteerd programmeren ligt hem in het feit dat de individuele objecten, waaruit een programma bestaat, kunnen worden hergebruikt in andere programma s. Een goed voorbeeld hiervan vinden we in het Microsoft Office pakket. Hoewel dit pakket bestaat uit een aantal verschillende applicaties kom je toch iedere keer weer dezelfde Ok en annuleren knopjes tegen. Deze knoppen zijn op hun beurt weer zichtbaar in Windows of dialoogvensters die (dat moet je toch wel zijn opgevallen) veel op elkaar lijken. Welnu: iedere knop, schuifbalk, venster, tabblad, combobox, invoervenster, etc. etc. is een object. De programmeercode die nodig is om, bijvoorbeeld, een knop op het scherm te tekenen is één maal geschreven en werd daarna eindeloos hergebruikt in een groot aantal verschillende situaties. Van deze eigenschap wordt in de industrie gretig gebruikt gemaakt hetgeen er toe leidt dat een informaticus het objectgeoriënteerde paradigma moet begrijpen. 1.2 Relatie met andere onderwijseenheden Op deze module wordt voortgebouwd in de modules tirpro01, tirpro02, tirdat01, tirdat02 en diverse andere vakken, waarin verondersteld wordt het programmeren in een imperatieve taal te beheersen. 1.3 Leermiddelen Verplicht: Boek: Schaum s outlines Programming with Java second edition, auteur: John R. Hubbard, uitgever: McGraw hill, ISBN: 0-07-142040-1 Software: Java Development Kit (JDK) versie 6, te downloaden van http://www.javasoft. com Presentaties die gebruikt worden in de hoorcolleges (pdf): te vinden op http://med.hro. nl/oelew Opdrachten, waaraan gewerkt wordt tijdens het practicum (pdf): te vinden op http:// med.hro.nl/oelew Facultatief: Boek: Introduction to Java programming, auteur: Y. Daniel Liang, uitgever: Prentice Hall, ISBN:0132221586 Text editors: Emacs, VI, Jedit, Gedit, etc. TINPRO01-1 4 september 2015 4

2 Programma Week Literatuur Lesinhoud Producten 1 Schaum t/m blz. 15, inleiding, compiler, eerste programma 2 Schaum t/m blz. 30 variabelen, primitieve datatypedracht inleveren practicumop- 1 3 Schaum t/m blz. 45 strings, werken met methodedracht inleveren practicumop- 2 4 Schaum t/m blz. 60 taalconstructies: selectie inleveren practicumopdracht 3 5 Schaum t/m blz. 75 taalconstructies: iteratie inleveren practicumopdracht 3 6 Schaum t/m blz. 90 methodes inleveren practicumopdracht 4 7 Schaum t/m blz. 105 arrays inleveren practicumopdracht 4 8 Schaum t/m blz. 120 elementaire wiskunde inleveren practicumopdracht 5 9 voorbeeldtentamen bespreking voorbeeldtentamedracht inleveren practicumop- 5 10 vragenuur/inhaalles 3 Toetsing en beoordeling 3.1 Procedure Deze module wordt getoetst middels een schriftelijk tentamen (gesloten boek, zonder verdere hulpmiddelen) dat aan het einde van deze module wordt gegeven. Alvorens je aan het tentamen mag deelnemen zul je eerst in het practicum de uitwerkingen van een aantal opdrachten bij de docent of assistent moeten laten aftekenen. Deze opdrachten zijn te vinden op de website van de docent (http://med.hro.nl/oelew) Voorwaarden en uitgangspunten: Het tentamen bepaalt het eindcijfer. Met practicumopdrachten kunnen geen punten behaald worden. Practicumopdrachten dienen bij de practicumdocent te zijn afgetekend voor de dag, waarop het tentamen wordt afgenomen. In de eerste les van het volgende kwartaal wordt het tentamen in zijn geheel besproken tijdens het hoorcollege. Inzage in het tentamen kan altijd: maak per email een afspraak met de docent. Het tentamen kan tijdens een collegejaar éénmalig worden herkanst. Studenten die vanwege een handicap behoefte hebben aan een groter lettertype dienen de modulebeheerder minimaal één week van te voren een email te sturen, zodat hier rekening mee kan worden gehouden. TINPRO01-1 4 september 2015 5

Spel- en grammaticafouten worden door de vingers gezien, tenzij het maken van een spelfout of grammaticale fout de betekenis van de zin zodanig verandert dat deze onbegrijpelijk of onjuist is. Voor deze manier van toetsen is gekozen om de volgende redenen: De programmeervaardigheid (het daadwerkelijk in een editor kunnen schrijven van een programma) wordt aangetoond middels de practicumopdrachten. Het in correct Nederlands kunnen communiceren over een progammeertaal en het, op papier, kunnen aantonen van kennis over en inzicht in de programmeertaal wordt getoetst tijdens het tentamen. TINPRO01-1 4 september 2015 6

4 Bijlage 1: Toetsmatrijs Leerdoelen Dublin descriptoren Verwijzing naar opdracht / vraag / criteria 1,2,3,4 practicumopdracht 1 t/m 5, tentamen 1 editor, compiler, source, binary, statements, declaratieve/imperatieve talen 2 variabelen: integer, float, double, boolean, char, String 3 selectie: if, if-else, if-elseif, switch 4 iteratie: for, while, dowhile 1,2,3,4 practicumopdracht 1 t/m 5, tentamen 1,2,3,4 practicumopdracht 2 t/m 5, tentamen 1,2,3,4 practicumopdracht 3 t/m 5, tentamen 5 arrays 1,2,3,4 practicumopdracht 5, tentamen 6 methodes, recursie, 1,2,3,4 practicumopdracht 4 en scope 5, tentamen 7 elementaire wiskunde: 1,2,3,4 practicumopdracht 4 en faculteit, sommatie, 5, tentamen binomiaalcoëfficiënt, priemgetallen Dublin-descriptoren: 1. Kennis en inzicht 2. Toepassen kennis en inzicht 3. Oordeelsvorming 4. Communicatie TINPRO01-1 4 september 2015 7

5 Bijlage 2: Voorbeeldtoets Dit tentamen bestaat uit vijf open vragen. Werk netjes en overzichtelijk; Onleesbare tekst wordt fout gerekend... Lees goed en let op de tijd. Vraag 1 Wat is nodig om van een gegeven stuk (foutloze) broncode tot een werkend programma te komen? Beschrijf alle relevante hard-en software en beschrijf wat al deze onderdelen doen. Beperk het antwoord tot maximaal een halve bladzijde. Antwoord Zie boek! Vraag 2 Onderstaande statements worden na elkaar uitgevoerd in een programma. Noteer de uitvoer van dit programma. int x=5,y=10,z=20; x*=y-z--; System.out.println("x: "+x+" y: "+y+" z: "+z); z*=2+2; x=++y/2; System.out.println("x: "+x+" y: "+y+" z: "+z); for(x=0;x<5;x++){y+=x;} z%=15; System.out.println("x: "+x+" y: "+y+" z: "+z); y-=z+x/2; System.out.println("x: "+x+" y: "+y+" z: "+z); Antwoord x: -50 y: 10 z: 19 x: 5 y: 11 z: 76 x: 5 y: 21 z: 1 x: 5 y: 18 z: 1 Vraag 3 Gegeven de signatuur van een methode: public static float convert(float temp); Deze methode rekent het aantal graden Celcius om naar het aantal graden Fahrenheit. Het verband tussen het aantal graden Fahrenheit en het aantal graden Celcius is als volgt: Schrijf de betreffende methode. T Celcius = (T F ahrenheit 32). 5 9 TINPRO01-1 4 september 2015 8

Antwoord public static float convert(float temp) { return(temp*(9.0/5.0)+32); } Vraag 4 Wat is het verschil tussen de while en de for loop? Teken een stroomschema om dit aan te duiden. Antwoord Vraag 5 Het Σ teken wordt geacht u bekend te zijn. Naast het Σ teken, bestaat ook het Π teken. Betekenis en notatie zijn de volgende: i=3 i=1 2i = 2 4 6 = 48, ook geldt: i=n i=1 = n! Schrijf de methode public static float foo(int a, int b) die het volgende uitrekent: x=a y=b x=1 y=1 2xy + 1; Antwoord public static float foo(int a, int b) { int result=0; for(int x=1;x<=a;x++) { int mulresult=1; for(int y=1;y<=b;y++) { mulresult=mulresult*(2*x*y+1); } result+=mulresult; } return result; } TINPRO01-1 4 september 2015 9

Figuur 1: De for loop Figuur 2: De while loop TINPRO01-1 4 september 2015 10

6 Bijlage 3: Studielast (normering in ecs) aantal weken aantal lesuren van klokuren 50 minuten lesuren 10 4 33 zelfstudie leestijd aantal pagina s 3 per uur 6 per uur 120 10 per uur 12 presentaties overlegtijd uitzoektijd/research 11 niet ingeroosterde lestijd toetsen voorbereiden 3.5 toets 1.5 nabespreking 1 werkstuk,verslag,rapport,scriptie Stage, Praktijkopdracht uitzoeken overleggen schrijven voorbereiding aanwezigheid overleg Subtotaal in klokuren 56 Ruis 5% Totaal in klokuren 56 Totaal in studiepunten (ects) 2 TINPRO01-1 4 september 2015 11