Prospectus

nl en

Introduction to Programming (MSc)

Course
2019-2020

Admission Requirements

Bachelor degree (completed).

Further requirements: Enthusiastic about creating programs, games and/or user experiences. All lectures involve the use of a personal laptop (Windows, Mac, or Linux).

Description

Learning a programming language is surprisingly similar to learning a new spoken language. At first, we become familiar with the vocabulary and the rules that provide structure. With practice we gain the ability to communicate complex thoughts and add nuance to our conversations.

However, where humans can deal with ambiguity and imperfect structure, computers require us to be precise, consistent and systematic at all times. This can be difficult to get used to and can make programming seem like an insurmountable challenge.

In the "Introduction to Programming" course we overcome this challenge through reviewing foundational principles of programming and applied practice. As part of the course, you will create programs on a weekly basis, based on a list of requirements. Some of the programs are meant to carry out work for you, while others are playful or aesthetically interesting. Whatever the functionality, you are asked to find a way to create it. Programming in this course will be discussed through a text-based language (Java via Processing) as well as a visual programming language (Pure Data). Rather than make you an expert in a specific programming language, the aim of the course is making you proficient in understanding and creating code in any language. This will allow you to choose the best tool (i.e. programming language) depending on what it is you want to achieve. In addition to getting acquainted with programming, you will also learn to version-control your code with GIT.
All teaching material used in this course is freely available. You will need access to a computer with Internet access at home (Windows, Mac or Linux), and bring your own laptop to each class. Note that the course is part of the Media Technology MSc curriculum. If you are a student of the programme, the content of this course will be important for subsequent courses.
If you are unsure if this course is right for you, write the lecturer with your concerns. If you require specific assistance of any kind in class or after, be sure to let the lecturer know as soon as possible, either before the start of the course, or very soon thereafter.

Course Objectives

  • Create programs that can act as tools or as artefacts for entertainment (e.g. games, interactive artworks)

  • Gain the ability to understand and modify programs written in a range of modern programming languages

  • Gain the ability to teach the fundamentals of programming to others

  • Deconstruct the intended functionality of a program into smaller tasks

  • Find several ways to solve a task and make informed decisions when choosing specific solutions

  • Work with version control systems

Time Table

The dates are included in the Media Technology calendar

Mode of Instruction

Lectures, practice lab, self study and group work

Course Load

Note that course load are estimates based on acquiring a sufficient grade. Some will require more time to put the lecture content into practice, while others might require only a fraction of the time.

Assessment Method

Weekly programming assignments, weekly code tests, final project, and final exam.

Assessment and grading method (in percentages):

  • written examination with short questions (weekly) – 15%

  • written examination with short questions (final) – 35%

  • programming assignments (weekly) – 15%

  • programming assignment (final) – 35%

The final mark is determined by the weighted average. Note that both the final exam (35%) and the final programming assignment (35%) need to be passed with a grade of 5.5 or higher. A low mark can thus not be compensated by a high mark of another assessment method.

Final assessment method can be re-taken once. Weekly assessments cannot be re-taken.

Blackboard

blackboard

Reading List

The Coding Train: Introduction (YouTube Playlist)
http://www.youtube.com/watch?v=2VLaIr5Ckbs&list=PLRqwX-V7Uu6ZYJC7L-r6rX6utt6wwJCyi
The Coding Train: Variables (YouTube Playlist)
http://www.youtube.com/watch?v=B-ycSR3ntik&list=PLRqwX-V7Uu6aFNOgoIMSbSYOkKNTo89uf
The Nature of Code by Daniel Shiffman
http://natureofcode.com/book/introduction/

Note that further study material will be provided by the lecturer during the course.

Registration

  • You have to sign up for courses and exams (including retakes) in uSis.

  • Please also register for the course in [Blackboard].

  • Due to limited capacity, non-Media Technology students (external and exchange) can only register after consultation with and approval of the programme coordinator/study advisor (mailto:mediatechnology@leiden.edu).

Contact

Barbara Visscher-van Grinsven, programme coordinator/study advisor for the Media Technology MSc programme (mailto:mediatechnology@leiden.edu).

Remarks

Curriculum link