This is an archived syllabus from 2020-2021
COMP16412 Programming 2 syllabus 2020-2021
COMP16412 Programming 2
Level 1
Credits: 10
Enrolled students: 432
Course leader: Markel Vigo
Additional staff: view all staff
Requisites
- Co-Requisite (Compulsory): COMP16321
Assessment methods
- 50% Written exam
- 50% Practical skills assessment
Semester | Event | Location | Day | Time | Group |
---|---|---|---|---|---|
Sem 2 | ONLINE Workshop | Tue | 09:00 - 10:00 | X | |
Sem 2 | ONLINE Workshop | Tue | 10:00 - 11:00 | Y | |
Sem 2 | ONLINE LabORATORY | Fri | 11:00 - 13:00 | M+W | |
Sem 2 | ONLINE LabORATORY | Fri | 11:00 - 13:00 | Y | |
Sem 2 | ONLINE Workshop | Tue | 13:00 - 14:00 | Z | |
Sem 2 | ONLINE Workshop | Tue | 15:00 - 16:00 | M+W | |
Sem 2 | ONLINE LabORATORY | Fri | 15:00 - 17:00 | Z | |
Sem 2 | ONLINE LabORATORY | Fri | 15:00 - 17:00 | X | |
Sem 2 w20-26,29-31,33 | INDEPENDENT STUDY | Mon | 14:00 - 15:00 | - | |
Sem 2 w20-26,29-31,33 | ONLINE Lecture | Mon | 15:00 - 16:00 | - | |
Sem 2 w32 | ONLINE Lecture | Wed | 14:00 - 15:00 | - |
Overview
This course introduces the concepts of object oriented programming using the Java
language. The features of the object oriented paradigm will be illustrated through theoretical
classes, and practical workshops and labs.
This course unit detail provides the framework for delivery in 20/21 and may be subject to change due to any additional Covid-19 impact. Please see Blackboard / course unit related emails for any further updates.
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.
Syllabus
Week 1: Crash course on Java I
Week 2: Crash course on Java II
Week 3: Working with input/output and String handling
Week 4: Advanced Object Oriented Programming
Week 5: Error and file handling
Week 6: Reading week: security
Week 7: Introduction to building GUIs with Java
Week 8: Generics
Week 9: Data Structures I
Week 10: Building GUIs with Java and multithreading
Week 11: Data Structures II
Week 12: Revision
Teaching methods
Lectures, workshops, clinics, coursework, face to face mentoring by TAs. Use of online quizzes.
Study hours
- Lectures (12 hours)
- Practical classes & workshops (36 hours)
Learning outcomes
On successful completion of this unit, a student will be able to:
- 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.
Reading list
Title | Author | ISBN | Publisher | Year |
---|---|---|---|---|
Java in two semesters : featuring JavaFX | Charatan, Quentin, author. | 9783319994208 | Springer | 2019 |