INFO2050 - Advanced computer programming

Random CS quote

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

Informations

Schedule

Project (optional) 22 Sep. 2017

Statement for project 0
Code

Ex. 29 Sep. 2017 Exercise session 1: Pseudo-code and complexity
Project Ex. 06 Oct. 2017

First assignmnet
Code

Exercise session 1: Pseudo-code and complexity (second part)

Ex. 13 Oct. 2017 Exercise session 2: Recurrences
Ex. 20 Oct. 2017 Exercise session 2: Recurrences (second part)
Project Ex. 27 Oct. 2017

Second assignment
Code
Updated on 3rd of November

Exercise session 3: Linked list, Stack, Queue

Deadline 03 Nov. 2017 Don't forget to submit the first assignement on the submission platform
Ex. 10 Nov. 2017 Exercise session 4: Heap, priority queue, tree
Project 24 Nov. 2017
Deadline 01 Dec. 2017 Don't forget to submit the second assignment on the submission platform
Deadline 22 Dec. 2017 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.

Projects

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.

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 November 10 2017 14:01