- UCAS course code
- G405
- UCAS institution code
- M20
Course unit details:
Introduction to Programming 2
Unit code | COMP16412 |
---|---|
Credit rating | 10 |
Unit level | Level 1 |
Teaching period(s) | Semester 2 |
Available as a free choice unit? | Yes |
Overview
Pre/co-requisites
Unit title | Unit code | Requirement type | Description |
---|---|---|---|
Introduction to Programming 1 | COMP16321 | Co-Requisite | Compulsory |
Aims
To specify, design, test, develop, deploy, debug and run programmes of a significant
complexity using an object-oriented language (ie Java) and its standard platform. To identify
the strengths and weaknesses of the paradigm and the language.
Learning outcomes
- To identify the fundamental building blocks of new programming languages in general
- Identify the advantages of object-oriented programming.
- Design classes using the UML notation and write the code of a specified class.
- Explain and implement object oriented concepts including inheritance, polymorphism, interfaces and abstraction.
- Identify appropriate situations for reading/writing files from an application, be able to make secure, robust calls out to the relevant file-handling libraries in Java.
- Use data structures of the Java Collections Framework, and create your own data structures.
- Build interactive graphical applications using JavaFX that respond to user events and consider some basic usability concerns. Use custom components to achieve these goals where appropriate.
- Describe the benefits of grouping files into packages. Create and deploy packages, use existing libraries.
- Apply concepts above to existing programming language knowledge, i.e. Python.
Syllabus
Fundamental design and concepts in programming languages, core code structures, object orientation (classes, interfaces, inheritance, overloading and overriding), primitive and reference types, console and file I/O, error handling, cross-cutting topics (e.g. security, accessibility), data structures (e.g. stack, queue, set), generics, streams, graphical user interfaces in Java FX, using the Java APIs to search and sort, fundamentals of recursion, fundamentals of threading and concurrency.
Teaching and learning methods
Asynchronous independent study material (e.g. videos, reading, online quizzes and formative coursework), group-based workshops, practical lab sessions, Q&A sessions. Activities are supported by academics and GTAs both in-person and through online forums.
Assessment methods
Method | Weight |
---|---|
Written exam | 50% |
Practical skills assessment | 50% |
Recommended reading
COMP16412 reading list can be found on the Department of Computer Science internal pages
Study hours
Scheduled activity hours | |
---|---|
Lectures | 6 |
Practical classes & workshops | 33 |
Independent study hours | |
---|---|
Independent study | 61 |
Teaching staff
Staff member | Role |
---|---|
Sarah Clinch | Unit coordinator |