Programmeertalen

Programming Languages

6 EC

Semester 1, periode 2

5062PROG6Y

Eigenaar Bachelor Informatica
Coördinator Robin de Vries
Onderdeel van Bachelor Informatica, jaar 1Dubbele bachelor Wiskunde en Informatica, jaar 1Minor Informatica, jaar 1

Studiewijzer 2016/2017

Globale inhoud

Voor een informaticus is een programmeertaal wat een hamer is voor de timmerman, een stuk gereedschap. Informatici leren echter tijdens hun studie noodzakelijkerwijs een zeer beperkt aantal programmeertalen, en als je alleen een hamer hebt gaat elk probleem vanzelf op een spijker lijken. Er zijn echter vele honderden programmeertalen in omloop, zoveel dat programmeertalen in klassen worden onderverdeeld en ook nog eens langs verschillende dimensies. Er zijn imperatieve talen, declaratieve talen, er zijn object georiënteerde talen, functionele talen, logische talen, prototype talen, talen ontworpen voor implementatie van parallelle en gedistribueerde algoritmen, talen speciaal voor administratieve applicaties, database talen, markup languages en nog heel veel meer. Van de informaticus wordt verder nog verwacht in staat te zijn zelf een taal te ontwerpen als er voor het gestelde probleem geen goede taal beschikbaar is "met gereedschap maak je gereedschap".

Tijdens dit vak brengen we zes programmeertalen voor het voetlicht, elke week één. De programmeertalen omvatten in ieder geval imperatieve, logische en functionele talen. De precieze invulling daarvan kan van jaar tot jaar verschillen. Het doel van deze cursus is de student bij te brengen dat de keuze van de programmeertaal een wezenlijk onderdeel is van het oplossen van het probleem, en dat er voor elk doel wel een programmeertaal is of gemaakt kan worden. Per programmeertaal wordt niet meer dan één of twee weken besteed. De bedoeling van dit college is meer het verwerven van overzicht dan van specifieke vaardigheden in een taal.

Studiemateriaal

Overig

  • Collegeslides en referenties naar online materiaal worden gepubliceerd op Blackboard.
  • Het materiaal voor het Practicum Academische Vaardigheden staat op de aparte Blackboard pagina genaamd 'Portfolio Academische Vaardigheden BSc Informatica 2016' en de website http://practicumav.nl/

Leerdoelen

Aan het eind van het vak kan de student

  • elementaire computerprogramma's schrijven in de behandelde programmeertalen
  • de behandelde programmeertalen en hun paradigma's benoemen en vergelijken op hoog niveau
  • gegeven een probleem de voor- en nadelen van een mogelijke oplossing in de behandelde programmeertalen/paradigma's benoemen
  • zelfstandig ontbrekende informatie vinden, bijvoorbeeld in handleidingen of op internet, en deze toepassen
  • naar aanleiding van concrete aanwijzingen een presentatie geven over een informatica gerelateerd onderwerp en daarbij effectief gebruik maken van verbaal, paralinguaal, en non-verbaal gedrag (PAV)
  • kritische, verhelderende en verdiepende vragen stellen (PAV)

Onderwijsvormen

  • Practicum Academische Vaardigheden (PAV): 1 of 2 contacturen per week plus zelfstudie
  • Hoorcollege
  • Laptopcollege

Verdeling leeractiviteiten

Activiteit

Aantal uur

Hoorcollege

14

Laptopcollege

28

Tentamen

3

Zelfstudie

123

Aanwezigheid

Aanwezigheidseisen opleiding (OER-B):

  • Voor practica en werkgroepbijeenkomsten met opdrachten geldt een aanwezigheidsplicht. Wanneer studenten niet voldoen aan deze aanwezigheidsplicht kan dit als gevolg hebben dat het onderdeel niet met een voldoende kan worden afgerond.

Aanvullende eisen voor dit vak:

Toetsing

Onderdeel en weging Details Opmerkingen

Eindcijfer

60%

Practicum

ieder deelcijfer >=4

25%

Tentamen

Moet ≥ 4 zijn, Herkansbaar

15%

PAV

Moet ≥ 5 zijnalleen voor informatici

De 7 practicumopgaven worden beoordeeld met een 1,4,6,8 of 10. De deadlines zijn strict, te laat ingeleverde opgaven worden niet nagekeken. De 7 opgaven moeten ieder met minstens een 4 worden beoordeeld. Als aan deze eis is voldaan vervalt het laagste practicumcijfer en tellen de overgebleven opgaven ieder voor 10% van het eindcijfer mee.

Aan het einde van het vak kan één practicumopgave opnieuw worden ingeleverd, deadline: 25 december 23:00.

Inzage toetsing

De datum, het tijdstip en de locatie van het inzagemoment staan in het rooster in DataNose.

Opdrachten

Opgave 1: Bash

  • Zie Blackboard

Opgave 2: Haskell

  • Zie Blackboard

Opgave 3: Prolog

  • Zie Blackboard

Opgave 4: Python

  • Zie Blackboard

Opgave 5: Go

  • Zie Blackboard

Opgave 6: Erlang

  • Zie Blackboard

Opgave 7: Afsluiting

  • Zie Blackboard

Onderstaande opdrachten komen aan bod in deze cursus:

  •    Naam opdracht 1 : beschrijving 2
  •    Naam opdracht 2 : beschrijving 1
  •    ....

Fraude en plagiaat

Dit vak hanteert de algemene ‘Fraude- en plagiaatregeling’ van de UvA. Onder plagiaat of fraude wordt verstaan het overschrijven van het werk van een medestudent dan wel het kopiëren van wetenschappelijke bronnen (uit bijvoorbeeld boeken en tijdschriften en van het Internet) zonder daarbij de bron te vermelden. Uiteraard is plagiaat verboden. Hier wordt nauwkeurig op gecontroleerd en streng tegen opgetreden. Bij verdenking van plagiaat wordt de examencommissie van de opleiding ingeschakeld. Wanneer de examencommissie overtuigd is dat er plagiaat gepleegd is dan kan dit maximaal leiden tot een uitsluiting van al het onderwijs van de opleiding voor een heel kalenderjaar. Zie voor meer informatie over het fraude- en plagiaatreglement van de Universiteit van Amsterdam.www.uva.nl/plagiaat

Weekplanning

Weeknummer Programmeertaal Deadline opgave
1  Bash 6 november 23:00
2  Haskell 13 november 23:00
3  Prolog 20 november 23:00
4  Python 27 november 23:00
5  Go 4 december 23:00
6  Erlang 11 december 23:00
7  Afsluiting 18 december 23:00
8  Tentamen  

 

Rooster

Aanvullende informatie

Aanbevolen voorkennis

Studenten worden geacht reeds te kunnen programmeren in een imperatieve taal (zoals Java). Vakken vergelijkbaar met Inleiding Programmeren (5062INPR6Y) bieden een goede voorbereiding voor dit vak.

Aanwezigheidsplicht

Aanwezigheid tijdens de laptopcolleges is verplicht voor eerstejaars Informaticastudenten.

Practicum Academische Vaardigheden

Onderdeel van het lesprogramma van dit vak is het Practicum Academische Vaardigheden (PAV).
Voor BSc informatica-studenten is voldoen aan de verplichting van PAV een voorwaarde om dit vak te kunnen afsluiten. Zie voor de details de studiegidspagina van de opleiding http://studiegids.uva.nl/xmlpages/page/2015-2016/zoek-opleiding/opleiding/1360/176171

Contactinformatie

Coördinator

  • Robin de Vries