Spring
2005, Block II
This course
description 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 and at Fridays the teaching takes place 0915-1200,
both days in Datastue 42.1 (room 42.1.39). Note that the teaching at Fridays
begins at 0915, not at 0900. The
room is close to the entrance of Building 42.1, just turn right after entering
the building. Further information can be found at the course plan.
Main
lecturer: Torben Braüner (torben@ruc.dk).
Aim of the course: To
introduce the students to programming.
The objective is for the students to acquire knowledge about basic
computer science tools and techniques, and obtain practical experience in
programming towards design and implementation of a well-structured smaller
program.
More
concretely, the students have to master the following central topics from
imperative programming:
* Control
statements (for-, if- and while statements, nested loops)
* Variables
and data types (integers, boolean values, floating-point numbers, strings)
* Data
structures (array lists, arrays, two-dimensional arrays)
* Methods
(parameter passing, primitive types, objects/references, return values)
From object
oriented programming the students have to master the following elementary
topics:
* Objects
(new, fields, methods)
*
Inheritance (extension of classes with fields and methods)
Besides,
the students have to have knowledge of input/output, exceptions, and generic
methods.
Content: Programming is one of the most fundamental
topics in computer science, and many other disciplines in computer science build
on the skills and knowledge obtained by learning to program. The course will
cover basic structures and techniques that are characteristic for imperative
programming. Furthermore, the course will give an introduction to object
oriented programming. In general, practical use of basic programming techniques
will be emphasized.
The
programming language used in the course is Java, which is a modern high-level
programming language. Apart from being a generally applicable programming
language, Java is characterized by having facilities that ease the construction
of graphical user interfaces and is moreover very suitable for the development
of internet-based programs.
Prerequisites: No particular requisites in relation to the
content of the course.
Form of lessons: The
course encompasses 24 sessions of 3 hours consisting of lectures and supervised
practical programming in groups. The groups typically have two students and the
course facilities encompass one computer for each two students.
Evaluation criteria: During the course 10 assignments are given of
which 5 have to be solved satisfactorily. The last of the 10 assignments is a
larger programming exercise involving a mini-project and this has to be among
the satisfactorily solved assignments. All assignments except the final one are
solved in groups with up to three participants. The final assignment has to be
solved individually and there is furthermore a 15 minutes oral test where the
solution to the final assignment is presented to the teachers of the course.
The final assignment, that is, the mini-project, comes in two parts, one in the
middle of the semester and one at the end of the semester.
Size of classes: 24
students.
Teaching material: Cay Horstmann: Computing Concepts with Java
Essentials, Third Edition. Wiley, 2003. Supplementary notes will be handed out
or made available via the homepage of the course.
Supplementary teaching material
SUN Microsystems Java Tutorial