Inleiding Programmeren

Introduction to Programming

6 EC

Semester 1, periode 1

5062INPR6Y

Eigenaar Bachelor Informatica
Coördinator Koen van Elsen
Onderdeel van Bachelor Informatica, jaar 1Dubbele bachelor Wiskunde en Informatica, jaar 1

Studiewijzer 2019/2020

Globale inhoud

Het schrijven van een oplossing voor een probleem met behulp van een computerprogramma wordt ook wel programmeren genoemd. Het kunnen programmeren zal een essentiële vaardigheid zijn die je niet alleen tijdens dit vak, maar ook gedurende de rest van je opleiding zult ontwikkelen. Om kennis te maken met het programmeren is er gekozen voor de object-georiënteerde programmeertaal Java. Zeker niet omdat Java de heilige graal is qua programmeertalen, integendeel, er zijn vele andere programmeertalen die beter ingezet kunnen worden voor het oplossen van bepaalde problemen. Echter is het wel zo dat Java vele concepten bevat die veelal voorkomen in andere imperatieve programmeertalen. De focus van dit vak ligt daarom ook niet op het dusdanig vaardig maken van studenten dat zij alle details van Java kennen, maar de focus ligt juist op het doen verwerven van inzicht in generieke programmeerconcepten, zodat zij die later in andere programmeertalen herkennen, en ze zich deze programmeertalen dus makkelijker kunnen aanleren.

Onderwerpen die onder meer aan de orde komen zijn: primitieve datatypen vs niet-primitieve datatypen, variabelen, expressies, if-statements, switch-statements, loops, invoer/uitvoer, methoden, objecten, klassen, pass-by-reference vs pass-by-value, public vs private, static vs non-static, final vs non final, overerving, overriding, overloading, polymorfisme, abstracte klassen, interfaces, exceptions en generics.

Studiemateriaal

Overig

  • Collegeslides en referenties naar online materiaal worden gepubliceerd op Canvas.

Leerdoelen

  • een probleem omzetten naar een computeralgoritme
  • een algoritme omzetten naar Java code
  • goed gestructureerde code (o.a. DRY code) construeren
  • zinvol commentaar aan code toevoegen
  • andermans code doorzien
  • foute invoer correct afhandelen
  • object-georiënteerde code (klassen, overerving en interfaces) ontwikkelen
  • inzicht tonen in het ontwerpen van programma's met een goede (klasse)structuur
  • de behandelde programmeerconcepten uitleggen en vergelijken

Onderwijsvormen

  • Hoorcollege
  • Laptopcollege
  • Zelfstudie

Verdeling leeractiviteiten

Hoorcollege 13 * 2u = 26 uur
Practica 21 * 2u = 42 uur
Oefentoets 2 uur
Schrijfopdracht 3 uur
Zelfstudie 95 uur
Totaal 168 uur

De 'zelfstudie' bevat zowel het zelfstandig afmaken van de practicum opdrachten, als het voorbereiden van de oefentoets en het tentamen.

Academische vaardigheden

Het vak Academische Vaardigheden Informatica 1 sluit aan op de andere vakken in het eerste collegejaar van de bacheloropleiding informatica, waaronder dit vak. Daarom wordt aangenomen dat een informatica student tegelijk Academische Vaardigheden Informatica 1 volgt.

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:

Aanwezigheid bij de hoorcolleges wordt aanbevolen. Aanwezigheid op het practicum is verplicht. 

Toetsing

Onderdeel en weging Details

Eindcijfer

30%

Tentamen

Moet ≥ 5 zijn

70%

Practicum

Moet ≥ 5.5 zijn

5%

Opgave 1: Introductie

Vereist

10%

Opgave 2: Palindromen

Vereist

15%

Opgave 3: Complexe Breuken

Vereist

15%

Opgave 4: Dr. Quackerjack

Vereist

15%

Opgave 5: Polynomen

Vereist

20%

Opgave 6: Hotel

Vereist

20%

Opgave 7: Lindenmayer

Vereist

Opdrachten:

Tijdens de cursus maak je elke week een opdracht. Deze opdrachten staan op Canvas en moeten via Canvas ingeleverd worden. De eerste 5 opdrachten moeten tijdens het eerste practicum in de week erna nagekeken en beoordeeld worden, hiervoor moet de student aanwezig zijn tijdens het practicum.

Herkansing: De herkansing van het tentamen vindt plaats eind december. Het practicum kan niet worden herkanst (los van de inhaalmogelijkheid op het einde).

Inzage toetsing

De manier van inzage wordt via de digitale leeromgeving gecommuniceerd.

Het tentamen wordt afgenomen via ANS en kan digitaal worden ingezien.

Opdrachten

Opgave 1: Introductie

  • Beschrijving wordt op Canvas gepubliceerd

Opgave 2: Palindromen

  • Beschrijving wordt op Canvas gepubliceerd

Opgave 3: Complexe breuken

  • Beschrijving wordt op Canvas gepubliceerd

Opgave 4: Dr. Quackerjack

  • Beschrijving wordt op Canvas gepubliceerd

Opgave 5: Polynomen

  • Beschrijving wordt op Canvas gepubliceerd

Opgave 6: Hotel

  • Beschrijving wordt op Canvas gepubliceerd

Opgave 7: Lindenmayer

  • Beschrijving wordt op Canvas gepubliceerd

Fraude en plagiaat

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.student.uva.nl

Weekplanning

Weeknummer

Onderwerpen Practicum Deadline Toets
1 Compileren, printen, selectie statements, for-loops, willekeurige getallen, stijl, commentaar, scanner, while-loops, do-while-loops, functies, methoden Opgave 1: Introductie zaterdag 5 september 18:00  
2 Spronginstructies, arrays, for-each-loops, primtieve datatypen, switch-case-statements, shortcut operatoren, methode overloading, pass by value/reference Opgave 2: Palindromen zaterdag 12 september 18:00  
3 Klassen, objecten, this, recursie, verkorte notaties, multi-dimensionale arrays, testen Opgave 3: Complexe breuken zaterdag 19 september 18:00  
4 Arraylists, wrapping en boxing, visibility modifiers, information hiding, getters/setters, sorteeralgoritmen, inlezen van bestanden Opgave 4: Dr. Quakerjack zaterdag 26 september 18:00  
5 immutability, JUnit, polymorfisme, interfaces, CLI-argumenten, instance of, dynamic binding, overerving, enums, exceptions, generics Opgave 5: Polynomen zaterdag 3 oktober 18:00  
6 Abstracte klassen, overerving (vervolg), iterators, string formatting, reguliere expressies, geneste klassen, reflection Opgave 6: Hotel zaterdag 10 oktober 18:00  
7

TBA, herhaling voor tentamen

Opgave 7: Lindenmayer zaterdag 17 oktober 18:00  
8       Schrijfopdracht

 

Rooster

Het rooster van dit vak is in te zien op DataNose.

Aanvullende informatie

  • Aanwezigheid tijdens de laptopcolleges is verplicht.

Verwerking vakevaluaties

Hieronder vind je de aanpassingen in de opzet van het vak naar aanleiding van de vakevaluaties.

Contactinformatie

Coördinator

  • Koen van Elsen