=========================== “Programming” - Resources =========================== Syllabus ======== 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.** .. __: index.html 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. Assignment manual ================= 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. Course books ============ The other documents in this syllabus will make references to the following books: 1. Allen B. Downey - Think Java: How to Think Like a Computer Scientist. Download for free at: http://greenteapress.com/thinkapjava/ 2. David J. Eck - Introduction to Programming Using Java, 7th Edition. Download for free at: http://math.hws.edu/javanotes/ 3. 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. .. note: The book “Absolute Java” is the traditional book advised for the “Programming” course given at VU amsterdam. I find this book OK, although due to its high price, I will never require my students to acquire a personal copy. It is possible to complete the course successfully using other books as well. Software ======== This is a programming course so you will be expected to write and run programs. For this two main tools are necessary: - a *language compiler and/or interpreter* to run your programs, and - a *text editor*, which you will use to write your programs. 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. .. __: https://en.wikipedia.org/wiki/Java_%28programming_language%29 .. __: http://www.oracle.com/technetwork/java/javase/downloads/index.html 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. .. __: https://www.gnu.org/software/emacs/ .. __: http://eclipse.org/ Example programs ================ 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 Summary ======= In this part you have learned: - which documents are involved in this course; - the existence of the instruction manual and where to obtain it; - the title of the 3 books referred to in the lectures; - which software you must obtain and use; - where to find the example programs.