INFO2050 - Advanced computer programming

Random CS quote

There are very different programming styles. I tend to see them as Mozart versus Beethoven. When Mozart started to write, the composition was finished. He wrote the manuscript and it was 'aus einem Guss' (from one cast). In beautiful handwriting, too. Beethoven was a doubter and a struggler who started writing before he finished the composition and then glued corrections onto the page. In one place he did this nine times. When they peeled them, the last version proved identical to the first one.

Edsger W. Dijkstra



Project 23 Sep. 2016

Statement for project 0

Ex. 30 Sep. 2016 Exercise session 1: Pseudo-code and complexity



7 Oct. 2016

Feedback for project 0

Exercise session 2: Summations and recurrences (first part)

Project Ex. 14 Oct. 2016

Statement for project 1

Exercise session 2: Summations and recurrences (second part)

Ex. 29 Oct. 2016 Exercise session 3: Queue, Stack, Vector and Sequence
Deadline 03 Nov. 2016 Don't forget to submit your project 1 on the submission platform
Project Ex. 04 Nov. 2016

Statement for project 2
Check out the FAQ for the 2nd project
Update 28 Nov. 2016

Exercise session 4: Heap, Priority Queue, Tree

Ex. 18 Nov. 2016 Exercise session 5: Dictionaries
Ex. 25 Nov. 2016 Exercise session 6: Data structures and dictionaries

01 Dec. 2016

03 Dec. 2016

Don't forget to submit your project 2 on the submission platform
Project 02 Dec. 2016

Statement for project 3
The reference database
The testing database
The sequences to recognize
The python MFCC script
A 1-2-3-4 sequence to test your algorithm

The code has been updated on Dec. 16th

A sequence file has been added on Dec. 21th

The file has been updated on Dec. 22th

Ex. 09 Dec. 2016 Exercise session 7: Problem solving

22 Dec. 2016

23 Dec. 2016

Don't forget to submit your project 3 on the submission platform
Ex. 16 Dec. 2016 Exercise session 8: Problem solving
Ex. 23 Dec. 2016

Exercise session 9: Problem solving

Exam correction

Project 03 Jul. 2017

Statement for project 4

Deadline 14 Aug. 2017

Don't forget to submit your second session projectsubmission platform

Supplementary material

Visual Algo is a site which illustrates many algorithms and data structures of the course. In additation. In addition, in the training section, you are able to create online quizz on those topics to test your knowledge.


FAQ for the 2nd project

The BST should be able to hold several times the same keys for this project. The BinarySearchTree.h header has been adapted in that regard.
The lists should indeed be sorted, but not according to the same field. Overall, this is as if they weren't sorted.
They should return a list of size 0. The header files and the submission platform have been updated accordingly.

Testing machines

The projects must compile on the ms8xx (xx=01..25) machines !

Firstly, you need to create an account through the registration page.

Then you can connect to the machines thanks to SSH with the following command:

  • ssh
where you need to replace login by your actual login and xx by a machine number (xx=01..25). SSH will open a terminal on the remote machine. For windows user, the PuTTY utility will mimic SSH behaviour (an illustrated step-by-step tutorial can be found here).

Several solutions are available to ship source code to and from the ms8xx machines.

  • FileZilla: a graphic, cross-platform FTP client (an illustrated step-by-step tutorial can be found here)
  • scp: a command line utility to transfert file from/to remote hosts (it works much like the cp command)
  • rsync: a command line utility to synchronize remote files
  • sshfs: a command line utility to "mount" a remote directory
Those utilities might need some configuration/getting-used-to. A few hints to help you out:
  • Read the man page (so you can say you have)
  • Try the help flags -h, --help (you might even get useful information)
  • Google your questions or get a succinct tutorial (others have stumbled on the same difficulties, let them help you)
  • Script the data transferts, compilation steps, testing suite (human memory is the most expensive)

Oh, and be sure to chmod your home folder to prevent others from messing with your files.


Last modified on July 03 2017 14:02