CS112 - Programming 1
TIMETABLE | TEACHING MATERIAL |
Credits | 30 |
Level | 1 |
Semester | Term 1, Term 2, Term 3 |
Availability | Available to participants taking UG Graduate and Degree Apprenticeship programmes, e.g. BSc Hons IT: Software Development and BSc Hons Digital and Technology Solutions. |
Prerequisites | N/A |
Learning Activities Breakdown | 30 tutorials as well as online study. |
Assessment | 100% coursework consisting of practical work and a class test at the end of terms 1 (33%) and 2 (33%), and a practical project in term 3 (34%). |
Lecturer | Georgi Nakov, Warren Chan |
Aims and Objectives
The aim of the class is to give participants a solid foundation in Object-Oriented programming with Java which is probably the most widely used programming language.
Learning Outcomes
After completing this class participants will be able to:
- Appreciate the role of a high-level language within the context of a computer system.
- Understand the program development process.
- Understand the principles of program design and demonstrate their practical application.
- Design, implement and test small software systems using a high-level language (currently Java) to conform to a specification.
- Demonstrate familiarity with a sophisticated interactive development environment (IDE).
Syllabus
- Introduction to Objects: Objects and Classes. Class Definition. Fields. Basic Types (int, char, bool) and Strings. Methods. Parameters. Return Types. Scope. Visibility. Object Interaction. Class and Object Diagrams.
- Selection and Iteration. Conditional Statements. Boolean Expressions. For Loops. While Loops. Nested Loops. Switch Statement.
- Collections Arrays. ArrayLists ArrayLists. HashMaps. HashSets. Java API. Iterators. Foreach Loop. Generic Collections.
- Inheritance and Interfaces. Inheritance. Overriding. Static and Dynamic Types. Subtyping. Polymorphism. Type Substitution. Interfaces. Abstract Classes. Object Class
- Input-Output and Error Handling. Console Reading and Writing. File Reading and Writing. Exceptions. Defensive Programming. Testing and Test-Driven Development. JUnit. Debugging.
- Graphical User Interfaces (GUIs) GUI Components. GUI Layout. Event Handling.
Recommended Reading
This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.
Objects First with Java, A Practical Introduction Using BlueJ, 6th Edition, Global Edition.
Transferable skills
During and after completing this class participants will:
- develop their problem-solving skills.
- develop their time management skills.
Last updated: 2022-12-14 11:58:59