INFO0902 - Data structures and algorithms
As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
Maurice Wilkes discovers debugging, 1949
|Project Tutorial||10 Feb. 2017|
|Ex.||17 Feb. 2017||
Exercise session 1: Pseudo-code and recursion
|Deadline||23 Feb. 2017||
Note: Valgrind seems to have trouble on ms825, consider using an other machine
|Feedback Ex.||24 Feb. 2017||
Exercise session 2: Analysis tools
|Project Ex.||03 Mar. 2017||
Exercise session 2: Analysis tools (second part)
|Ex.||10 Mar. 2017||Exercise session 3: Stacks, Queues, Lists, Vectors and Sequences|
|Ex.||17 Mar. 2017||
Exercise session 4: Heaps, Priority queues and Trees
|Deadline Project||24 Mar. 2017||
Don't forget to submit your result for the first project on the submission platform
Exercise session 5: Dictionaries
|Ex.||31 Mar. 2017||
Exercise session 6: Data structures and dictionaries
Bring an internet-enabled device with you.
|/||7 Apr. 2017||
|/||14 Apr. 2017||
|Deadline Project||21 Apr. 2017||
|Ex.||27 Apr. 2017||Exercise session 7: Exhaustive search and divide-and-conquer|
|Ex.||5 Mai. 2017||Exercise session 8: Dynamic programming|
|Ex.||12 Mai. 2017||Exercise session 9: Greedy algorithms|
|19 May 2017||
13:30 -- Exercise session 10: Graphs
15:30 -- Mock exam
Don't forget to submit your result for the third project on the submission platform
|Deadline||21 May 2017||
Don't forget to re-submit your result for bonus on the submission platform
|Project||03 Jul. 2017|
|Deadline||14 Aug. 2017||
Don't forget to submit your second session projectsubmission platform
FAQ for the second project
'%zu'or simply ignore the warning.
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:
loginby your actual login and
xxby 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
rsync: a command line utility to synchronize remote files
sshfs: a command line utility to "mount" a remote directory
- 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.