Module 18190.2 (2013)
Syllabus page 2013/2014
06-18190
Software Workshop 1
Level 1/C
Martin Escardo
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 | Examination, Continuous Assessment |
| 2 | describe and apply the main features of the Java programming language | Examination, Continuous Assessment |
| 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 | Examination, Continuous Assessment |
| 4 | write Java programs, where appropriate making effective use of an integrated development environment (IDE) and other programming aids | Examination, Continuous Assessment |
| 5 | test and debug programs, interpreting compiler and run-time error messages | Continuous Assessment |
| 6 | design, develop and document complete Java programs to solve given software problems, including some open-ended tasks | Examination, Continuous Assessment |
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: continuous assessment (component 1 - class tests) (20%), continuous assessments (component 2 - lab work) (80%) Component 1 is an internal hurdle and must be passed.
- Supplementary (where allowed): by repeat only
Recommended Books
| Title | Author(s) | Publisher, Date |
| Core Java - Volume 1 (Fundamentals) | Horstmann and Cornell | Prentice Hall Publishers, 2012 |
| 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: 22 August 2013
Source file: /internal/modules/COMSCI/2013/xml/18190.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus