|
|
COMP6442
COMP6442
Software Construction
for eScience
"In the future, the
rapidity with which any given discipline advances is likely to
depend on how well the community
acquires the necessary expertise in database, workflow management,
visualization, and cloud computing technologies"
(Gordon Bell, Tony Hey, Alex Szalay, Science, vol.
323, 6 March 2009, p. 1297–1298)
|
Welcome to COMP6442 for 2009. This is
a dynamic Web site which is constantly being updated. Watch this
site regularly.
The course web site is hosted on the
WebCT Department of Computer Science web server,
here
This is a Java-based introductory programming
course which includes basics of object-oriented programming,
algorithms and data structures, graphical user interface, good
programming practice and software engineering.
The course is run in an intensive mode in the second half
of the First Semester (weeks 7–12). The following topics will
be discussed:
- eScience and data-intensive research
- Concurrent and distributed programming in Java: threads, sockets
and MDPlus Server
- Graphical User Interface programming with Swing and Java2D
- Unified Object-Oriented design process with UML
- Unit testing with JUnit framework
- Automatic software project management using Ant and Maven
- Software Patterns of OO design
- Creational, Structural and Behavioural design patterns
- Software Refactoring; Refactoring using Eclipse IDE
- Design Patterns and Refactoring of eScope system
- Design Patterns and Threads
By the end of this course, you should be able to:
- Achieve an intermediate-level of experience in Java programming
- Enhance ones experience in self-directed learning
- This course is fast-moving. Students are expected to revise or
learn par ts of the Java API by themselves
- Achieve a theoretical understanding of object-oriented design
patterns, UML class diagrams, and object-oriented software development
- Develop a practical understanding of design patterns and their use in
code refactoring
- Perform unit testing on and efficiently manage (build, configure and deploy) a
large software system using JUnit framework and build tool like
Ant and Maven
- Learn how the software design principles are applied to creating
a complex software used in modern scientific research
Make sure you check the forum message boards on a regular
basis:
| The schedule of activities |
| Class |
Day |
Start Time |
End Time |
Location |
Week(s) run* |
| Lectures
A–B |
Monday |
3:00:00
PM |
5:00:00
PM |
PHYS
T
(Building 39) |
14, 17-21 |
| Lectures
C–E |
Thursday |
11:00:00
AM |
2:00:00
PM |
FSTY 103
(Building 48) |
14, 17-21 |
| Labs Group
1 |
Thursday |
3:00:00
PM |
5:00:00
PM |
CSIT N111
(Building 108) |
14, 17-21 |
| Labs Group
2 |
Thursday |
5:00:00
PM |
7:00:00
PM |
CSIT N111
(Building 108) |
14, 17-21 |
| Workshop |
Saturday |
10:00:00AM |
3:00:00PM |
CSIT N115/116 (Building 108) |
May 9, 2009 |
|
*Note: Week(s) run shows week of year
not week of semester/session. |
Choose a lab and
for it using StReaMS.
-
The total course mark is comprised of
marks for the lab and homework exercises (10%), one assignment with a benchmark
(5% + 15% = 20%) and the final theory and practical exam, 70%.
The assessment items will test the learning outcomes as follows:
| Assessment Item |
Weight |
Assesses Outcomes |
| Labs/Homeworks |
10% |
1,2,4–6 |
| Assignment Benchmark |
5% |
1,2,4 |
| Assignment Proper |
15% |
1,2,4 |
| Final Theory and Practical Exam |
70% |
1,3–6 |
For greater details including the Final Course Mark,
the Final Grade and the conditions for getting
the Supplementary Examination, see the assessment
scheme.
Final marks are moderated in departmental
examiners' meetings at the semester end and may be scaled as a result of this
moderation.
|
General Course Information |
|