COMP122
Introduction to object oriented programming, exemplified in Java.
Syllabus
This course presents a conceptual and practical introduction to object oriented programming. We will be using Java for examples, exercises and courseworks, and rely on our departmental GitLab for hosting materials and issue tracking.
Learning Outcomes
You will gain an understanding of object-oriented software methodology and develop sound principles in software design and development, including unit testing and version control.
Upon successful completion of this module you will be able to
- LO1
- describe object hierarchy structure and how to design such a hierarchy of related classes.
- LO2
- describe the concept of object polymorphism in theory and demonstrate this concept in practice.
- LO3
- design and code iterators for collection-based data management.
- LO4
- design simple unit tests using appropriate software tools.
- LO5
- demonstrate concepts of event-driven programming and be able to design simple GUI to demonstrate this understanding.
- LO6
- Identify and describe the task and issues involved in the process of developing interactive products for people, and the techniques used to perform these tasks.
Resources
We recommend the following textbooks on Java programming. There will be additional recommended readings mentioned in lectures and practicals where appropriate.
- ORACLE - The Java™ Tutorials
- D. Parson (2012) - Foundational Java: Key Elements and Practical Programming
- R. Morelli, R. Walde (2006) - Java, Java, Java
All course materials will be available on our GitLab.
Contact
Ask your questions during the lectures/labs or on our Issue Tracker. Make sure to check if your question has already been answered there before you open a new issue.
For problems with the coursework submission server contact our Technical Support Team via the Computer Science Helpdesk.
For personal queries you can contact me directly by email or drop in during my office hour ( Thursday 2-3pm, Ashton 3.19).