The objectives of this paper are:
- to enhance students' software development skills, particularly with respect to object-oriented software design and implementation.
- to develop students' skills in designing interactive software for users, with a focus on usability.
The paper develops the basic programming expertise gained in COMP103, and introduces issues of software usability. The paper is practically
oriented, with laboratory sessions, problem-solving tutorials and small to
medium-sized project work providing opportunity for application of
newly-learned skills and techniques. Object-oriented software
development techniques will be addressed, and aspects of designing usable
software (including prototyping, design principles, component use, layout
and feedback) will be introduced.
Students should be able to:
- Describe basic principles of software usability and apply these principles to both the evaluation of existing programs/devices and in the creation of their own software.
- Demonstrate their understanding of object-oriented concepts through the creation of software that utilises relevant features of the Processing language.
- Utilise classes, methods and properties appropriately in the creation of object-oriented software.
- Intrepret and design UML class diagrams.
COMP103 Introduction to Computer Science 1
COMP203 Programming with Data Structures
COMP241 Software Engineering Development
Official Timetable Information
One tutorial per week, held in various rooms around campus, to be scheduled in the first week and starting week 2.
Two supervised labs per week, held in Lab 2 in R Block, to be scheduled in the first week and starting in week 2.
There are two lectures a week. The lectures provide a medium for presenting the background, theoretical material, and general information for the course. There is one tutorial scheduled each week. Its purpose is to reinforce material covered in lectures and link it to the practical content of the course. Tutorials provide an opportunity to discuss problems and answer questions in a small group setting. The supervised lab classes should be used to carry out practical work and in particular work related to the assignments and tests. (We also expect substantial additional effort outside the supervised lab times).
Students should expect to spend about 14
hours per week on this class, in the following proportions:
Highly recommended textbooks:
Johnson, Jeff (2008) "Gui Bloopers 2.0: Common User Interface Design Don'ts and Dos." San Francisco: Morgan Kaufmann Publishers.
Processing site, http://processing.org/.
Fray, Ben (2007) "Visualizing Data." O'Reilly.
Sauter, Daniel (2013) "Rapid Android Development: Build Rich, Sensor-based Applications with Processing." Pragmatic Bookshelf.
The laboratory for this course is Lab 2 in R Block.
It is equipped with Windows PCs.
The programming language will be Processing.
Printing, email and web access is available but will be charged for through the Unicash charging system. Other software will be made available if it is deemed useful.
Lab 2 is available to enrolled students Monday to Friday 8am to 9pm. A schedule of supervised and 'free' time will be posted on the lab doors. Prior to 8am, after 9pm, and at weekends, a Cardax 'Swipe' card will be required for access. Students found in the lab at these times without a card will be removed.
Two assignments will be given and students must complete them individually.
Five practicals will be given to prepare students for the assignments in the course. These must be completed individually so that all students gain the necessary skills to complete the assignments and tests. For each practical the students will upload their work to Moodle and also complete the practical completion exercises on Moodle which are then marked by a tutor.
Tutorials: Students must attend ten tutorials.
Practical Tests: Students will sit two practical tests.
Final Exam: A final exam worth 50% of the course will be held at the end of the semester.
If students have not completed work by the due date, they should hand in what they have done so far. Individual extensions will not be given except for a medical certificate or counsellor's letter specifically referring to that item of assessment and an extension application form has been handed to the lecturer not later than 48 hours before the item is due. In the unlikely event that technical problems arise which the course coordinator considers merit an extension, the due date for the coursework will be extended for the entire class.
Internal assessment/final examination ratio of 1:1
A minimum of 50% in the final exam and an overall mark of 50% is required to pass.
The two practical tests, all 5 practicals, two assignments and the exam, are 'compulsory assessment items' of
the course (See the University Calendar 2014 - Assessment Regulations, 20.(5) p108).
Missing any of these components of
the course without excuse will result in a failing grade.
Assessment as a percentage of the final grade:
|Final Exam ||50% |
|Tutorials (10) ||5% |
|Practicals (5)|| 5%|
|Practical Test 1|| 10%|
|Practical Test 2|| 10%|
|OO Programming Assignment||10%|
Class attendance is expected. The course notes provided are not comprehensive. Additional material will be covered in class. You are responsible for all material covered in class.
The first person to contact in relation to any course matter (queries, problems, help, etc) is the Tutor Co-ordinator. Nilesh Kanji (RG.13, 858-5047) is the Tutor Co-ordinator for this course. Urgent (and any other) enquiries should be sent to
Follow this link for Academic Integrity information.
Follow this link for information on Performance Impairment.
Student Concerns and Complaints
Follow this link for Student Concerns and Complaints information.
Application for Extension
Follow this link for information on applying for an Extension.
Review of Grade
Follow this link for information on applying for a Review of Grade.
Your attention is drawn to the following regulations and policies, which are published in the University Calendar: