Module 18190.1 (2009)

Syllabus page 2009/2010

06-18190
Software Workshop 1

Level 1/C

Peter Tino:15
Steven Vickers:5
Jim Mcgregor
Steven Vickers (coordinator)
20+10 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.)

Relevant Links

First Year Workshop Web Page


Outline

A first module in imperative, object-oriented programming, with a strong emphasis on practical program development skills.


Aims

The aims of this module are to:

  • present the fundamental concepts of imperative and object-oriented programming
  • develop the skills needed to design, develop and document programs
  • gain working knowledge of the Java programming language

Learning Outcomes

On successful completion of this module, the student should be able to: Assessed by:
1 explain and apply the fundamental constructs of imperative and object-oriented programming Coursework, examination
2 describe and apply the main features of the Java programming language Coursework, examination
3 analyse Java programs, for example by determining the behaviour of a program from its source code or by completing and/or correcting partially-written programs Coursework, examination
4 write Java programs, where appropriate making effective use of an integrated development environment (IDE) and other programming aids Coursework, examination
5 test and debug programs, interpreting compiler and run-time error messages Coursework
6 design, develop and document complete Java programs to solve given software problems, including some open-ended tasks Coursework, examination

Restrictions, Prerequisites and Corequisites

Restrictions:

None

Prerequisites:

None

Co-requisites:

None


Teaching

Teaching Methods:

Lectures: 2-3 hrs/week, Tutorials/Examples classes: 1-2 hrs/week, Timetabled labs

Contact Hours:

104 plus timetabled lab work


Assessment

  • Sessional: 3 hr examination (80%), practical work (20%).
  • Supplementary (where allowed): By examination only.

Recommended Books

TitleAuthor(s)Publisher, Date
Big Java (3rd Ed)Cay HorstmannJohn Wiley, 2008
Java Concepts (5th Ed)Cay HorstmannJohn Wiley, 2008
Introduction to Programming in JavaRobert Sedgewick and Kevin WayneAddison Wesley, 2007
Introduction to Programming and Object Oriented Design using Java (3rd Ed)Jaime Nino and Frederick A. HoschJohn Wiley, 2008

Detailed Syllabus

  1. Induction. Basic use of the system (logging on, web browsing, email).
  2. Algorithms. Pseudocode in turtle graphics, numbers and life. Algorithmic constructs, aspects of "program".
  3. Introduction to Java - using NetBeans and skeleton files. Variables, expressions (int, double, bool); if.
  4. Repetition. for, while loops; arrays; using debugger; debugging techniques; loop invariants (as development tool).
  5. Static methods - as procedures and functions. Header comments including requires/ensures; structure of source code files; packages; API; java.lang.Math; using the Linux command line including arguments.
  6. Objects and classes. Instance members (fields, constructors, methods), instance invariants; creating and using objects; strings; primitive v. reference type.
  7. Interfaces. Type v. class; assert; Javadoc.
  8. Subclasses. Different applications including subclass to reuse features in existing class, subclasses to partition abstract superclass.
  9. Recursion. Basic use, mechanism (seen in debugger), designing recursive algorithms.
  10. Exceptions. Understanding error messages, exception objects, throw, try-catch.
  11. Case Study - of object architecture (e.g. model-view structure).

Last updated: 22 Sep 2008

Source file: /internal/modules/COMSCI/2009/xml/18190.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus