| Computer Science |
SYLLABUS PAGE, 2005/06
Level 2/I
| Dr S Vickers Dr R Beale Dr G K Theodoropoulos Dr R W Dearden | 20 credits in Sem2 |
Programmes | Modules | Updates | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus | Links
The School of Computer Science Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)
Most recent update: 28 June 2005.
New module for 2005/06.
| This module presents more advanced software development techniques, enabling the design and development of programs of medium-scale size and complexity. Through a series of lab exercises, students apply concepts taught in the lectures and at the same time practice the design and development of medium-scale programs. Together with its companion module, Software System Components 1, it is designed to equip students with programming abilities which may be needed in an individual final year project. The module covers the three topics of databases, web programming and concurrency, and distributed computing. |
The aims of this module are to:
| On successful completion of this module, the student should be able to: | Assessed by: | |
| 1 | Use Entity-Relationship diagrams to construct and explain conceptual models of databases, and then design tables for a relational database. | Examination, Continuous assessment |
| 2 | Write and explain SQL queries for a relational database. | Examination, Continuous assessment |
| 3 | Query and update a relational database from Java. | Continuous assessment |
| 4 | Explain the servlet model and structure, including the servlet lifecycle and application/session/request/page scope. | Examination, Continuous assessment |
| 5 | 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. | Continuous assessment |
| 6 | Explain, apply and evaluate web application architecture and technologies. | Examination, Continuous assessment |
| 7 | Explain the concepts and issues of threads and synchronisation, including thread pools. | Examination, Continuous assessment |
| 8 | Implement, debug and test multithreaded programs with appropriate synchronisation, in a variety of contexts such as Swing, collection classes and network I/O mechanisms. | Continuous assessment |
| 9 | Explain and implement socket based communication. | Continuous assessment, Examination |
| 10 | Implement programmatic email sending. | Continuous assessment |
| 11 | Explain and use object serialisation and use RPC to interact with remote objects. | Examination, Continuous assessment |
| 12 | Explain and implement a web service. | Continuous assessment, Examination |
Restrictions:
| None |
Prerequisites:
| 06-18190 Software Workshop 1, 06-18187 Foundations of Computer Science, 06-11224 Introduction to Software Engineering |
Co-requisites:
| 06-19343 Software System Components 1, 06-19340 Computer Systems & Architecture |
Teaching methods:
| 3 hrs/week lectures/tutorials, 2-3 hrs/week labs. |
Contact hours:
| Approx. 63 |
| 2 hour examination (80%), continuous assessment (20%). Resit by examination only. |
|
The continuous assessment will consist of programming exercises. |
| Title | Author(s) | Publisher, Date | Comments |
| Core JAVA 2 Volume 1 - Fundamentals (7th Ed) | Cay Horstmann & Gary Cornell | Sun Microsystems Press/Prentice Hall, 2005 | This provides an excellent reference and a fast paced introduction to Java for those who can already program. As such it is suitable for a second level module. It covers Swing, exceptions and object orientation as well as a number of other topics relevant to this module. The 7th Edition is updated to J2SE 5.0. |
| Core JAVA 2 Volume 2 - Advanced Features (7th Ed) | Cay Horstmann & Gary Cornell | Sun Microsystems Press / Prentice Hall, 2005 | This follows on from the previous volume and covers JDBC and the Collection classes in particular as well as many other advanced topics. |
| Java Threads (3rd Ed) | Scott Oaks and Henry Wong | O'Reilly, 2004 | Reference. In-depth coverage of concurrency aspects of Java. |
| Concurrency: State Models & Java Programs | Jeff Magee and Jeff Kramer | Wiley, 1999 | Background reading. General coverage of concurrency, with examples and demonstrations in Java. |
| Core Servlets and JavaServer Pages (Enterprise Edition S.) | Marty Hall, Larry Brown (Eds) | Prentice Hall PTR, 2003 |
The detailed syllabus is still to be written; only broad topics are given here.
None
Programmes | Modules | Updates | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus | Links
| Page maintained by: | Dr P Coxhead |
| Content last updated: | 28 June 2005 |
| Source: | /resources/modules/2005/xml/19321.xml |