CSCU9A2 - Programming and User Interface Design
CSC9A1 / CSCMA1 or permission of Head of Division
By the end of the module students will:
- Understand the principles of programming in a general-purpose, high level, imperative programming language (Java) with emphasis on object-orientation and graphical user interfaces.
- Be able to write, compile and test medium-sized Java applications using the BlueJ integrated development environment.
- Be able to apply good practice in program construction, and internal program documentation.
- Have a practical knowledge of programming graphical user interfaces.
- Understand the basic principles of usability and good design, particularly as applied to program and Web interfaces, but also in more general situations.
- Know and be able to apply practical guidelines for making interfaces more usable.
- Understand the basics of computing accessibility issues for the disabled.
Students will be required to demonstrate the ability to apply theory and techniques to unseen problems without reference to notes, and to work independently and under a time constraint.
- Programming in Java, including algorithms, object orientation and graphical user interfaces (22 lectures, 15 practicals, 5.5 tutorials)
- Recap of fundamental concepts (data, control, methods, arrays)
- Operating system command line use of Java
- Programming language implementation: What happens in the machine
- Programming language reference: Syntax diagrams and rules
- Arrays and Algorithms (searching and sorting)
- Introduction to object-oriented programming: classes, attributes, methods, objects, memory allocation, references/pointers, static, overloading
- Event driven application architecture vs purely sequential code.
- Introduction to graphical user interfaces (GUIs)
- File input/output and exception handling
- Java accessibility features
- Testing, debugging
- Structured program development
- User interface design (8 lectures, 5 practicals, 2.5 tutorials)
- Usability and the basic principles of good design
- Practical guidelines for program and Web interfaces, including HTML5 design to support this.
- Accessibility for the disabled: software, equipment, legal and ethical issues.
- Practical Checkpoints (30%)
- Assignment (Java & GUIs) (30%)
- Examination (40%)
In assessing a student's grade for the module, the Examiners require that a student must:
- Successfully complete at least 40% of the practical checkpoints
- If a student does not complete at least 40% of the practical checkpoints, then their overall module grade will be capped at 3C.
- Submit the coursework assignment
- Non-submission of the coursework assignment will result in the award of No Grade for the module as a whole.
Assessed coursework submitted late will be accepted up to five days after the submission date (or expiry of any agreed extension) but the grade will be lowered by one grade point per day or part thereof. After five days the piece of work will be deemed a non-submission, and will result in the award of No Grade for the module as a whole. This rule may be relaxed for students who can show good cause for failure to submit. "Good cause" may include illness (for which a medical certificate or other evidence will be required).
- Attend the examination and obtain a grade of 4C or higher in it
- If a student does not achieve at least 4C in the exam, then their overall module grade will be capped at 4A.
Students who obtain an overall fail grade, 4A-5C, following the Main examination will be eligible for a Repeat examination.
If a student is unable to attend the Main examination, he/she must apply to the Student Programmes Office for a Deferred examination. If a Deferred examination is not granted, then the Examiners may allow a Repeat examination. A student who attends neither the main exam nor the Repeat/Deferred exam will be awarded No Grade for the module as a whole.
The grade awarded following a Repeat examination is capped at 3C.
Further information and teaching materials for this module.