INFO2050 - Advanced computer programming

Random CS quote

This is generally true: any sizeable piece of program, or even a complete program package, is only a useful tool that can be used in a reliable fashion, provided that the documentation pertinent for the user is much shorter than the program text. If any machine or system requires a very thick manual, its usefulness becomes for that very circumstance subject to doubt!

Edsger W. Dijkstra

Informations

Schedule

Project 23 Sep. 2016

Statement for project 0
Code

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

Feedback

Ex.

7 Oct. 2016

Feedback for project 0

Exercise session 2: Summations and recurrences (first part)

Project Ex. 14 Oct. 2016

Statement for project 1
Code

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
Code
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
Deadline

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
Code
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 wav2mfcc.py file has been updated on Dec. 22th

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

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
Code

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.

Projects

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 login@ms8xx.montefiore.ulg.ac.be
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.

Misc.

Last modified on July 03 2017 14:02