Program Development - UQC101S1
STOP PRESS
Introduction
Welcome to Program Development in Java. This course aims at developing
further your programming ability and introducing you to an Object-Oriented
approach to program design and implementation.
The module is divided into two parts as follows :-
- Conventional programming and basic Java syntax
- An introduction to Object-oriented programming
You are timetabled for 2 hours a week :-
- 1 hour lecture
This will be used to provide guidance on study, quick feedback tests to
measure progress, coverage of more difficult topics and an opportunity to
ask questions on points of difficulty.
- 1 hour practical
This provides 1 hour a week to help with practical problems. For most of the
year this time will be used to complete assessed coursework exercises and to
demonstrate completed assignments to your tutor.
Resources
The course will be based around and make extensive use of a single text book,
so you are strongly advised to purchase your own copy (although some copies
will be available on short loan in the library). The text book being used
is :-
Java - Software solutions
Lewis & Loftus
Addison Wesley
and is available in Blackwells bookshop.
A valuable source of information which you should get used to referencing
is the standard documentation on
Java2 SDK. This particular link will only work from within UWE.
If you are accessing this page from outside UWE then the Java2 SDK
documentation can be seen here.
The Java Development Kit which you will need to install on your own machine
in order to run Java programs is contained in the new release of the Burks CD-ROM available
from the help desk.
In all practical work you will be expected to adhere to programming standards
as defined in the standards manual.
Lecure notes are available as HTML pages and in addittion the slides
used during lectures are also available. These can be downloaded as a self-extracting exe file
from here or alternatively you can copy them onto a floppy disc from the
file uqc101s1.exe on the I drive at I:\UQC101S1 or Unix at /tutorials/UQC101S1
Assessment
The module is assessed by ten coursework assignments and a three hour exam
at the end of the year. A specimen exam paper is available
here.
Coursework assignments can be viewed here. All
assignments are individual assignments. Whilst you may confer with each other
in developing solutions to assignments, the final submission must be your own
work.
Your current assignment marks record can be examined here.
Course Programme - Autumn Term
- Week 1 - beginning 9th Oct
Introduction to the course. An introduction to the Java language. Familiarisation
with UNIX.
- Week 2 - beginning 16th Oct
The Java compilation system and environment. Familiarisation with
EMACS.
- Reading - Chapter 1
- Lecture - Simple I/O and the Java environment
- Slides
- Practical - Familiarization with Emacs
- Week 3 - beginning 23rd Oct
Basic Java syntax. Simple data types. Arithmetic expressions and casting.
Conditional expressions and the if statement.
- Reading - Chapter 2 - sections 2.1 to 2.5 inclusive &
Chapter 3 - sections 3.1 & 3.2.
- Lecture - Basic syntax, data types and expressions.
- Slides
- Practical - Familiarization with java-emacs.
- Week 4 - beginning 30th Oct
Repetition, the while and do ... while statements.
- Reading - Chapter 3 - 3.4 to 3.7
- Lecture - While and do/while loops.
- Slides
- Practical - Free to work on coursework assignments.
- Week 5 - beginning 6th Nov
Further control structures, the for loop and the switch statement.
- Reading - Chapter 3 - 3.3 & 3.8 to 3.10
- Lecture - for loop and switch statement.
- Slides
- Practical - Free to work on coursework assignments.
- Week 6 - beginning 13th Nov
This week will be used to review the basic syntax of Java covered in the first
half of the Autumn term. So far we have covered program structure,
variables, conditional and arithmetic expressions and control structures
- Reading - Chapters 1 to 3 review
- Lecture - review of work so far.
- Slides
- Mid-term test - Questions and answers
- Practical - Free to work on coursework assignments.
- Week 7 - beginning 20th Nov
The use of procedures (methods) in programming. Parameters and parameter
passing.
- Reading - Chapter 4 - 4.3
- Lecture - Programming with procedures
- Slides
- Practical - Free to work on coursework assignments.
- Week 8 - beginning 27th Nov
Methods in the same and different classes. Classes as collections of methods.
- Reading - Chapter 4 - 4.3
- Lecture - Programming with procedures
- Slides
- Practical - Free to work on coursework assignments.
- Week 9 - beginning 4th Dec
Simple I/O facilities in Java. Introduction to Javadoc.
- Reading - Chapter 8 - 8.2 to 8.4
- Lecture - I/O facilities in Java
- Slides
- Practical - Free to work on coursework assignments.
- Week 10 - beginning 11th Dec
Creating and using Arrays in Java. The String class and manipulation of
character strings.
- Reading - Chapter 4 - sections 4.4 to 4.8
- Lecture - Arrays in Java.
- Slides
- Practical - Free to work on coursework assignments.
- Week 11 - beginning 18th Dec
Designing and implementing simple algorithms - searching & sorting.
- Reading - none
- Lecture - Pseudo-code and designing algorithms.
- Slides
- First term test - Questions and answers
- Practical - Free to work on coursework assignments.
Course Programme - Spring Term
- Week 14 - beginning 29th Jan
Introduction to Object oriented programmming in Java. Classes as containers
of methods, as Objects and as Object Factories.
- Reading - Chapters 2 and 4
- Lecture - Classes and instances.
- Slides
- Practical - Free to work on coursework assignments.
- Week 15 - beginning 5th Feb
Defining a class. Attributes and methods. Information hiding, encapsulation
and visibility control.
- Reading - Chapter 4 continued.
- Lecture - Defining a simple class.
- Slides
- Practical - Free to work on coursework assignments.
- Week 16 - beginning 12th Feb
Inheritance, constructors and polymorphism.
- Reading - Chapter 7.
- Lecture - Inheritance and constructors.
- Slides
- Practical - Free to work on coursework assignments.
- Week 17 - beginning 19th Feb
Further object-oriented concepts.Method overloading, overriding and
polymorphism.
- Reading - Chapter 7 continued.
- Lecture - Type compatability and polymorphism.
- Slides
- Practical - Free to work on coursework assignments.
- Week 18 - beginning 26th Feb
Abstract classes and arrays of objects.
- Reading - Chapter 6.
- Lecture - Abstract classes and arrays.
- Slides
- Practical - Free to work on coursework assignments.
- Week 19 - beginning 5th March
Collection classes in Java.
- Reading - Chapter 6 continued.
- Lecture - Collection classes in Java.
- Slides
- Practical - Free to work on coursework assignments.
- Week 20 - beginning 12th March
Interfaces.
- Reading - none this week.
- Lecture - Interfaces.
- Slides
- Practical - Free to work on coursework assignments.
- Week 21 - beginning 19th March
Exceptions and exception handling.
- Reading - Chapter 8.
- Lecture - Exceptions and exception handling.
- Slides
- Practical - Free to work on coursework assignments.
- Week 22 - beginning 26th March
Review of procedural programming in Java
- Lecture - Review of procedural programming in Java.
- Practical - Free to work on coursework assignments.
- Week 23 - beginning 2nd April
Review of object-oriented programming in Java.
- Lecture - Review of object-oriented programming in Java.
- Practical - Free to work on coursework assignments.
- Week 24 - beginning 30th April
Revision week 1.
- Week 25 - beginning 7th May
Revision week 2.
Any difficulties please e-mail
peter.martin@uwe.ac.uk