The syllabus for the course is structured as a series of short documents like this one. The index page provides a list of all the documents in the syllabus. Keep a bookmark to the index page and refer to it for self-study before and after each lecture.
The following typography rules apply:
terms in italics are important concepts which you must thoroughly understand.
“Understand” in this context means you must know the concept from the top of your head, and you must be able to explain it in your own words to someone else.
terms in bold are instructions to follow.
All the programming exercises for which you will receive grades are described in a comprehensive “Instruction Manual” that can be downloaded from BlackBoard. Download a copy of this document and keep it ready at all times.
The instruction manual in turn refers to example input files for the programming assignments. These files can also be downloaded from BlackBoard.
The other documents in this syllabus will make references to the following books:
Allen B. Downey - Think Java: How to Think Like a Computer Scientist.
Download for free at: http://greenteapress.com/thinkapjava/
David J. Eck - Introduction to Programming Using Java, 7th Edition.
Download for free at: http://math.hws.edu/javanotes/
Walter Savitch - Absolute Java, 5th Edition,
Addison-Wesley, 2012. ISBN 978-0-13-283031-7.
The references will be given with page numbers referring to the printed form or PDF document. Keep a bookmark to these books. Ensure you use the printed form or PDF document instead of the HTML “web page” format for the first two books.
This is a programming course so you will be expected to write and run programs. For this two main tools are necessary:
Programs are written in a programming language. As with natural languages, there are different programming languages. This particular instance of the course chiefly uses the Java programming language. The language compiler and other tools for this language are contained in the Java Development Kit (JDK). You must obtain and install a copy of this.
Many text editors exist and are adequate for this course. Except for the first two modules, the practical assignments do not require you to use a particular text editor -- you can decide for your own. For example, I personally use Emacs, although the assistants may recommend you to use Eclipse instead.
During my lecture I develop and explain example programs interactively. These can be subsequently viewed and downloaded from the following address:
http://github.com/knz/programming
In this part you have learned: