Quick Links:
[ What's New
| Staff
| Timetable
| Assignments
| Lecture Notes
| Resources
]
COMP241-07A: Software Engineering Development
We have a class rep for 241. His name is Daniel Retief and his email address is:
daniel{[dot]}retief{[AT]}gmail{[dot]}com.
Test 2 will be held in class on Thursday 31st May. See notes for lecture 22 for an overview of what is covered by the test.
TEST 1 was held in class on Thursday 5th April. The tests are now marked and can be collected from the school office on ground floor G-block. Here are the RESULTS
NEW! Here are a few of my example test cases for assignment 1
IMPORTANT info relating to ANT and assignment 2. There appears to be a problem with the Sun Java installation in the labs and ANT (an exception gets thrown when running ant). You can fix this by using an alternative installation of Java. Type the following at the command line (or put into your .profile):
export PATH=/home/ml/jdk/jdk1.5.0_11/bin:$PATH
Mark Hall
|
Office: |
G 1.05
|
Phone: |
07 838 4860 |
e-Mail: |
mhall[{at}]cs.waikato.ac.nz |
Lecture 1 |
Monday | 09:00 - 10:00 |
K G.07
|
Lecture 2 |
Thursday | 16:00 - 17:00 |
K G.07
|
- Assignment 1: Unit testing (Was due Wednesday 28th March, 5pm). RESULTS
- Assignment 2: OO Programming (Was due Friday 4th May, 5pm). RESULTS
- Assignment 3: GUI Programming with Swing (DUE Friday 8th June, 5pm).
Course outline
Below are the slides that are presented in class. These are
as accurate as possible at the time of publishing.
Lecture 10: Java I/O (binary I/O) 1
- Source code:
Encryptor.java
Crypt.java (a command line driver for Encryptor (type "java Crypt" to get the usage. The "-d" flag tells the program to decrypt rather than encrypt).
- Design patterns:
Decorator
Lecture 11: Container classes 2
Lecture 12: Tools 1 - Packages, Jar and Ant
Lecture 13: GUIs & Event Handling
Lecture 14: GUIs & Event Handling 2
Lecture 15: GUIs & Event Handling 3
Lecture 16: Swing Widgets and Tools 2 (CVS)
Lecture 17: Usability and Tools 3 (Javadoc)
Lecture 18: Java I/O (text I/O) 2
Source code:
ScannerTest.java,
LZ77T.java
Lecture 19: Networking and Threads
Source code:
DailyAdviceClient.java,
DailyAdviceServer.java
Lecture 20: Networking and Threads 2
Source code:
MyRunnable.java,
RyanAndMonicaJob.java
Lecture 21: Distributed Computing
Lecture 22: Distributed Computing 2 (plus overview of Test 2)
Java Installation
- Java 1.6 and Java 1.5 are installed for the assignments on the Linux
Machines in our labs Lab 6-7 (R-block).
- To configure your environment, type the following commands:
java-setup
javac-setup
and follow the directions for each.
- Alternatively, you can download a Java system to run on your home
computer from SUN's Java Download
Site.
Java Online Resources
Java Books
- Kathy Sierra, Bert Bates. Head First Java. O'Really, 2003.
- Bruce Eckel. Thinking in Java, Prentice-Hall, 2002.
[Online]
- Cay S. Horstmann. Computing Concepts with Java Essentials.
3rd Edition, Wiley, 2002.
[Homepage]
- Roger Duke, Eric Salzmann. Java Genesis, Addison-Wesley
SprintPrint, 2000.
- Timothy Budd. Understanding object-oriented programming with
Java, Updated Edition. Addison-Wesley Longman, 1999.
JUnit
Concurrent Versions System (CVS)
- Karl Fogel and Moshe Bar. Open Source Development with CVS.
3rd Edition.
[Online]
- The CVS web site provides an
introductory tutorial
that outlines basic CVS commands and there use.
- CVS manual.
Mark Hall,
Department of Computer Science, The University of Waikato;
Last modified: 21 June 2006