From PLSwiki

Jump to: navigation, search


Introductory Programming (GP), Fall 2010

This is the course page for Introductory Programming.

The official course description in my.itu is here.

There is also a blog.

Lectures are on Tuesdays from 8:30 to 10:30. Notice the early start!! Exercises are from 10:45 to 12:45.

Practical and administrative matters

  • Lectures: Tuesdays 08:30-10:30 (Aud 3)
  • Exercise labs: Tuesdays 10:45-12:45 (Rooms 4A56 and 4A58).
  • The course period is 14 weeks (7.5 ects) of lectures and exercises.
  • 8 out of 10 mandatory exercises must be handed in and passed satisfactorily to attend the exam. You are allowed to work in groups to solve the excercises, but each individual student must write his/her solution up individually and hand it in by him/herself as a printed copy to the lab assistants. Deadline for each exercise is on the tuesday one week after they are distributed but before the lab as you are expected to work on the coming weeks exercises on each lab session. Exercises handed in late will not be graded.
  • Students are expected to attend the lectures and make use of the labs.
  • Exam: 4 hours written exam, paper and pencil, date 2011-01-11.

Topics and tentative plan

  • Below is a tentative plan.

Week Date Teacher Topic Materials Labs
35 Tue Aug 31 JB Intro + Eclipse ch. 1

[slides] []

No labs
36 Tue Sep 07 LB Objects and Classes 2.1-2.12

[slides] [examples]

Exercises: P1.1, P1.5, P1.6, R2.3, R2.5, P2.3, P2.4, P2.10
37 Tue Sep 14 LB Data Types ch. 3

[slides] [examples]

Exercises: R3.1, R3.7, R3.11, R3.14, P3.4, P3.6, P3.11, P3.15
38 Tue Sep 21 LB Decisions ch. 4

[slides] [examples]

Exercises: R4.4, R4.9, R4.16, R4.20, P4.1, P4.3, P4.14, P4.18
39 Tue Sep 28 LB Iteration ch. 5

[slides] [examples]

Exercises: R5.2, R5.3, P5.5, P5.6, P5.2, P5.10
40 Tue Oct 05 LB Arrays ch. 6

[slides] [examples]

Exercises: R6.2, R6.3, R6.6, R6.14, R6.15, P6.15, P6.16 (extra: project 6.2)
41 Tue Oct 12 LB Designing Classes ch. 7

[slides] [examples]

Exercises: R7.2, R7.11, R7.19, R7.20, R7.21, R7.28, P7.1, P7.2, P7.4, P7.13,
42 Tue Oct 19 LB FALL BREAK Exercises: review earlier exercises
43 Tue Oct 26 LB Interfaces and polymophism ch. 8

[slides] [examples]

Exercises: R8.1, R8.2, R8.8, R8.12, P8.2, P8.5, P8.12, P8.13
44 Tue Nov 02 LB Inheritance ch. 9

[slides] [garage example] [examples]

Exercises: R9.3, R9.11, R9.12, R9.13, P9.2, P9.12, P9.13
45 Tue Nov 09 LB I/O + Exceptions ch. 10

[slides] [examples]

Exercises: R10.1, R10.2, R10.4, R10.7, R10.16, R10.18, P10.1, P10.2, P10.4, P10.14
46 Tue Nov 16 LB Recursion ch. 12

[slides] [examples]

Exercises: R12.2, R12.3, R12.6, P12.2, P12.13, P12.16
47 Tue Nov 23 LB Sorting and Searching ch. 13

[slides] [examples]

Exercises: R13.2, R13.10, R13.11, P13.1, P13.4, P13.8, P13.9,
48 Tue Nov 30 LB Linked Lists ch. 14

[slides] [examples]

Exercises: R14.1, R14.4., R14.10, P14.1, P14.3, P14.4, P14.6
49 Tue Dec 07 LB Linked Lists + Repetition ch. 14

[slides] [examples] []


Research Paper

[Betrand Meyer. Design by contract.]

Literature and materials

  • Cay S. Horstmann: Java Concepts, 6th Ed., International Student Version, Wiley

Exercise Labs

At the exercise labs you should work on solving problems from the course material and ask questions to the teaching assistant.

Mandatory Assignments

Mandatory assignments are posted on this home page in week n. You should work on the assignments in week n+1 and hand in the assignment at the start of the exercise classes on Tuesday by 10:45 in week n+2. Assignments are handed in on paper. You don't have to typeset your answers, but you should have tested all the code you submit. The hand-in should contain: a title page with the name of the course, and your name and a “report” with comments to your solution and program code. All pages including the title page should be stabled together. The assignment will be evaluated as either pass or fail. If it fails, you can revise it and hand it in again within one week.

You have to pass 8 out of 10 mandatory assignments.

Tentative Plan (there will only be 10 mandatory assignments in total):

  • 1. Hand-in on Tuesday Sep 14 at 10:30: P2.3
  • 2. Hand-in on Tuesday Sep 21 at 10:30: P3.6
  • 3. Hand-in on Tuesday Sep 28 at 10:30: P4.14
  • 4. Hand-in on Tuesday Oct 05 at 10:30: P5.6
  • 5. Hand-in on Tuesday Oct 12 at 10:30: P6.15
  • 6. Hand-in on Tuesday Oct 26 at 10:30: R7.19 + P7.1
  • 7. Hand-in on Tuesday Nov 02 at 10:30: P8.12
  • 8. Hand-in on Tuesday Nov 09 at 10:30: P9.13
  • 9. Hand-in on Tuesday Nov 16 at 10:30: R10.16 + R10.18
  • 10. Hand-in on Tuesday Nov 23 at 10:30: P12.16
  • 11. Hand-in on Tuesday Nov 30 at 10:30: R13.11 + P13.8
  • 12. Hand-in on Tuesday Dec 07 at 10:30: P14.6
  • 13. Hand-in on Tuesday Dec 14 at 10:30:


Teaching Assistant

  • Radoslav Todorov (
  • Matyas Markovics (

Personal tools