Welcome to the course homepage of DIT948 Programming

News

- (29/08): Review of re-re-exam: 31/08, 15:00-17:00, in supervision hall Mållgan (2nd floor, Patricia building)

- (22/08): Re-Re-Exam problems and solutions with scoring

- (13/01): Review of the re-exam: 22/01, 13:00-15:00, in the room outside the Student Office on the fourth floor in Jupiter building.

- (13/01): Presentations for all assignments will be on Thursday 14/01, 15:00-17:00 in the main supervision hall (Mållgan). Please make sure you have uploaded all assignments in GUL, otherwise I can not report your grades.

- (05/01): Re-Exam problems and solutions with scoring

- (08/12): Deadline for last submission of ALL assignments is now open until January 13, 23:55. Note that this is your LAST CHANCE to pass the assignments part for the course. Otherwise, you will have to redo all assignments next year. Please make sure you upload all assignments in GUL and present them to the TAs. Drop an email to Musard whenever in doubt.

- (3/11): Review of the exam: 18/11, 13:00-15:00, room 421 and 19/11, 13:00-15:00, room 400. Both rooms are in Jupiter, 4th floor.

- (28/10): Assignment 3 has been posted (see below)

- (28/10): Exam problems and solutions with scoring

- (26/10): Extra exercise sessions 2/11, 13:00-15:00 and 4/11, 15:00-17:00

- (19/10): Final exam is on Wednesday 28/10

- (19/10): Thursday 22/10, 15:00-17:00, TAs will be in the supervision hall for late assignment presentations

- (19/10): Lectures and exercise sessions are over. Thanks to everyone

- (12/10): Resubmission for Assignment 1 is now open

- (5/10): Assignment 2 has been posted (see below)

- (4/10): Old exams have been posted (see below)

- (23/9): No lectures next week (study week). Exercise sessions will be held as usual

- (23/9): Presentation of Assignment 1 on Thursday, September 24, during the exercise session

- (16/9): Deadline for Assignment 1 is now on September 23, 23:55

- (9/9): Fixed typo in Assignment 1 and added template to start off

- (7/9): Assignment 1 has been posted (see below)

- (2/9): Note that the supervision time on Wednesdays has changed to 15:00 - 17:00

- (1/9): New version of library dit948.zip is now available

- (31/8) Students from previous years who failed the assignments part should redo all assignments from this year

- Monday 31/08/2015: Off we go into programming fun

- (30/8): The library dit948.zip is now available

Instructor and TAs

Instructor: Musard Balliu (musard@chalmers.se)

Teaching Assistants: Jerker Ersare, Jonas Kahler, Ibtissam Karouach, Jiaxin Li, Rafael da Silva Martins, Omar Abu Nabah, Petroula Theodoridou, Ivo Vryashkov

Course email address: dit948.programming@gmail.com. Instructor and TAs have access to this address

Course objectives

After completing the course, the students should have a firm knowledge of

Timetable

From August 31st to October 28th: lectures on Mondays and Wednesdays, 9:15-12:00; exception: there will be no lectures in the week Spetember 28 - October 4. Lectures will be held in room Alfons on the 2nd floor in house Patricia.

Supervision sessions: Mondays 13:15-15:00, and Wednesdays and Thursdays 15:15-17:00, in the main supervision hall (Mållgan).

Assignments

During the course there will be 3 written assignments preferably carried out in groups of 2 students (exceptions have to be agreed with the instructor). Assignments must be submitted via the GUL, otherwise they cannot be graded. Students are allowed to submit each assignment at most three times. Submission deadlines are strict and will be announced during the course.

  1. The first assignment has been posted! It is due no later than September 23, 23:55.
    Update (16/09): If you submit the assignment by 23/09, it is enough (in addition to other tasks) to have the program work for operands with 1-digit only in order to get a VG. Otherwise, the same rules as described in the PDF will apply.
    You can use this template to solve this assignment, but you are not required to do so.
    This link describes methods of class String which might be helpful.
  2. The second assignment has been posted! It is due no later than October 14, 23:55.
    Template files are available for download here.
  3. The third assignment has been posted! It is due no later than November 11, 23:55.
    The prize icon is available for download here.
    Presentations will be on November 12, 15:00 - 17:00 in the main supervision hall (Mållgan).

Assignment Re-submissions

Assignment Re-re-submissions

  • Re-re-submission for Assignment 1, Assignment 2 and Assignment 3: opens December 8th, deadline January 13th, 23:55
    Presentations will be on January 14, 15:00 - 17:00 in the main supervision hall
  • Exercises

    Exercises to be solved during the supervision sessions will be published here.

    Lecture Slides

    In the first part of the course, the lectures will introduce the most important concepts of imperative and object-oriented programming. In the second part we will concentrate more on applications and features of the Java programming language.

    1. Introduction to Programming (August 31)
    2. Basics I (September 2)
    3. Basics II (September 7)
    4. Programming in the Large I (September 9)
    5. Algorithm Design and Development (September 14)
    6. Programming in the Large II (September 16)
    7. Advanced Object-Oriented Programming I (September 21 and 23)
    8. Advanced Object-Oriented Programming II (October 5)
    9. Application Programming Interfaces (APIs) I (October 7)
    10. Application Programming Interfaces (APIs) II (October 12)
    11. Application Programming Interfaces (APIs) III (October 14)
    12. Database Connectivity and Exam Preparation (October 19)

    Examination and Grading

    To pass the course, students must pass all assignments and the written exam. Grading scale comprises: Pass with Distinction (VG), Pass (G) and Fail (U). To be awarded Pass (G) for the full course, students must pass both the exam part and the written assignments part with at least grade (G). To be awarded Pass with Distinction (VG) for the full course, students must, in addition, receive a VG on the exam part and at least 2 VGs on the assignments part.

    The final exam will roughly have the same structure as previous years. Find here a compilation of old exams.

    Literature

    Introduction to Programming Using Java, Seventh Edition by David J. Eck. This book will be used during the first part of the course to introduce the basic programming concepts in Java. The lectures will roughly follow the same structure as the book.

    Java: Learning to Program with Robots,Course Technology 2007 by Byron W. Becker. The book is out of print, but is available here. We will use this book during the second part of the course to experiment with programming in the large making use of existing software packages.

    Daniel Liang Introduction to Java Programming, Comprehensive, any edition from the seventh on. This book is useful as a reference, and is the recommended book to bring with you to the exam. (But any other comprehensive reference will do. Talk to Musard when in doubt.)

    Additional material will be published here

    Useful links

    SimpleIO library documentation

    Random library documentation

    Java API Specification

    Java Code Conventions

    CodingBat: Practice Exercises

    Acknowledgements

    Thanks are due to Cezar Ionescu for sharing teaching material.