FACULTEIT DER LETTEREN RIJKSUNIVERSITEIT GRONINGEN. STUDIEHANDLEIDING Inleiding Programmeren II ( )

Vergelijkbare documenten
Programmeren met Grafische Objecten. Inleiding Programmeren II Hoorcollege 1 prof. dr. van Noord en dr. L.M. Bosveld-de Smet

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

BSc Kunstmatige Intelligentie. : Bachelor Kunstmatige Intelligentie Studiejaar, Semester, Periode : semester 1, periode 2

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

Bijlagen bacheloropleiding Kunstmatige Intelligentie

Bijlagen Bacheloropleiding Kunstmatige Intelligentie. Bijlage I Eindtermen van de bacheloropleiding

Studiehandleiding Ba-scriptie Kunsten, Cultuur en Media

Faculteit der Letteren - Formulier voor de beschrijving van modules

Informatiekunde FACULTEIT DER LETTEREN ONDERWIJS- EN EXAMENREGELING (OER) Deel B: Bacheloropleiding. voor het studiejaar

Practicumhandleiding. (versie 2010)

Toetsplan Bacheloropleiding Informatiekunde

Schriftelijke (en mondelinge) (deel)tentamens. Werkdossier

Overgangsregelingen Technische Planologie

Inhoud. Introductie tot de cursus

: Afstudeerproject BSc KI : Bachelor Kunstmatige Intelligentie Studiejaar, Semester, Periode : semester 2, periode 5 en 6

Bijlagen bacheloropleiding Kunstmatige Intelligentie

Bijlagen gentie. Bijlage. Bijlage. Bijlage - - vakgebied. Educatie en. Major van. Minor van

Studiewijzer Digitale Systeemengineering , versie 1.7, , J.E.J. op den Brouw

Taalvaardigheid Italiaans 1 Major

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

Overgangsregelingen Sociale Geografie en Planologie

Taalvaardigheid Frans 1 Minor

Overgangsregelingen 2 e jaar Technische Planologie

Programmeren met Java

Taalvaardigheid Spaans 1 Minor

Premaster Communicatie- en Informatiewetenschappen Vrije Universiteit Amsterdam - Faculteit der Geesteswetenschappen - P Communicatie- en

Studiewijzer BACHELOR PSYCHOBIOLOGY VAK: BEHAVIOR-BASED ROBOTICS STUDIEJAAR: 3 E JAAR

Faculteit der Letteren - Formulier voor de beschrijving van modules. vakcode. French 1 Major. vaknaam. studiefase

Premaster Taalwetenschappen Vrije Universiteit Amsterdam - Faculteit der Geesteswetenschappen - P Taalwetenschappen

Onderwijs- en Examen Regeling (OER) Programma Bacheloropleiding Sociologie Faculteit Gedrags- en Maatschappijwetenschappen

Onderwijs- en Examen Regeling (OER) Programma Bacheloropleiding Sociologie Faculteit der Gedrags- en Maatschappijwetenschappen

Introductie tot de cursus

Faculteit der Geesteswetenschappen Cluster Filosofie. Bachelor scriptiereglement voor de opleiding: Wijsbegeerte

Toetskader Faculteit der Archeologie (14 sept. 2010)

Informatiekunde FACULTEIT DER LETTEREN ONDERWIJS- EN EXAMENREGELING (OER) Deel B: Bacheloropleiding. voor het studiejaar

Programmeren in Java 2

Bachelorproject Wiskunde (9 ects)

Toetsplan Bacheloropleiding Kunsten, Cultuur en Media

FACULTEIT DER GEESTESWETENSCHAPPEN

Rooster Zie roosterinformatie op het web.

7X300: Filosofie voor Bouwkunde

BACHELOROPLEIDING WERKTUIGBOUWKUNDE TECHNISCHE UNIVERSITEIT DELFT

Neerlandistiek CROHO 60849

Hoorcollege 1 datavisualisatie

BK Introductie. Technisch Ontwerp en Informatica

Vorig jaar in 5v cluster, tot en met OO hoofdstukken, geen problemen. Nu in mengcluster, tot OO hoofdstukken, wel problemen bij 4h leerlingen

Bachelorscriptiebrochure BA Taalwetenschap

Python (gem=1,86) Java (gem=1,57) Enquete cursus informatica 1e bachelors oefeningen beter aansluiten bij project?

FACULTEIT DER LETTEREN ONDERWIJS- EN EXAMENREGELING (OER) Deel B: Bacheloropleiding Communicatie- en Informatiewetenschappen

Onderwijs- en Examenregeling (OER) Bachelorprogramma Academische Opleiding Leraar Basisonderwijs. Faculteit der Gedrags- en Maatschappijwetenschappen

IORE-1AR (Inleiding Ondernemingsrecht) IORE-1AE (Economie voor Juristen) IORE-1AR: de heer mr. S. Boelens IORE-1AE: de heer R.

Onderwijseenheid INLMIC Inleiding microcontrollers

Inhoud introductie. Introductie tot de cursus

Bachelorscriptiebrochure BA Taalwetenschap

Inleiding programmeren

Studiewijzer Digitale Systeemengineering 1 (E-DIGSE1-13) 3 studiepunten

Reglement Onderzoekscollege en Bachelorscriptie Europese Studies

Midden-Oostenstudies CROHO 60842

Overgangsregelingen 2 e jaar Sociale Geografie en Planologie

Taalvaardigheid Duits 1 Minor

Inleiding Programmeren 2

Inleiding Programmeren 2

Studiewijzer 5A050 Schakeltechniek

Evaluatierapport Project Ontwerpen van een Werktuig en Module 1

Inleiding programmeren

Vlaams Ministerie van Onderwijs en Vorming 1 september 2007 STUDIEGEBIED ICT. Modulaire opleiding Informatica: Programmeren AO IC 002

Cursusevaluatie Onderwijsinstituut voor Informatica en Informatiekunde format versie 2 april 2006

Voorbereiding onderwijsvisitatie: Bachelor Opleidingsonderdelen J. Broeckhove

Toetsplan Bachelor CIW

Minor Goede doelen, filantropie en non-profits Vrije Universiteit Amsterdam - Onderwijscentrum VU - Minoren

Studiehandleiding. Calculus 2 voor Wiskunde en Natuurkunde november en december 2007

Datastructuren en algoritmen voor CKI

Premaster Accounting and Control Vrije Universiteit Amsterdam - Fac. der Economische Wet. en Bedrijfsk. - P Accounting and Control

Non satis scire WP 4 Pilot opzet peer feedback. Aanleiding

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Bijlage Onderwijs- en Examenregeling (OER) Bachelor Programma Academische Opleiding Leraar Basisonderwijs

Lineaire Algebra voor E (VKO)

BA scriptiereglement Religiewetenschappen

Onderwijs- en examenregeling

GROEPSDYNAMICA STUDIEHANDLEIDING

Modulewijzer Tirdat01

Reglement Bachelorscriptie Geschiedenis Vastgesteld op , verbeterd en goedgekeurd door de examencommissie op

Griekse en Latijnse Taal en Cultuur

ONDERWIJS- EN EXAMENREGELING Bijlage, Bachelor Opleiding Docent Muziek

Bijlage bacheloropleiding Informatica

Beschrijving en doel van dit beroepsproduct

Studiehandleiding. Differentiëren en Integreren 3. voor. Wiskunde, Natuurkunde en Medische Natuurwetenschappen

Ba-scriptiebrochure Opleiding Nederlandse Taal en Cultuur

De casuïstiek is relatief eenvoudig. Het betreft grotendeels enkelvoudige strafzaken. Met één verdachte en één strafbaar feit

Minor Goede doelen, filantropie en non-profits

Handleiding notariële bachelorscriptie

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

Inleiding Programmeren 2

Minor Taal en Gehoor - track voor universitaire studenten

Beleid en Management in de Publieke Sector

Curriculumevaluatie BA Wijsbegeerte

MODULEBESCHRIJVING Databases DBS1

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

Transcriptie:

FACULTEIT DER LETTEREN RIJKSUNIVERSITEIT GRONINGEN STUDIEHANDLEIDING Inleiding Programmeren II (2015-2016) 0. Tentamen: zie rooster Hertentamen: zie rooster 1. Titel: Inleiding Programmeren II Vakcode: LIX022P05 Opleiding: Informatiekunde Studiefase: propedeuse Type onderdeel: major Docent: prof. dr. G.J.M. van Noord Student-assistent: Jelmer Golsteijn en Arjan Schelhaas 2. Aantal ECTS-studiepunten: Totaal: 5 ECTS. 3. Ingangseisen Inleiding programmeren I. Met goedkeuring van de docenten kan het vak ook worden gevolgd als de student heeft deelgenomen aan het vak Inleiding Programmeren I, voldoende heeft gepresteerd op de practicumopdrachten, en het tentamen Inleiding programmeren I heeft gemaakt, ook, als op dit tentamen geen voldoende is behaald. 4. Inhoudsbeschrijving Inleiding Programmeren II is het vervolg op Inleiding Programmeren I, en veronderstelt dat de student vertrouwd is met basisbegrippen uit de computerwetenschap en elementaire programmeervaardigheden bezit. Klassen, objecten en het concept object-georiënteerd programmeren worden geïntroduceerd. De student maakt, naast de al bekende datastructuren van strings en lists, kennis met files, tuples, sets en dictionaries. Verder komen simulaties en de toepassing daarvan aan de orde, en er wordt ingegaan op zowel iteratieve als recursieve controlestructuren. Verder komen er meer complexe aan taal en tekst gerelateerde problemen aan de orde, die hogere eisen stellen aan het ontwerpen van efficiënte algoritmen, en de implementatie daarvan. Net als in Inleiding programmeren I wordt er gebruik gemaakt van Python om besproken programmeerbegrippen en -principes te illustreren en te laten toepassen door de student. Voor uitleg en oefening worden, waar mogelijk, taal- en communicatieproblemen van beperkte omvang gebruikt. 5. Literatuur Brookshear, J.G. en D. Brylow (2015) (12 th edition) Computer Science: an Overview. Upper Saddle River, New Jersey: Pearson Education, Inc. Zelle, J. (2017) (3 rd edition, voor Python 3) Python Programming: an Introduction to Computer Science. Wilsonville, Oregon: Franklin, Beedle & Associates Inc. Knupp, Jeff. (2013), Writing Idiomatic Python. For Python 3.3+. Zie https://www.jeffknupp.com/writing-idiomatic-python-ebook/ voor een pfd-versie online te bestellen voor $9.99. 6. Eindkwalificaties Vakspecifiek: 1

1. Ontwikkeling van gevorderde kennis en diepgaander inzicht in algemene programmeerbegrippen en -technieken, die voorkomen in de computer science, zoals recursie, strings, lijsten, files, en sorteer- en zoekalgoritmen, en de imperatieve en object-georiënteerde programmeerparadigma s. 2. Vermogen om problemen van enige complexiteit op te lossen, met name met betrekking tot taal, tekst en communicatie. 3. Vermogen om duidelijke algoritmen op te stellen voor de oplossing van taalkundige en tekstuele problemen van beperkte omvang. 4. Vermogen om redelijk complexe computerprogramma s modulair te ontwerpen en te implementeren. 5. Ontwikkeling van gevorderde kennis van en vaardigheden in het programmeren in Python. Generiek: 1. Probleemoplossend, logisch, en analytisch denken. 2. Verantwoorde en efficiënte omgang met ICT (inclusief het besturingssysteem Unix) als studie- en communicatiemiddel. 3. Zelfstandige bestudering van literatuur. 4. Op tijd inleveren van opdrachten. 5. Zelfstandige planning en uitvoering van studiewerkzaamheden. 7. Leeruitkomsten van het studieonderdeel Aan het eind van het vak heeft de student kennis van en inzicht in diverse datastructuren, zoals strings, lijsten, files, sets, tuples en dictionaries, en is hij in staat deze correct in te zetten bij de ontwikkeling van een programma. Daarnaast kan de student meer geavanceerde ontwerptechnieken (object-georiënteerd, naast imperatief programmeren) en complexere controlestructuren (recursieve, naast iteratieve structuren) toepassen bij het opzetten en implementeren van een programma. De student is in staat taalen communicatieproblemen van beperkte omvang te analyseren, oplossingen hiervoor te vinden, deze om te zetten in een efficiënt algoritme, en op grond hiervan een modulair programma te ontwerpen en te implementeren in Python. 8. Toetsvorm(en) en Toetsingsprocedure Wekelijke opdrachten en tentamen. Wekelijkse opdrachten. Het gemiddelde van de beoordeelde opdrachten moet minstens 5,5 zijn om deel te kunnen nemen aan het tentamen. Niet alle opdrachten worden beoordeeld. Nadat de deadline voor de wekelijkse opdrachten is verstreken wordt bekend gemaakt welke opdrachten worden beoordeeld (in beginsel wordt per week slechts één van de opdrachten beoordeeld). Een niet ingeleverde opdracht wordt beoordeeld met een 0. Het tentamen moet minstens 5,5 zijn om het vak te halen. Er is geen sprake van compensatie via het practicumgemiddelde. Het tentamen kan herkanst worden. Het eindcijfer van het vak wordt als volgt vastgesteld: Indien tentamencijfer < 5.5 dan is het eindcijfer gelijk aan het tentamencijfer. Indien tentamencijfer 5.5 of meer, dan is het eindcijfer de som van het tentamencijfer en een bonus voor de opdrachten als volgt: opdrachten 9.5 of meer: +2.0 punten opdrachten tussen 8.5 en 9.5: +1.5 punten opdrachten tussen 7.5 en 8.5: +1.0 punten opdrachten tussen 6.5 en 7.5: +0.5 punten opdrachten tussen 5.5 en 6.5: geen bonus Er is geen mogelijkheid om de opdrachten te herkansen. 2

9. Leer- en doceerstrategieën of methoden De student dient voor elke week literatuur te bestuderen, en de opgegeven opdrachten te maken. De wekelijkse opdrachten toetsen kennis van en inzicht in programmeerbegrippen en technieken, en aan taal- en tekstgerelateerde problemen, die gepresenteerd en uitgelegd worden in de hoorcolleges en die bestudeerd dienen te worden in de wekelijks opgegeven literatuur. Daarnaast dienen de praktische opdrachten ervoor om verworven kennis en begrip toe te passen. De studenten dienen in staat te zijn zelf algoritmen op te stellen, en te implementeren met gebruikmaking van idiomatische Python-code, heldere documentatie en commentaar, waar nodig. De student moet ook in staat zijn code van anderen te lezen. De opdrachten dienen individueel te worden gemaakt. De opdrachten kunnen variëren van het vinden van een oplossing om te testen in hoeverre twee teksten met elkaar overeenkomen tot het implementeren van een recursieve functie om palindromen op te sporen. De opdrachten worden nagekeken, krijgen feedback, of worden behandeld in college of practicum, zodat de student bij zichzelf kan nagaan in hoeverre hij de stof goed heeft toegepast en begrepen. Het vak wordt afgesloten met een schriftelijk eindtentamen, dat plaats vindt in de tentamenperiode na semester 1, blok 2. Hierin worden kennis, inzicht en vaardigheden op 4 deelgebieden getest: (i) kennis en begrip van algemene gevorderde informaticakennis (diverse datastructuren, efficiëntie van algoritmen, recursie, simulatie, etc.); (ii) analytisch en probleemoplossend vermogen met betrekking tot taal- en tekstgerelateerde problemen van beperkte omvang; (iii) vermogen om oplossingen accuraat en adequaat te formuleren in een algoritme; (iii) programmeervaardigheden in Python. Zowel kennis- als begripsvragen worden gesteld, alsook vragen met betrekking tot programmacode. De studenten krijgen in het laatste college te zien wat voor vragen ze kunnen verwachten op het tentamen. Nagekeken tentamens kunnen ingezien worden. 10. Plaats van het studieonderdeel in het programma Inleiding Programmeren II is een verplicht vak in het programma van het eerste jaar (de propedeuse) van het bachelorprogramma van Informatiekunde. Het bouwt voort op Inleiding Programmeren I en vormt hiermee de basis voor vakken die later in het programma voorkomen, en met name voor de vakken Gevorderd Programmeren en Project Tekstanalyse. 11. Weekprogramma Dit weekprogramma is onderhevig aan verandering, mocht dat nodig blijken. Hou Course DocumentsNestor aan voor het definitieve programma. Weeknummers Onderwerp Literatuur 1 Grafische klassen en objecten. Zelle, ch. 4 Objects and Graphics. 2 'File handlers', 'decisions' en verschillende soorten 'loops'. Zelle, ch. 7 Decision Structures; Zelle, ch. 8 Loop Structures and Booleans. 3 Recursie, efficiëntie van algoritmen. Brookshear & Brylow, ch. 5, Algorithms, sections 5.4, 5.5, 5.6 4 Simulaties, 'pseudo random numbers'. Zelle, ch. 9 Simulation and Design (behalve voorbeeld Racquetball). 5 Klassen en objecten in het algemeen, en OOP. Brookshear & Brylow, ch. 6 Programming Languages; ch. 8 Data abstractions, sections 8.1 en 8.6 Zelle, ch. 10 Defining Classes (behalve 6 Nogmaals Python datacollecties, en ihb. 'dictionaries'. voorbeeld Cannonball) Zelle, ch. 11 Data Collections. 3

7 Course Summary. Voorbeelden van tentamenvragen. Voorbereiding tentamen. De hoofdstukaanduidingen van Brookshear refereren naar editie 12, internationale editie, die van Zelle naar editie 3. Wekelijks in te leveren opdrachten worden in Nestor bekend gemaakt. 12. Berekening studielast Aantal contacturen: 7 x 2 uur hoorcolleges; 7 x 2 uur practicum: 28 Bestudering literatuur: ong. 45 Maken van opdrachten: ong. 45 Voorbereiden tentamen: ong. 20 Totaal: 140 13. Beoordelingseisen De opdrachten die ingeleverd moeten worden kennen een deadline. De deadline wordt in Nestor bij de opdrachten vermeld. In beginsel is de deadline steeds de avond voorafgaand aan het komende hoorcollege. Telkens wordt een enkele van de wekelijks opgegeven opdrachten nagekeken en beoordeeld. Welke opdracht dit is, wordt bekend gemaakt tijdens hoorcollege. Korte feedback op de beoordeelde opdracht wordt gegeven in Nestor. Meer gedetailleerde feedback en uitleg wordt gegeven in hoorcollege en kan gevraagd worden op practicum. Niet (op tijd) ingeleverd werk wordt beoordeeld met een 0. Beoordelingen kan elke student zien in zijn Nestor gradebook. Programmeeropdrachten worden niet alleen beoordeeld op grond van of ze uitgevoerd kunnen worden en of ze doen wat ze behoren te doen, ook efficiëntie en compactheid van code, stijl, leesbaarheid van code, documentatie en commentaar zijn belangrijke factoren die meegenomen worden in de beoordeling. Duidelijk onderliggende algoritmen waarop programma-onderdelen zijn gebaseerd, en het programmaontwerp (modulaire en evt. object-georiënteerde opzet) van het geïmplementeerde programma spelen ook een belangrijke rol bij beoordelingen. Opdrachten krijgen een eindbeoordeling / practicumgemiddelde. Deze moet voldoende (d.w.z gemiddeld minstens 5,5 ) zijn om te kunnen deelnemen aan het tentamen. Ook het tentamen, waarin wordt getoetst of de student de beoogde eindkwalificaties op een voldoende niveau heeft behaald, moet minimaal 5,5 zijn om het vak te kunnen halen. Indien voor een opdracht meerdere bestanden moeten worden ingeleverd, dan moeten deze bestanden allemaal samen in een zip bestand worden geupload naar Nestor. Alleen opdrachten die via Nestor worden ingeleverd worden in behandeling genomen. Als voor een opdracht tekstbestanden moeten worden ingeleverd, dan moeten deze bestanden ofwel in PDF-formaat ofwel in UTF-8 tekstformaat zijn. In beginsel mogen bij programmeeropdrachten geen libraries worden gebruikt (met uitzondering van de sys library, de random library, en Zelle s graphic.py). De opdrachten zijn individuele opdrachten. Indien ingeleverde oplossingen (nagenoeg) identiek zijn worden deze beoordeeld met een 0. Oplossingen die (nagenoeg) identiek zijn aan bestaande oplossingen op Internet worden ook met een 0 beoordeeld. In geval van plagiaat wordt de examencommissie ingelicht. 14. Bereikbaarheid docenten E-mailadres: g.j.m.van.noord@rug.nl Kamer: Harmoniegebouw, 4de verdieping, gang 1311, nummer 431 4

Spreekuur: na afspraak via e-mail 5