Lecturer: Marco Sampaio, Physics Department Office 13.3.31.4
Outline: The aim of this course is to have a weekely hands on sessions open to users of all levels. We will start from basics assuming no knowledge of the language, and will follow some hands on references (see below). The idea is to start from the basics and build up slowly and progressively to more complex material. We will be deciding, on a weekly basis, a set of sections to discuss in each session. All examples will be discussed step by step and the sessions are supposed to be interactive, with suggestions from the users. Users will be encouraged and guided to read certain parts of the material in the references in advance, make a list of questions or things to discuss, and to solve some homework exercises. The format of the sessions will be to alternate between dissection of the examples of the book on the board/data show, and problem solving where users write their own code (individually or discussing with the group).
There will be a session on Mondays after the seminar/weekly activity, it is planned to take place at 16.00 in the GAP room and to last roughly 1h00~1h15. People can continue from there if they want to stay longer.
References:
Pedagogical book based on dissecting examples: C++ by Dissection / Ira Pohl. & Companion quick reference book: C++ Destilled
Primary reference: C++ Primer, Fourth Edition
By Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
Addison Wesley Professional
System configuration:
If you are a linux user it is very easy. You just need to install a couple of compilers and an editor. You should install the gcc compiler, gnu make and I would advise emacs as an editor.
If you're a Mac user it is not too difficult either, you need to install xcode which already comes with an editor as well. If you want you can also try emacs.
If you use windows you need cygwin and a couple of other tricks. You need to install the gcc compiler, the gnu make tool and you can either install emacs natively or xemacs in cygwin (or any other editor of your choice).
Useful links:
If you are unfamiliar with using the command line you can find several online guides. Usually it is enough to find a list of basics commands to get started. I did a quick search online and found some useful links. I will be posting further useful links in this section in the future.
An introduction to the command line http://www.physics.ubc.ca/mbelab/computer/linux-intro/html/ with a selection of the most used commands in the first section.
A step by step tutorial with snapshots! http://www.ee.surrey.ac.uk/Teaching/Unix/
And a list of commands organised by type of task, with a description comment http://www.pixelbeat.org/cmdline.html