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 |
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.
Aan het eind van het vak kan de student
Activiteit | Aantal uur |
Hoorcollege | 14 |
Laptopcollege | 28 |
Tentamen | 3 |
Zelfstudie | 123 |
Aanwezigheidseisen opleiding (OER-B):
Aanvullende eisen voor dit vak:
Onderdeel en weging | Details | Opmerkingen |
Eindcijfer | ||
60% Practicum | ieder deelcijfer >=4 | |
25% Tentamen | Moet ≥ 4 zijn, Herkansbaar | |
15% PAV | Moet ≥ 5 zijn | alleen 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.
De datum, het tijdstip en de locatie van het inzagemoment staan in het rooster in DataNose.
Zie Blackboard
Zie Blackboard
Zie Blackboard
Zie Blackboard
Zie Blackboard
Zie Blackboard
Zie Blackboard
Onderstaande opdrachten komen aan bod in deze cursus:
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
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 |
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