This course
description extends and supplements the course description at the
homepage of the Basic Studies Programme in the Natural Sciences. The
curriculum is indicated in the course plan below (all references are to the
textbook, CCJ3). All notes in CCJ3 marked "Advanced Topic" are
excluded. The integrated development environment JCreator is used at the
course.
At Tuesdays
the teaching takes place 1300-1600 in Usability Lab (room 43.1.02) and at
Fridays the teaching takes place 0930-1200 in Datastue 42.1 (room 42.1.39).
Both rooms are close to the entrance of Building 42.1, just turn right after
entering the building.
Torben Braüner (torben@ruc.dk).
To
introduce the students to programming.
The objective is that the student acquires knowledge about basic
computer science tools and techniques, and obtains practical experience in
programming towards design and implementation of a well structured smaller
program.
Theoretical
and practical introduction of the key structures in imperative programming
languages and of associated basic programming techniques. The main topics in the course are
programming, data structures, algorithms, and program design. The programming
language used is Java.
Lectures
(36 hours) and practical programming (36 hours).
During the
course a number of assignments are presented. At least 50%, including the final
assignment, which is a larger programming exercise, must be solved
satisfactorily. All assignments except the final one are solved in groups (max.
3 participants). The final assignment has to be solved individually and there
is furthermore an oral test (duration 15 minutes) where the solution to the
final assignment is presented to the teachers of the course.
Cay
Horstmann: Computing Concepts with Java Essentials, Third Edition (CCJ3).
Wiley, 2003.
SUN Microsystems Java Tutorial
FRIDAY 3/9
Course presentation 1000-1030 and 1030-1100, Hus 13.1-Plenum A.
TUESDAY
14/9 Introduction, CCJ3 chapter 1. Slides for chapter 1. Review exercises
R1.1-R1.6, R1.8, R1.9, R1.11, R1.13, R1.14. Programming exercises P1.1-P1.6.
FRIDAY 17/9
21/9 Objects and classes, CCJ3 chapter 2. Slides for chapter 2. Review exercises
R2.1-R2.18.
TUESDAY
21/9 Introduction to JCreator. Programming exercises
P2.5-P2.9, P2.16.
TUESDAY
28/9 Fundamental data types, CCJ3 chapter 3. Slides for chapter 3. Review exercises
R3.6-R3.12, R3.16-R3.19. Programming exercises P2.11, P2.12, P3.1, P3.2. First
home assignment, Exercise P2.10 is to be handed in (hint: see HOWTO 2.1, page
62).
FRIDAY 1/10 Decisions, CCJ3 chapter 5. Slides for chapter 5. Review exercises R5.1,
R5.2, R5.6, R5.9, R5.12, R5.14. Programming exercises P3.4, P3.5, P3.11,
P5.4.
TUESDAY
5/10 Iteration, CCJ3 chapter 6 except section 6.5. Slides for chapter 6. Review
exercises R6.3-R6.6, R6.13. Programming exercises P5.13, P5.15, P6.1 as well as
exercises from last lecture. Second home assignment: Exercise P3.6 is to be
handed in.
FRIDAY 8/10
Programming exercises P5.16 and P6.5 as well as
exercises from last lecture.
TUESDAY
12/10 LECTURE CANCELLED
FRIDAY
15/10 LECTURE CANCELLED
TUESDAY
19/10 Exercises from last lecture as well as this exercise. Third home assignment: Exercise
P5.12 is to be handed in. Fourth home assignment, Exercise P5.10 is to be
handed in (hint: see the solution to Exercise P3.6).
FRIDAY
22/10 Exercises from previous lectures as well as this exercise.
TUESDAY
26/10 Designing classes, CCJ3 chapter 7. Slides for chapter 7. Review exercises
R7.19, R7.20, R7.22, R7.26. Fifth home assignment, Exercise P6.10 is to be
handed in.
FRIDAY
29/10 Interfaces, polymorphism, and arrays, CCJ3
chapters 9 and 13 except sections 9.4 and 9.5. Slides for chapter 9 and slides for chapter 13. Review
exercises R9.1-R9.4, R13.1, R13.2, R13.5, R13.7, R13.13, R13.14.
TUESDAY
2/11 Programming exercises P6.11, P7.1, P9.4, P13.1,
P13.2. Sixth home assignment,
Exercise P6.12 is to be handed in.
FRIDAY 5/11
Inheritance, CCJ3 chapter 11. Slides for chapter 11.
Review
exercises R11.1-R11.5. Programming exercises P11.1, P13.3, P13.5, P13.6, P13.10, P13.16.
TUESDAY
9/11 Exception handling and input/output, CCJ3
chapters 14 and 15 except sections 14.6, 15.3, 15.4, 15.5, and 15.7. Slides for chapter 14 and slides for chapter 15. Review
exercises R14.1-R14.8, R15.1, R15.13. Seventh home assignment, Exercise
P13.4 is to be handed in (in some old versions of CCJ3 there is an error in the
formulation of P13.4, the word "append" has to be replaced by
"transfer"). The mini-project is handed out.
FRIDAY
12/11 Discussion of the mini-project.
TUESDAY
16/11 Discussion of the mini-project.
FRIDAY
19/11 Discussion of the mini-project.
TUESDAY
23/11 Discussion of the mini-project.
FRIDAY
26/11 Discussion of the mini-project.
TUESDAY 30/11
The mini-project has to be handed in.
TUESDAY 4/1
Discussion of oral test (in Datastue 42.1).
FRIDAY 7/1
Oral test (in Datastue 42.1).