Contents
Everything in the notes below is
examinable unless a note on
this page indicates otherwise.
This
applies even if the material was not covered in lectures. Note also
that some sections of the notes are tagged "Optional" or "Advanced" but
these tags do not apply to CA166.
1. Basic Java
Lectures Review
of Basic Java
Program code: Console
class Place the text in the same directory as your
program and compile. Then use freely.
Exercises: Exercise
Sheet 1.
Lectures Static methods and Strings
Exercises: Exercise
Sheet 2.
Lectures Classes
Introduction
Exercises: Exercise
Sheet 3.
Lectures Instance Methods
Exercises: Exercise
Sheet 4.
Lectures Programming with classes
Exercises: Exercise
Sheet 5.
Lectures Arrays
Exercises: Exercise
Sheet 6
Assessed Exercise: Assessed
Exercise 1 Deadline:
see Weekly Schedule
Lectures Exceptions
Only Sections 1 to 3, incl., are part of the course.
Lectures Text Files Text
files You may omit sections 4 and 6.
Code ConsoleReader.java
Exercises: Exercise
Sheet 8
Lectures Recursion
Exercises: Exercise
Sheet 9
Extra Large
example
Extra exercises: Exercise
Sheet 9b. Solutions are in Solutions
9b. Do not look at these until you have attempted the problems
yourself.
Lectures Binary
Files Section 8 on copying files is not examinable.
Exercises: Exercise
Sheet 10 (A sample courses file: courses.dat
is provided for Exercise 4 -- right-click and "Save target as ...")
Assessed Exercise 2: Assessed
Exercise 2 A sample inventory file: books.dat
(right-click and "Save target as ...") Deadline:
see Weekly Schedule
Lectures Running
Times of Methods Sections 9 & 10 and calculating
the running time of methods with nested loops is not examinable.
Exercises: Exercise
Sheet 11 Solutions are in Solutions
to Exercise Sheet 11. Do not look at these until you have attempted
the problems yourself.
Lectures Object & Wrapper classes
Lectures Lists
Exercises: Exercise
Sheet 13
Lectures Sets
and Maps
Exercises: Exercise
Sheet 14
Lectures Quicksort
Section 3 is not examinable. You may be asked to explain Quicksort, but
you will not be asked to
code it.
The
partitioning code is fiully examinable, however.
Lectures Random
access files
Lectures Serialization
You will not be examined on serialization.
You are expected to attend all lectures.
You are obliged to attend your allocated tutorials and supervised labs.
An attendance record will be kept. You must attend at the time and
place allocated to you. You may not attend sessions allocated to groups
other than your own, except in exceptional circumstances and with
permission. If you miss tutorials or labs more than occasionally, the
course team will not be sympathetic if you subsequently get into
difficulties. If an illness leads to a prolonged absence, provide a
medical certificate and due allowance will be made. If you find
yourself
not attending, you are very likely on a path that will lead to failure.
Seek advice immediately, in the first instance from your course tutor,
or if that is not satisfactory from the module coordinator.
Tutorials and labs provide you with practice in applying the
material of the course, and a supportive environment in which you can
get help with particular diffciulties. Each tutorial will cover one or
two topics, usually drawn from the preceding week's lectures. You are
expected to have familiarised yourself with the subject matter of the
tutorials in advance; you are not expected to have mastered the
material, but you should at least know your way around the associated
lecture notes. The tutorial problems are published in advance so that
you know what to expect.
You must bring the associated exercise sheet and the relevant lecture notes to the tutorial.
You are expected to spend additional study time on your own to master
the material of the course.
Assessed exercises are part of the examination
process and must be treated accordingly. It is a serious offence to
copy
or collude in assessed exercises. The course employs copying detection
software for all assessed exercises. Read the University’s
policy on
copying and collusion, and the School’s supplement to this Academic
Ethics and Assessed Exercises. For a detailed guide specifically
pertaining to programming exercises in CA166 read Frequently
Asked Questions on doing assessed exercises.
Assessed exercises are not directly submitted, but
rather are automatically collected as specific files from specific
directories. You are given the details in each case. You receive an
e-mail shortly after the submission date informing you that
your solution has been collected. The e-mail goes to your DCU e-mail account. If you don't appear
to have got an e-mail even though you submitted an exercise, you should
first make sure it has not ended up in your Spam directory. Check also
your School of Computing account (this is
different from your DCU account -- read more here).
Assessed exercises must be professionally
presented, with appropriate variable names, well indented to reveal
structure, easily i9dentified separation between classes, lines that
fit on standard A4 paper, etc.
A sample
exam paper
from a previous year is provided. Solutions to previous exam
papers are not available.
A Java
Reference will be provided in written exams. You should study this
is advance and be comfortable with reading it.
The course lecturer is available for questions after every lecture, and
most queries should be raised then. You should normally raise issues
with your tutor
during tutorial
sessions;
Continuous assessment accounts for 20% of the final mark for the
module. This consists of credit for work done in labs, and two
assessed exercises. The second assessed exercise carries more weight
than the first one. A typical breakdown is lab: 6%, Assessed Exercise
1: 6%, Assessed Exercise 2: 8%. The assessed exercises may carry
additional
weight when some lab sessions cannot be scheduled.