BSC G610 Computer Games,
BSC G612 Computer Games (Including Year Abroad),
BSC G620 Computer Games (Including Foundation Year),
BSC I610 Computer Games (Including Placement Year),
BSC G400 Computer Science,
BSC G401 Computer Science (Including Year Abroad),
BSC G403 Computer Science (Including Foundation Year),
BSC I101 Computer Science (Including Placement Year),
MSCIG402 Computer Science,
MSCII100 Computer Science (Integrated Masters, Including Placement Year),
BENGGH4P Computers with Electronics,
BENGGH4Q Computers with Electronics (Including Year Abroad),
BENGI1H6 Computers with Electronics (Including Placement Year),
BSC G1G4 Mathematics with Computing (Including Year Abroad),
BSC G1G8 Mathematics with Computing (Including Foundation Year),
BSC G1GK Mathematics with Computing,
BSC G1IK Mathematics with Computing (Including Placement Year),
BENGH615 Robotic Engineering,
BENGH616 Robotic Engineering (Including Year Abroad),
BENGH617 Robotic Engineering (Including Placement Year),
BENGH618 Robotic Engineering (Including Foundation Year),
BSC G111 Computing,
BSC G112 Computing (Including Year Abroad),
BSC G113 Computing (Including Placement Year),
BSC GH01 Computing and Electronics,
BSC GH02 Computing and Electronics (Including Year Abroad),
BSC GH03 Computing and Electronics (Including Placement Year),
BSC GH3P Computing and Electronics (Including Foundation Year),
BSC LG01 Economics with Data Science,
BSC LG02 Economics with Data Science (Including Year Abroad),
BSC LG03 Economics with Data Science (Including Placement Year),
BSC LG04 Economics with Data Science (Including Foundation Year),
BSC L310 Sociology with Data Science,
BSC L311 Sociology with Data Science (including Year Abroad),
BSC L312 Sociology with Data Science (including Placement Year),
BSC L313 Sociology with Data Science (Including foundation Year),
BSC H717 Robotics,
BSC H718 Robotics (including Placement Year),
BSC H719 Robotics (including Year Abroad),
BSC LL20 Politics with Data Science,
BSC I400 Artificial Intelligence,
BSC I401 Artificial Intelligence (Including Foundation Year),
BSC I402 Artificial Intelligence (including Placement Year),
BSC I403 Artificial Intelligence (including Year Abroad)
This module extends the student's knowledge and skills in object-oriented application programming. Further Java programming language principles and the use of Application Programming Interfaces (APIs) are explored supported through reference to Unified Modelling Language (UML) and design patterns.
Java Graphical User Interface (GUI) Swing and AWT APIs are practically examined in some detail. The Java Collections API is explored with emphasis on how to utilise these classes in programs to best effect. Students will also be introduced to third-party APIs, since an important part of application programming is the process of understanding and using such APIs.
The module will give students core programming skills that are required for Years 2 and 3 of the Computer Science degree schemes.
After completing this module, students will be expected to be able to:
1. Demonstrate knowledge of core Java application libraries.
2. Explain the event-driven model underlying Java GUIs.
3. Write Java programs with interactive graphical user interfaces (GUIs).
4. Demonstrate knowledge of how Java programs interact with databases.
5. Write Java programs that make efficient use of the Java collections package.
6. Demonstrate an understanding of design patterns appropriate to Java GUIs.
Outline Syllabus
Review of Java Object Oriented Programming principles
Review of inheritance, abstract classes and interfaces
Exceptions
Generics
Application Programming and APIs
The Collections framework
User interface programming with AWT and Swing, event handling including introductions to Android app development and Java FX
Relational database interfacing with JDBC
Model View Controllers / Model View Presenter Design Patterns