Admission Requirements
LET OP: de hoorcolleges worden in het Engels gegeven
Description
The course Programming Methods NA introduces Python as modern and easy to learn programming language. Next to programming, we also pay attention to the preparation of algorithms, such as sorting algorithms, and to principles from software engineering. In the last part of the lecture series, we examine the use of Python in a scientific context: performing numerical calculations, data processing and analysis, and creating high-quality plots. The course aims to provide every student with the basic principles and concepts of programming, including a "working knowledge" of Python. Students who have successfully completed this course will be able to use their own computer programs (Python or another language) in their further study career during classes or research. The overall goals of the course are thus:
provide every student with basic programming capabilities in Python
lead students to experience team work programming
enable students to continue and improve after the course
Course objectives
Concretely, this course enables students to:
prepare simple programs in an imperative programming language (Python)
deal with UNIX systems and Python development environments
explain and reproduce a number of simple algorithms (including sorting algorithms)
translate problems and your own solutions into Python code
prepare programs in a well-organized and structured way
work with data structures such as lists, dictionaries and arrays
describe the basic principles of object oriented programming and write a class yourself
use Python to perform numerical calculations with the help of NumPy
use Python for reading and writing files
use Python to create neat plots based on calculated and/or experimentally determined results, using NumPy and matplotlib
use extensions (modules) developed by others
do simple scientific experimentation using your own programs.
Timetable
Schedule
For detailed information go to Timetable in Brightspace
Mode of instruction
Lectures 2 hours, lab sessions 2 hours. Self study/group work, especially on the assignments will be necessary. It is not possible to perform the assignments only in the lab sessions where we also partly look at other practical problems.
As the course is for 1st semester bachelor students with very different programming skills (from professional to zero), we follow a slightly unorthodox course layout, in this chronological order:
a) intro lectures that deal with programming itself, and explain most basic programming concepts in Python
b) online entry exam (does not count for the final course grade), this is to get an overview of students' current programming skills
c) students not passing b) have to do a mandatory online course part that helps them to train Python concepts in parallel to the lecture, who passes b) can skip that
d) lecture continues
e) in parallel to the lecture we start the homework assignment phase, relatively simple online tests (individual)
f) lecture continues, programming assignments start
g) in the last weeks, we focus on finishing the programming assignments, lecture only as needed
Assessment method
Around 4 homework assignments (individual), together 20% of the grade
2 smaller group programming assignments (20% of the grade each)
1 larger group programming assignment (40% of the grade)
Each of these components must be completed with a grade of at least 5.5 in order to pass.
Please note that programming submissions are regularly checked for plagiarism.
Reading list
There are a lot of online courses and books, any of these can be helpful. I personally like this one (it is also used here and there in the lecture):
http://www.spronck.net/pythonbook/
Brightspace
Instructions and course material can be found on Brightspace. Registration for Brightspace occurs automatically when students enroll in uSis via uSis by registration for a class activity using a class number
Contact
Docent Mike Preuss
Onderwijscoördinator Informatica, Riet Derogee