827154 :Advanced Programming CIS (HAIT/CSAI)


Voertaal Engels
Werkvorm: Lectures and assignments (Collegerooster)
Tentamenvorm: Computer exam (Tentamenrooster)
Studielast:6 ECTS credits
Inschrijving:Enrollment via Blackboard before start of lectures
Blackboard informatieLink to Blackboard (Als u de melding 'Guest are not allowed in this course' krijgt, dient u nog bij Blackboard in te loggen)


dr. M. Atzm├╝ller

Doel van de cursus (alleen in het Engels beschikbaar)

This course teaches students to:
  • analyse problems from the perspective of solving them with a computer
  • design algorithms to solve these problems
  • implement computer programs to solve these problems using the language Python
  • test computer programs to ensure their correct functioning

Inhoud van de cursus (alleen in het Engels beschikbaar)

The growth of the internet and associated services enabled the investigation of large text and data corpora. The processing and analysis of these corpora using statistical methods is difficult because of the enormous volumes of data. A computers is a powerful tool to perform such analyses automatically. This course provides students with practical skills to use computers as general tools for working with data sets and solving quantitative problems. The skills acquired are particularly helpful for reducing the time spent on data analysis in research (e.g., for Master thesis work).

The students will learn the basics of the computer language Python, which is suitable for quickly creating short programs to process texts and data sets. Python is a language that is easy to use by novices, yet sufficiently powerful to create programs of any size and complexity. Moreover, while being a complete, free-to-use, flexible, operating-system-independent language of its own, it also constitutes a strong basis to learn any other computer language from.

Compared to the master course 880254, as this course has more time available, it offers the same material as the master course plus some extra material, and does so at a slower pace, so that there is more time for thinking and internalization. For those who have no previous experience with programming, it is highly recommended to do this course instead of the master course, as experience has shown that the master course is simply too condensed for some students.

Bijzonderheden (alleen in het Engels beschikbaar)

Please mind: this course replaces Seminar Data Processing 822235.

The course is presented as a series of iPython notebooks. Students get an account on a server at the university, which makes all these notebooks available. The notebooks consist of instructions and exercises that can be done inside the notebooks or using a separate editor. In principle the notebooks contain all necessary information, and if they want students can do the course completely without further instructions if they simply follow the notebooks.

The course will be evaluated via a computer exam. Sometimes take-home exercises will be handed out, for which the students should submit solutions in the form of programs. These solutions will not count for the final grade, but handing them in is a requirement to be allowed to enter the computer exam. The main goal of the take-home assignments is to assure that the students keep working at a steady pace, and for the instructor to see where there are still problems.

Course material will be provided on Blackboard. There is also a lot of information on Python on the Internet.

Verplichte literatuur

  1. Course material on Blackboard and the iPython notebooks.

Aanbevolen literatuur

  1. Pieter Spronck, The Coder's Apprentice, 2016. This book will be made freely available as a PDF on blackboard
  2. llen Downey, Think Python 2nd edition, Green Tea Press, 2015. This book is published as a PDF file under the GNU Free Documentation License. It is freely available via http://greenteapress.com/thinkpython2/thinkpython2.pdf

Vereiste voorkennis

None, though an aptitude for abstract thinking is helpful.

Verplicht voor

  • Bachelor CIW: Cognitive Science and Artificial Intelligence ( 2017 )

Mogelijk interessant voor

  • Bachelor CIW: Bedrijfscommunicatie en Digitale Media ( 2014, 2015, 2016, 2017 )
  • Bachelor CIW: Tekst en Communicatie ( 2014, 2015, 2016, 2017 )
  • Bachelor CIW: Interculturele Communicatie ( 2014 )
  • Bachelor CIW: Human Aspects of Information Technology ( 2014, 2015, 2016 )
  • Bachelor CIW: New Media Design ( 2017 )