Computer Science COMP230
Special Topics in Computer Science
http://www.cs.waikato.ac.nz/~jcleary/230/
Tutor Coordinator:
John G. Cleary.
Office: FG2.01
Phone: 838-4378
e-mail: jcleary@cs.waikato.ac.nz
Paper Structure
Lectures
- Wednesday 11am - 2pm TW2.05(30)
Teaching Strategy
The aims of this course are to:
- provide the personal skills, techniques and understanding necessary for
writing correct code on time and to budget
- provide an introduction to the skills, techniques and understanding
necessary for working in a group on a software project
- provide experience in the use of Java and Unix
- provide experienc in the use of data structures in the context of
programming projects
At the end of the course the student should be able to:
- write correct Java code and have confidence in its correctness and
maintainability
- have insight into his own coding abilities and defect rates and be able
to use this information to estimate completion times for projects
- use Unix to develop Java software
- be able to use library classes in Java and construct data structures in
Java
Resources for Learning
"Extreme Programming Explained", Beck, K.
This is recommended reading and copies are available for purchase at the bookshop.
Reading Material
A number of on-line resources are available:
- A book introducing Java;
- How to settup for java on Linux;
- Code examples from book;
- Code for assignments as well as other examples.
- Examples of nonproprietary code from ReelTwo - the classes of the form
ThingTest.java are examples of test code for the class Thing.java.
- Examples of test code from the mauve project.
Have a look under gnu/testlet/java for the beginning of some real examples of test code.
-
Documentation for the online code
(including assignments).
- java api html documentation of the java classes provided with the system - lots of stuff - years of reading;
- Conventions for naming variables according to Sun. I also suggest the additional convention that all instance variables start with "m".
Assessment Schedule
Course weighting
Final exam 0%
Internal assessment 100%
Assignments 25%
Project 50%
Test 25%
The assignments to be handed in each week at the lecture time.
Assignments
See also: