Programming Skills 

On this page you will find information about the course "Programming Skills" (1002WETPRV) for the second semester of the 2015-2016 academic year at the University of Antwerp.

This page is written in English for the benefit of foreign Erasmus students.


Contact information

Textbook

The textbook for the course is A Primer on Scientific Programming with Python by Hans Petter Langtangen. Both the 2014 fourth edition and the earlier third edition can be used for this course.

Resources (errata, example programs) for both editions of the textbook can be found at http://hplgit.github.io/scipro-primer/.


Exams
First Session

Your total score for this course depends on the following:

  • Permanent evaluation: Projects Python
  • Permanent evaluation: Projects MATLAB
  • Permanent evaluation: Defense projects Python
  • Permanent evaluation: Defense projects MATLAB
  • Examination on essential theory

To pass the course, you need to obtain an overall score of at least 50% and a score of at least 50% on the individual Python and MATLAB projects and defenses. You will also have to submit all projects and attend all defenses, if not you will get an "absent" (AFW) grade.

Weights for the different parts of the course:

  • Project 1: 25%
  • Project 2: 30%
  • Project 3: 30%
  • Theory (oral) Examination: 15%
Second Session

To be done (hopefully not)



Theory
All lectures (in PDF format) can be found online (on Blackboard) and at the location announced in class.


Lab Sessions

In each lab session, you will be given some assignments and/or a project. A typical lab session will take two hours and have the following structure:

  • discussion of solution of one or more assignments of the previous lab session (approximately 30 mins);
  • demonstration of the new-learned Python constructs in MATLAB (approximately 30 mins);
  • solving assignments individually (approximately 45 mins to 1 hour);
  • (if applicable) introduction of project (approximately 15 mins)
All assignments are made individually, projects are solved in groups of two students.

Assignments

These assignments are small exercises to familiarize you with programming concepts. You are expected to finish the assignments before next week's lab session. In the next lab session, one or more of the more challenging exercises will be explained at the beginning of the class, if necessary. Your solutions are not graded.

Projects

At the given times in the schedule below, a new "project" is enabled on Blackboard. On every project you will work in pairs of two students.

A project solution will include a program in which you have implemented your solution. Your program will be evaluated as follows:

  • it produces the correct results;
  • it is well-structured;
  • it is well-documented.

For every project, you submit a small report of the project (+- 1000 words, as a PDF). A report typically consists of (and will be graded on) the following:

  • a summary of everything you implemented;
  • an explanation of how you arrived to your solution (follow the domain/mathematical/programming-phases as described in the course);
  • an interpretation and discussion of the simulation results (outcomes, plots, etc, ...).

During the semester, you will be evaluated for every project. At these evaluation moments, you are expected to be able to answer practical (typically using your project solution as context) as well as theoretical questions, as these are your only graded evaluation moments. You will immediately receive feedback.

Your first task will be to form groups of two and subscribe your group on Blackboard. Both students of your group navigate to working tools, then groups to subscribe.

Tools

Throughout the course we will use the following tools that are installed in the pc lab. Install them on your personal computer (not required) as follows (using Windows is highly recommended):

  • Python 2.7
    1. Download and install the Anaconda Scientific Python Distribution. It includes Python 2.7, most of the Python libraries we use in this course and the Python editor Spyder.
    2. Install the SciTools library
      • For Windows:
        1. Open a console (Windows button+R, then type "cmd" and press enter)
        2. Execute the following command:
          conda install -c krisvanneste scitools_no_easyviz
        3. When asked to proceed (y/n), type "y" and press enter
      • For Mac/Linux:
        1. Open a console
        2. Execute the following command:
          conda install -c asmeurer scitools
        3. When asked to proceed (y/n), type "y" and press enter
        4. Then, execute the following command:
          conda update numpy
        5. When asked to proceed (y/n), type "y" and press enter
  • MATLAB
    • Download and install MATLAB using these instructions.
    • You need Java to be able to use the MATLAB downloader.

Install these tools before the first lab session! If you run into installation problems, contact Bart Meyers.

Blackboard caveats

The burden of timely submission of your work on Blackboard is on you! (late submissions are not accepted)

  • Beware that Blackboard's clock may differ slightly from that on your computer. Allow a margin for submission.
  • Be sure to check that your submission was actually made. Check for example under Grade Centre whether your (as yet unmarked) submission shows up.

(tentative) Planning

To do.


Maintained by Hans Vangheluwe. Last Modified: 2016/06/19 17:53:06.