Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

COMP16412 Programming 2 syllabus 2019-2020

COMP16412 materials

COMP16412 Programming 2

Level 1
Credits: 10
Enrolled students: 278

Course leader: Markel Vigo


Additional staff: view all staff

Requisites

  • Co-Requisite (Compulsory): COMP16321

Assessment methods

  • 50% Written exam
  • 50% Practical skills assessment
Timetable
SemesterEventLocationDayTimeGroup
Sem 2 Lab LF31 Thu 09:00 - 11:00 X
Sem 2 Lab LF31 Wed 09:00 - 11:00 Z
Sem 2 Lab LF31 Tue 13:00 - 15:00 Y
Sem 2 Workshop Collab Tue 09:00 - 10:00 Y
Sem 2 Workshop Collab Tue 12:00 - 13:00 X
Sem 2 Lab LF31 Fri 12:00 - 14:00 M+W
Sem 2 Workshop Collab Tue 15:00 - 16:00 Z
Sem 2 Workshop Collab Mon 16:00 - 17:00 M+W
Sem 2 w19 Lecture 1.1 Mon 14:00 - 15:00 -
Sem 2 w2+ Lecture 1.1 Mon 14:00 - 16:00 -
Sem 2 w33 Lab LF31 Mon 16:00 - 18:00 M+W

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.

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: Java GUI I

Week 8: Data structures I

Week 9: Java GUI II

Week 10: Data structures II

Week 11: Further Java

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

TitleAuthorISBNPublisherYear
Java in two semesters : featuring JavaFX Charatan, Quentin, author.9783319994208Springer2019