INFO2050 - Advanced computer programming

Random CS quote

Testing can only prove the presence of bugs, not their absence.

Edsger W. Dijkstra

Informations

Schedule

Assignment (optional) 20 Sep. 2019

Statement for assignment 0
Code

/ 27 Sep. 2019
Deadline 03 Oct. 2019 Don't forget to submit the optional assignment on the submission platform
Assignment Discussion Ex. 04 Oct. 2019

First assignmnet
Code

Exercise session 1: Pseudo-code and complexity

Ex. 11 Oct. 2019 Exercise session 1: Pseudo-code and complexity (second part)
Ex. 18 Oct. 2019 Exercise session 2: Recurrences
Deadline 05 Nov. 2019 Don't forget to submit the first assignement on the submission platform
Ex. 08 Nov. 2019 Exercise session 3: Linked list, Stack, Queue
Assignment Ex. 15 Nov. 2019

Second assignment:

Exercise session 4: Heap, priority queue, tree

Ex. 22 Nov. 2019 Exercise session 5: Brute force and dynamic programming
Ex. 29 Nov. 2019 Exercise session 5: Brute force and dynamic programming
Assignment Ex. 06 Dec. 2019

Exercise session 6: Divide-and-conquer and greedy algorithms

Deadline 08 Dec. 2019 Don't forget to submit the second assignment on the submission platform
Ex. 13 Dec. 2019 Exercise session 7: Binary search tree
Ex. 20 Dec. 2019 Exercise session 8: Hash table
Deadline 20 Dec. 2019

Don't forget to submit the third assignment on the submission platform

Supplementary material

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

Assignments

Testing machines

The assignments 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.

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

  • FileZilla: a graphic, cross-platform FTP client
  • 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 December 20 2019 13:04