Programming Skills 

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

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


Contact information

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

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" grade.

Weights for the different parts of the course: to be done.

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
    • For Windows:
      1. Download and install Python 2.7 (32-bit) or Python 2.7 (64-bit). If you're not sure whether your machine is 32 bits or 64 bits, always choose 32 bits.
      2. Download and install the library Scitools SciTools‑0.9.0.win32‑py2.7.exe (32-bit) or SciTools‑0.9.0.win‑amd64‑py2.7.exe (64-bit).
      3. You will need additional libraries to make Scitools work. To test to make sure all necessary libraries are installed, go through the following steps:
        1. Start Python (command line mode)
        2. In the Python prompt, type the following, followed by pressing enter:
          from scitools.std import *
        3. If Python responds with an ImportError, you will need to install the mentioned library (typical libraries include scipy, numpy, matplotlib, ...). You can find the installation file in this list (choose the win32 for 32 bits and win-amd64 for 64 bits, and choose the py2.7 version). When you have installed the library, restart at step 1.
        4. When the above command does not return any ImportErrors anymore, type the following in the prompt, followed by pressing enter:
          plot(linspace(0,10,100), sin(linspace(0,10,100)))
        5. If Python responds with an ImportError, go to step 3.
    • For Mac OS X:
      1. Download and install Python version 2.7.
      2. Download and install ActiveTcl 8.6.1.
      3. Download and install Numpy 1.8.0.
      4. Download and install Matplotlib 1.3.1.
      5. Install Scitools:
        1. Download Scitools 0.9.0.
        2. Extract this file.
        3. Open the Terminal and navigate to the location you extracted the file, typically by typing:
          cd ~/Downloads/scitools-0.9.0
          followed by enter.
        4. Type ls followed by enter, and you should see a list of files, including a file called "setup.py".
        5. Type the following to install Scitools:
          python setup.py install
          .
        6. To test the installation, open IDLE and write the following Python code (it should produce a nice sine plot):
          from scitools.std import *
          plot(linspace(0,10,100), sin(linspace(0,10,100)))
  • 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.

Planning

Week

Date

Type

Room

Subject

1Monday 10 February 13:45 - 15:45Theory No Class
1Tuesday 11 February 10:45 - 12:45Lab sessionNo Class
2Monday 17 February 13:45 - 15:45Theory G.U.241 Course introduction
2Tuesday 18 February 10:45 - 12:45Lab sessionG.US.103Introduction to Python and MATLAB
3Monday 24 February 13:45 - 15:45Theory G.U.241 Chapter 1: computing with formulas
(types, variables, comments, formulas and formats)
3Tuesday 25 February 10:45 - 12:45Lab sessionG.US.103Debugging, Assignments 1
4Monday 3 March 13:45 - 15:45Theory G.U.241 Chapter 2: loops and lists
(while, for, lists)
4Tuesday 4 March 10:45 - 12:45Lab sessionG.US.103Assignments 2
5Monday 10 March 13:45 - 15:45Theory G.U.241 Chapter 2: loops and lists
(nested lists, slices, tuples)
5Tuesday 11 March 10:45 - 12:45Lab sessionG.US.103Assignments 3
6Monday 17 March 13:45 - 15:45Theory G.U.241 Chapter 3: functions and branching
6Tuesday 18 March 10:45 - 12:45Lab sessionG.US.103Testing, Assignments 4, Project 1
7Monday 24 March 13:45 - 15:45Theory G.U.241 Chapter 4: inputdata and modules
(reading input, making modules)
7Tuesday 25 March 10:45 - 12:45Lab sessionG.US.103Assignments 5
8Monday 31 March 13:45 - 15:45Theory G.U.241 Chapter 5: array computing and curve plotting
(arrays, plotting)
8Tuesday 1 April 10:45 - 12:45Lab sessionG.U.241 Assignments 6, Project 2
8Sunday 6 April 23:55 Deadline Project 1
easter holiday
9Monday 21 April 13:45 - 15:45Theory G.U.241 No Class, Easter Monday
9Tuesday 22 April 10:45 - 12:45Lab sessionG.US.103Project 2 questions
9Tuesday 22 April 13:30 - 19:30Defense T.135 Project 1
9Sunday 27 April 23:55 Deadline Project 2
10Monday 28 April 13:45 - 15:45Theory G.U.241 Chapter 5: array computing and curve plotting
(higher dimensional arrays)
Appendix A: sequences and difference equations
10Tuesday 29 April 10:45 - 12:45Lab sessionG.US.103Assignments 7, Project 3
10Wednesday 30 April 13:30 - 19:30Defense T.135 Project 2
11Monday 5 May 13:45 - 15:45Theory No Class, moved to Wednesday
11Tuesday 6 May 10:45 - 12:45Lab sessionNo Class
11Wednesday 7 May 16:00 - 18:00Theory G.U.241 Chapter 6: files, strings and dictionaries
12Monday 12 May 13:45 - 15:45Theory G.U.241 Appendix B: introduction to discrete calculus
Appendix C: differential equations
12Tuesday 13 May 10:45 - 12:45Lab sessionNo Class, moved to Wednesday
12Wednesday 14 May 13:45 - 15:45Lab sessionG.US.103Assignments 8
13Monday 19 May 13:45 - 15:45Theory G.U.241 Course overview/conclusion
13Tuesday 20 May 10:45 - 12:45Lab sessionG.US.103 Project 3 questions
13Sunday 25 May 23:55 Deadline Project 3
exam periodWednesday 28 May 09:00 - 15:00Defense G.T.138Project 3/Exam

Maintained by Hans Vangheluwe. Last Modified: 2014/12/04 11:50:53.