Module N0096.1 (2007)

Syllabus page 2007/2008

06-N0096
Integrated Sofware Workshop

Level 4/M

Unassigned
Alan Sexton
Alan Sexton (coordinator)
20+30 credits in Semester 1 and Semester 2

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:
1demonstrate understanding of the Java programming language Exercises
2use and demonstrate understanding of object oriented analysis and design processes Exercises
3employ technologies for the world-wide web, web-based systems and component software Exercises
4use software toolkits for internet-based software Exercises
5make use of application frameworks for web-based systems Exercises
6develop 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:

Approx. 66


Assessment

  • Sessional: Continuous assessment (100%).
  • Supplementary (where allowed): As the sessional assessment

Recommended Books

TitleAuthor(s)Publisher, Date
Computing Concepts With Java 2 EssentialsCay C. Horstmann & Cay S. Horstmann1999
Java in a Nutshell: A Desktop Quick Reference (Java Series)Flanagan D1997
Teach Yourself Java 2 in 21 Days, Second EditionLaura Lemay & Rogers Cadenhead2000
Java Persistence with HibernateChristian Bauer & Gavin KingManning, 2006
Spring in Action (2nd ed.)Craig Walls with Ryan BreidenbachManning, 2007
Professional Java Development with the Spring FrameworkRod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg & Colin SampaleanuJohn Wiley & Sons, 2005
Wicket in ActionMartijn Dashorst & Eelco HilleniusMEAP, 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 ServicesMike Andrews & James A. WhittakerAddison Wesley, 2006

Detailed Syllabus

  1. The Java Programming Language
    • Object Orientation
    • Classes
    • Algorithms
    • Objects and variables
    • Basic Control structures
    • Exceptions
    • Threads
    • Inheritance
  2. Advanced Programming (7)
    • Graphical user interfaces
    • Applets
    • Database connectivity
    • Threads and synchronization
    • Network communication
    • Remote method invocation
  3. 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
  4. Server-side application design (7)
    • State handling, session tracking
    • Connection pools
    • Design criteria: Reliability, consistency, security, maintainability
    • Component techniques: ActiveX, JavaBeans
  5. Distributed Components (6)
    • Component technologies: CORBA, COM, EJB
    • Web services
    • Naming services
  6. Web application frameworks (10)
    • Design criteria: modularity, scalability, availability
    • Model-view-controller paradigm
    • View frameworks, such as Echo
    • Model frameworks, such as Spring
  7. 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