Module 18190.2 (2007)
Syllabus page 2007/2008
06-18190
Software Workshop 1
Level 1/C
Unknown/Left:6
Jim Mcgregor
Steven Vickers (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.)
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): Students who fail this module but achieve at least 30% will be allowed to resit, by examination only. Students whose mark is below 30% will be required to repeat the module in the following academic year.
Recommended Books
| Title | Author(s) | Publisher, Date |
| Java Concepts (4th Ed) | Cay Horstmann | John Wiley, 2005 |
| Introduction to Programming in Java | Robert Sedgewick and Kevin Wayne | Addison Wesley, 2007 |
Detailed Syllabus
- Induction. Basic use of the system (logging on, web browsing, email).
- Algorithms. Pseudocode in turtle graphics, numbers and life. Algorithmic constructs, aspects of "program".
- Introduction to Java - using NetBeans and skeleton files. Variables, expressions (int, double, bool); if.
- Repetition. for, while loops; arrays; using debugger; debugging techniques; loop invariants (as development tool).
- 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.
- Objects and classes. Instance members (fields, constructors, methods), instance invariants; creating and using objects; strings; primitive v. reference type.
- Interfaces. Type v. class; assert; Javadoc.
- Subclasses. Different applications including subclass to reuse features in existing class, subclasses to partition abstract superclass.
- Recursion. Basic use, mechanism (seen in debugger), designing recursive algorithms.
- Exceptions. Understanding error messages, exception objects, throw, try-catch.
- Case Study - of object architecture (e.g. model-view structure).
Last updated: 15 Jan 2008
Source file: /internal/modules/COMSCI/2007/xml/18190.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus