DD1337 HT17 (50654) Programming

Welcome

Course Outline

This is a basic course in computer science which starts with an introduction to how to use computing environment at KTH. Throughout the course we will use Java as the main programming language and we'll also use Git/Github to manage the coursework assignments.

In this course you'll learn the following:

  • Use command line, version control and typesetting software
  • Become confident with the Java programming language
  • Design and implement simple sequential programs to solve problems
  • Develop design, documentation and testing abilities
  • Hopefully, code with style!

For more information on how the course is managed, with tips and advice, please read the course guide that has been created by former students and teaching assistants.

Lectures

Every week, there is a lecture that will introduce the topic, provide the necessary background and as well as discussing the weekly assignments. Please note that the lectures linked beneath may change, so check back before the lecture.

Week 35 Environment ( Ladda ner Bash, Ladda ner Github, Ladda ner LaTeX)
Week 36 Ladda ner Course Information & Ladda ner Objects and Classes
Week 37 Ladda ner Understanding Class Definitions (I)
Week 38 Ladda ner Understanding Class Definitions (II)
Week 39 Ladda ner Object Interaction
Week 40 Ladda ner Grouping Objects (I)
Week 41 Ladda ner Grouping Objects (II)
Week 44 Ladda ner Documentation and Useful Class Libraries
Week 45 Ladda ner Designing Classes and Ladda ner Exceptions & Basic IO
Week 46 Ladda ner Well-behaved Objects


Click for the full schedule.

Labs

Every week there is a 2hr lab. These labs are reserved for you to come and work on the assignments and get support from teaching assistants.

Assignments

In the first three weeks, you must complete the basic introduction assignments. These are mandatory and you must have your work approved by a teaching assistant.

From the second week onwards, there will be weekly assignments that must be completed each week. You will be assigned to a group in the first week, and a teaching assistant will help guide you through the assignments. We have beginner, regular, plus and plus-plus groups to suit all levels of ability. We will make sure you find a group you are comfortable with. Finally, there are two övningar groups in the schedule - one early and the other later in the day. You only need to attend the one you are assigned to.

Goto Assignments page via navigation bar when you are ready to begin!

Course Literature

We have one recommended book if you are new to programming. Assignments build on the content of this book, however exercise texts are provided in the assignments.

Required Reading

objfj6ed-1.jpg

Objects First with Java (6th Ed.) Länkar till en extern sida.
By D. Barnes and M. Kölling

More resources (project source code, video lectures, etc) at: http://www.bluej.org/objects-first/ Länkar till en extern sida. Länkar till en extern sida.

n.b. 4th and 5th editions are still usable.

Optional Texts
cc.jpg

Code Complete (2nd Ed.) Länkar till en extern sida.

By S. McConnell

An excellent book that collects together a wealth of practical tips on how to make your code better.  

ej.jpg

Effective Java (2nd Ed.) Länkar till en extern sida.

By J. Bloch

Considered to be one of the best books on refining your skills in Java and progressing beyond the level of a basic understanding in Java.