INFO0902 - Data structures and algorithms

Random CS quote

It would appear that we have reached the limits of what it is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound pretty silly in 5 years.

John Von Neumann, circa 1949

Informations

Schedule

Assignment
07 Feb. 2020

Optional assignment:

Ex.
14 Feb. 2020

Exercise session 1: Pseudo-code and recursion

YouTube More Sierpinsky's triangle-like shapes

Deadline 21 Feb. 2020

Optional assignment deadline

Feedback Assignment Ex. 21 Feb. 2020

Exercise session 2: Analysis tools (first part)

YouTube Big O notation

Assignment 1:

Ex. 20 Mar. 2020

Exercise session 3: Stacks, Queues, Lists, Vectors and Sequences

Deadline
Ex.
27 Mar. 2020

Don't forget to submit your first assignment on the submission platform

Exercise session 4: Heaps, Priority queues and Trees

Assignment
31 Mar. 2020

Assignment 2:

Ex. 03 Apr. 2020

Exercise session 5: Dictionaries--binary search trees

Ex. 10 Apr. 2020

Exercise session 6: Dictionaries--hash tables

Exercise session 7: Brute force and memoization

/ 17 Apr. 2020

Easter holiday

Deadline 23 Apr. 2020

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

Assignment
Ex.
24 Apr. 2020

Assignment 3:

Bio-informatics assignment:

Exercise session 8: Dynamic programming and greedy approximations

Deadline
Ex.
08 May 2020

Exercise session 9: Graphs

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

Assignment
14 Jul. 2020

Statement for 2nd session assignment
Code

Deadline
24 Aug. 2020

Don't forget to submit your result for the 2nd session 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 are able to create online quizz on those topics to test your knowledge.

Misc.

Testing machines

The Assignments must compile on the ms8xx (xx=01..24) 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 14 2020 15:38