Module 06-19321 (2010)
Software System Components 2
|Eike Ritter Robert Hendley||Semester 2||20 credits|
The aims of this module are to:
- improve students' programming skills generally, and develop students' programming design and development skills to cope with large programs
- provide programming experience with more advanced but commonly used Java class libraries and other packages as appropriate
- teach specific skills in databases, web programming and concurrency, and distributed computing
On successful completion of this module, the student should be able to:
- use Entity-Relationship diagrams to construct and explain conceptual models of databases, and then design tables for a relational database
- write and explain SQL queries for a relational database
- query and update a relational database from Java
- explain the servlet model and structure, including the servlet lifecycle and application/session/request/page scope
- configure, install and use servlet based web applications, implementing correct servlet request and response code, including html form processing, session handling, database connectivity and security
- explain and evaluate web application architecture and technologies
- explain the concepts and issues of threads and synchronisation, including thread pools
- implement, debug and test multithreaded programs with appropriate synchronisation, in a variety of contexts such as Swing, collection classes and network I/O mechanisms
- explain and implement socket based communication
- implement programmatic email sending
- explain and use object serialisation and use RPC to interact with remote objects
3 hrs/week lectures/tutorials, 2-3 hrs/week labs.
- Sessional: 2 hour examination (80%), continuous assessment (20%).
- Supplementary: By examination only.
The detailed syllabus is still to be written; only broad topics are given here. 1. Databases (4 weeks) 2. Internet and distributed computing (4 weeks) 3. Threads and concurrency (3 weeks)