Programming Languages
6 EC
Semester 2, periode 4
5062PROG6Y
| Eigenaar | Bachelor Informatica |
| Coördinator | Robin de Vries |
| Onderdeel van | Bachelor Informatica, jaar 1Dubbele bachelor Wiskunde en 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.
Collegeslides en referenties naar online materiaal worden gepubliceerd op Canvas.
Het materiaal voor het Practicum Academische Vaardigheden staat op de aparte Canvas pagina genaamd 'Practicum Academische Vaardigheden INF jaar 1' en de website http://practicumav.nl/
Aan het eind van het vak kan de student
Activiteit | Aantal uur |
Hoorcollege | 14 |
Laptopcollege | 28 |
Tentamen | 3 |
Zelfstudie | 123 |
Aanwezigheidseisen opleiding (OER-B):
| 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 cijfer tussen de 1 en 10. De deadlines zijn strikt, 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: 1 april 18:00.
Om een inzagemoment aan te vragen, kun je contact opnemen met de coördinator.
Zie Canvas
Zie Canvas
Zie Canvas
Zie Canvas
Zie Canvas
Zie Canvas
Zie Canvas
Over het algemeen geldt dat elke uitwerking die je inlevert ter verkrijging van een beoordeling voor een vak je eigen werk moet zijn, tenzij samenwerken expliciet door de docent is toegestaan. Het inzien of kopiëren van andermans werk (zelfs als je dat hebt gevonden bij de printer, in een openstaande directory of op een onbeheerde computer) of materiaal overnemen uit een boek, tijdschrift, website, code repository of een andere bron - ook al is het gedeeltelijk - en inleveren alsof het je eigen werk is, is plagiaat.
We juichen toe dat je het cursusmateriaal en de opdrachten met medestudenten bespreekt om het beter te begrijpen. Je mag bronnen op het web raadplegen om meer te weten te komen over het onderwerp en om technische problemen op te lossen, maar niet voor regelrechte antwoorden op opgaven. Als in een uitwerking gebruik is gemaakt van externe bronnen zonder dat een bronvermelding is vermeld (bijvoorbeeld in de rapportage of in commentaar in de code), dan kan dat worden beschouwd als plagiaat.
Deze regels zijn er om alle studenten een eerlijke en optimale leeromgeving aan te kunnen bieden. De verleiding kan groot zijn om te plagiëren als de deadline voor een opdracht nadert, maar doe het niet.
Elke vorm van plagiaat wordt bestraft. Als een student ernstige fraude heeft gepleegd, kan dat leiden tot het uitschrijven uit de Universiteit.
Zie voor meer informatie over het fraude- en plagiaatreglement van de Universiteit van Amsterdam: www.uva.nl/plagiaat
| Weeknummer | Programmeertaal | Deadline opgave |
| 1 | Haskell | 11 februari 18:00 |
| 2 | Bash | 18 februari 18:00 |
| 3 | Prolog | 25 februari 18:00 |
| 4 | Python | 4 maart 18:00 |
| 5 | Erlang | 11 maart 18:00 |
| 6 | Go | 18 maart 18:00 |
| 7 | C++ | 25 maart 18:00 |
| 8 | Tentamen |
Het rooster van dit vak is in te zien op DataNose.
Aanbevolen voorkennis
Studenten worden geacht reeds te kunnen programmeren in een imperatieve taal (zoals Java). Vakken vergelijkbaar met Inleiding Programmeren (5062INPR6Y) en Datastructuren (5062DATA6Y) 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/2016-2017/zoek-opleiding/opleiding/2117/186549