INFO2050 - Advanced computer programming
Playing with pointers is like playing with fire. Fire is perhaps the most important tool known to man. Carefully used, fire brings enormous benefits; but when fire gets out of control, disaster strikes.
John Barnes, Programming in Ada 2012, Cambridge University Press, 2014, p. 189
|Assignment (optional)||21 Sep. 2018|
|Ex.||28 Sep. 2018||Exercise session 1: Pseudo-code and complexity|
|Deadline||04 Oct. 2018||Don't forget to submit the optional assignment on the submission platform|
|Assignment Discussion Ex.||05 Oct. 2018||
Exercise session 1: Pseudo-code and complexity (second part)
|Ex.||12 Oct. 2018||Exercise session 2: Recurrences|
|Q&A||19 Oct. 2018||Question and answer about the first assignment|
|Assignment Ex.||26 Oct. 2018||
Exercise session 2: Recurrences (second part)
Exercise session 3: Linked list, Stack, Queue
|/||02 Nov. 2018||No exercise session|
|Deadline||03 Nov. 2018||Don't forget to submit the first assignement on the submission platform|
|Ex.||09 Nov. 2018||Exercise session 4: Heap, priority queue, tree|
|Ex.||16 Nov. 2018||Exercise session 5: Binary search trees|
|Assignment Ex.||23 Nov. 2018||
Exercise session 6: Hash tables
|Ex.||30 Nov. 2018||Exercise session 7: Problem solving (brute force and divide-and-conquer)|
|Deadline||01 Dec. 2018||Don't forget to submit the second assignment on the submission platform|
|Ex.||07 Dec. 2018||Exercise session 8: Problem solving (dynamic programming)|
|Ex.||14 Dec. 2018||Exercise session 8: Problem solving (greedy)|
|Mock exam||21 Dec. 2018||
13:30 - Mock exam
|Deadline||23 Dec. 2018|
||09 Jul. 2019|
||18 Aug. 2019||
Don't forget to submit your result for the 2nd session assignment on the submission platform
FAQ for the third assignment
\n). It has been updated.
Note that leaving an empty newline at the end of an ASCII file is an implicit convention, as it allows for uniform scanning of the file and better printing on the console.
If you'd rather be spoiled, hover over this.
Supplementary materialVisual 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.
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.
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
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.