Module N0096.1 (2007)
Syllabus page 2007/2008
06-N0096
Integrated Sofware Workshop
Level 4/M
Alan Sexton
Alan Sexton (coordinator)
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus
The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)
Changes and updates
Proposed new module for 2008/09. Draft only; not yet approved.
Relevant Links
Outline
The module starts by introducing students to Java as an object-oriented programming language. Building on this introduction, the module presents specific technologies and toolkits for building internet-based software. Through lectures and extensive practical work, the module prepares students to make an effective contribution to building large internet-based software systems as professional software engineers.
Aims
The aims of this module are to:
- introduce the Java programming language
- develop students' software development skills in Java
- introduce and analyse technologies, standards and toolkits for secure enterprise level internet-based software
- develop skills for designing and implementing software using such technologies
Learning Outcomes
| On successful completion of this module, the student should be able to: | Assessed by: | |
| 1 | demonstrate understanding of the Java programming language | Exercises |
| 2 | use and demonstrate understanding of object oriented analysis and design processes | Exercises |
| 3 | employ technologies for the world-wide web, web-based systems and component software | Exercises |
| 4 | use software toolkits for internet-based software | Exercises |
| 5 | make use of application frameworks for web-based systems | Exercises |
| 6 | develop large internet-based software systems from specification through design and implementation | Exercises |
Restrictions, Prerequisites and Corequisites
Restrictions:
Students with substantial experience of programming with Java (or a closely related language) will be required to take 06-N0097 (Advanced Software Workshop) instead of this module.
Prerequisites:
None
Co-requisites:
None
Teaching
Teaching Methods:
Generally 2 hrs lecture, 1 hr tutorial and 3-5 hrs laboratory
sessions per week
The module is taught through a combination of lectures, tutorials
and laboratory work. The module has a strong practical element.
The lectures introduce and develop the major topics of
internet-based software development. Practical work is assigned,
discussed and assessed through tutorials.
Contact Hours:
Assessment
- Sessional: Continuous assessment (100%).
- Supplementary (where allowed): As the sessional assessment
Recommended Books
| Title | Author(s) | Publisher, Date |
| Computing Concepts With Java 2 Essentials | Cay C. Horstmann & Cay S. Horstmann | 1999 |
| Java in a Nutshell: A Desktop Quick Reference (Java Series) | Flanagan D | 1997 |
| Teach Yourself Java 2 in 21 Days, Second Edition | Laura Lemay & Rogers Cadenhead | 2000 |
| Java Persistence with Hibernate | Christian Bauer & Gavin King | Manning, 2006 |
| Spring in Action (2nd ed.) | Craig Walls with Ryan Breidenbach | Manning, 2007 |
| Professional Java Development with the Spring Framework | Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg & Colin Sampaleanu | John Wiley & Sons, 2005 |
| Wicket in Action | Martijn Dashorst & Eelco Hillenius | MEAP, 2007 |
| Enjoying Web Development with Wicket (Covering Wicket 1.3) | Ka Iok Kent Tong | |
| How to Break Web Software: Functional and Security Testing of Web Applications and Web Services | Mike Andrews & James A. Whittaker | Addison Wesley, 2006 |
Detailed Syllabus
-
The Java Programming Language
- Object Orientation
- Classes
- Algorithms
- Objects and variables
- Basic Control structures
- Exceptions
- Threads
- Inheritance
- Advanced Programming (7)
- Graphical user interfaces
- Applets
- Database connectivity
- Threads and synchronization
- Network communication
- Remote method invocation
- Web technologies (7)
- Languages for the web, including HTML, WML, CSS, DOM, XML and DTD
- Client-side processing, including JavaScript and VBScript
- Server-side processing, including server-side includes, CGI, servlets, JSP and ASP
- Scripting languages such as PHP and Python
- Server-side application design (7)
- State handling, session tracking
- Connection pools
- Design criteria: Reliability, consistency, security, maintainability
- Component techniques: ActiveX, JavaBeans
- Distributed Components (6)
- Component technologies: CORBA, COM, EJB
- Web services
- Naming services
- Web application frameworks (10)
- Design criteria: modularity, scalability, availability
- Model-view-controller paradigm
- View frameworks, such as Echo
- Model frameworks, such as Spring
- Design patterns for web applications (5)
Last updated: 27 Jan 2008
Source file: /internal/modules/COMSCI/2007/xml/N0096.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus