Computer Science A, Spring 2007
Roskilde University

Welcome to the homepage of Computer Science A, spring 2007.

General remarks

We'll use the following book:
Java Concepts, Fourth Edition
Cay Horstmann
Wiley
ISBN 0-471-69704-4
The author maintains a web-page associated with book here. Most of the slides presented at the lectures are taken from this webpage

Course lecturer

Morten Rhiger
Office: 42.2-22
Phone: 46 743 177
Homepage: http://www.ruc.dk/~mir/

Installing and running Java

Assignments and exam

During this course, you will have to
  1. hand in your solution to at least 3 out of 6 exercises (in groups of up to three students)
  2. hand in your solution to 3 mini projects (solved individually)
  3. take a small oral exam (15 minutes) in your mini projects
Solutions to exercises may be send to me by email. Please indicate clearly who has participated solving the exercise

Solutions to mini projects should include the programs developed as well as a description of the program. Such a description may outline known errors in your solution and should also present any extension that you have added to your solution.

Exercises

Exercises should be solved in groups of up to three students.They may be handed in by sending me an email with the solution (preferably by copy-pasting the solution into the email body rather than attaching it). Remember to state clearly at the top of the email who participated in solving the exercise.
E1 Programming project 2.1 (on page 61 in Java Concepts)
This exercise must be handed in before February 23.

Note that you must import two classes from the package java.util, namely GregorianCalendar and GregorianCalendar by adding the following at the top of your program:

import java.util.GregorianCalendar;
import java.util.Calendar;
E2 Programming exercise P3.6 (on page 99 in Java Concepts)
This exercise must be handed in before February 27, at 12:00.

E3 Programming exercise P6.17 (on page 228 in Java Concepts)
This exercise must be handed in before March 13, at 12:00.

Some solutions: UnitConverter1.java, UnitConverter2.java, UnitConverter3.java, and UnitConverter4.java.

E4 Programming exercise P7.11 (on page 273 in Java Concepts)
This exercise must be handed in before March 23, at 09:00.

E5 Programming exercise P14.1 (on page 548 in Java Concepts)
This exercise must be handed in before April 10, at 12:00.

E6 Programming exercise P8.12 (on page 317 in Java Concepts)
This exercise must be handed in before April 17, at 12:00.

Miniprojects

Miniprojects must be solved individually. They should be handed in as a printed report containing the programs developed, a description of the strengths and weaknesses of these program, and a few test runs.
M1 Miniproject 1
This miniproject must be handed in before March 2, at 9:30.

M2 Miniproject 2
This miniproject must be handed in before March 23, at 9:30.

M3 Miniproject 3
This miniproject must be handed in before April 17, at 13:00.

Course plan

Exercises  Miniprojects
Week 5Fri 02/02
Week 6Tue 06/02
Fri 09/02
Week 7Tue 13/02E1
Fri 16/02E1M1
Week 8Tue 20/02E1E2M1
Fri 23/02E2M1
Week 9Tue 27/02E2M1
Fri 02/03M1
Week 10Tue 06/03E3
Fri 09/03E3M2
Week 11Tue 13/03E3M2
Fri 16/03E4M2
Week 12Tue 20/03E4M2
Fri 23/03E4M2
Week 13Tue 27/03
Fri 30/03E5M3
Week 14Tue 03/04EASTERE5M3
Fri 06/06EASTERE5M3
Week 15Tue 10/04E5E6M3
Fri 13/04E6M3
Week 16Tue 17/04E6M3
Fri 20/04EXAM

Lecture overview

Lecture 1:  Introduction

Lecture 2:  Using Objects

Lecture 3:  Implementing Classes

Lecture 4:  Fundamental Data Types

Lecture 5:  Decisions

Lecture 6:  Iteration

Lecture 7:  Graphics

Lecture 8:  Arrays and Array Lists

Lecture 9:  Classes and Inheritance