Course units effective from academic year 2019/2020 to date

CSC401X2: Advanced Java Programming
Course Code: CSC401X2
Course Title: Advanced Java Programming
Credit Value: 02
Hourly Breakdown: Theory Practical Independent Learning
15 30 55
Objectives: Improve skills in Java programming language so that solutions for real world/industrial problems can be formulated and to obtain necessary practical knowledge to prepare students for certification such as Java (Oracle) certification.
Intended Learning Outcomes:
  • Describe the principles of abstract classes and methods, Exceptions, Errors, and Concurrency
  • Define abstract classes and interfaces
  • Identify suitable APIs for solving computational problems
  • Use Lambda expressions, collections and generics appropriately
  • Use core Java APIs in Collections, Streams, I/O, Database Connectivity, and Concurrency
  • Perform testing and debugging using appropriate tools and formal methods
  • Deploy Java SE applications
  • Recalling Java Fundamentals: Primitive Types, Operators, and Flow Control statements, Arrays, Text, Date, Time, Numeric, String and Stringbuilder Objects, OOP concepts
  • Exception Handling: Java Exceptions and errors, Fixing logical errors
  • Files and Streams: Readers and writers from streams, Java I/O API, Java Streams API
  • Class Design: Mutability and immutability of objects, abstract methods, abstract classes, interfaces, Nested Classes, Enumerated types, collections and generics in Java
  • Advanced topics in Java: Lambda expressions, Java Concurrency and Multithreading, Java Modules, Annotations, Java Database Connectivity, Java Security, Testing and Debugging, Oracle Cloud Deployment
Teaching/Learning Methods: Lecture, Practical using IDEs, Use of multimedia presentations and OER, Guided learning
Assessment Strategy:
  • In-course Assessments (Practical) —————————————-30%
  • End-of-course Examination (Practical) ———————————-70%
  • Horstmann, C., Core Java Volume I – Fundamentals, 11th Ed., Pearson, 2018.
  • Horstmann, C., Core Java Volume II – Advanced Features, 11th Ed., Pearson, 2019.
  • Schildt, H., Java: The Complete Reference, 11th Ed., McGraw-Hill Education, 2018.
  • Deitel, P. and Deitel, H., Java How to Program, 11th Ed., Pearson, 2017.
  • Kalemis, D., The Fundamental Concepts of Object-Oriented Programming, 2013.
CSC402X2: Computer Networking Certification
CSC403X2: Computer System Administration
CSC404X2: Mobile Platforms and Development Environments
CSC405X6: Team Project
CSC406X8: Industrial Training