Module 18190.2 (2011)
Syllabus page 2011/2012
06-18190
Software Workshop 1
Level 1/C
Jim Mcgregor
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
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:
Assessment
- Sessional: 3 hr examination (80%), practical work (20%).
- Supplementary (where allowed): By examination only.
Recommended Books
| Title | Author(s) | Publisher, Date |
| Big Java (3rd Ed) | Cay Horstmann | John Wiley, 2008 |
| Java Concepts (5th Ed) | Cay Horstmann | John Wiley, 2008 |
| Introduction to Programming in Java | Robert Sedgewick and Kevin Wayne | Addison Wesley, 2007 |
| Introduction to Programming and Object Oriented Design using Java (3rd Ed) | Jaime Nino and Frederick A. Hosch | John Wiley, 2008 |
Detailed Syllabus
- Induction. Basic use of the system (logging on, Accessing development environment).
- The nature of a "program". Emphasis on the characteristics of imperative vs. imperative programming.
- The nature of a language (syntax and semantics). Expressions, functions and simple tests (JUnit). First encounter with recursion.
- Data types and initial introduction to objects (String as object).
- Control structures (conditionals and repetition). If, switch, for, while loops. Revisit recursion as form of repetition. Code tracing and debugging.
- Interfaces as types and classes as implementation. Type inheritance. Designing using classes.
- Implementation inheritance and structural recursion (linked list).
- Collections and arrays. Repetition over collections.
- Polymorphism.
- How do we design a program. GUI programming, model-view-architecture theory, listeners.
- Exceptions. Understanding error messages, exception objects, throw, try-catch.
Last updated: 15 Oct 2008
Source file: /internal/modules/COMSCI/2011/xml/18190.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus