Module Descriptors
JAVA PROGRAMMING (EFREI)
COMP50028
Key Facts
Digital, Technology, Innovation and Business
Level 5
20 credits
Contact
Leader: James Stanley
Hours of Study
Scheduled Learning and Teaching Activities: 35
Independent Study Hours: 70
Total Learning Hours: 105
Pattern of Delivery
  • Occurrence A, Stoke Campus, UG Semester 1
  • Occurrence B, Stoke Campus, UG Semester 2 to UG Semester 3
  • Occurrence C, Stoke Campus, UG Semester 1 to UG Semester 2
Sites
  • Stoke Campus
Assessment
  • A portfolio-based exam - 2 hours weighted at 100%
Module Details
MODULE LEARNING OUTCOMES
1. Design object-oriented applications with the UML, employing core object-oriented programming principles
2. Write object-oriented applications with Java, using a suitable IDE, employing core object-oriented programming principles
MODULE ADDITIONAL ASSESSMENT DETAILS
The exam has two parts:
Questions assessing understanding of the theoretical concepts covered in the lectures (50%)
Questions based on the portfolio of work developed in the weekly practical sessions (50%)
MODULE INDICATIVE CONTENT
Read and write data from the console
BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the java.io package.
Java Marker Interfaces
Serializable and Cloneable
Java Concurrency
Create worker threads using Runnable, Thread, Callable and use an ExecutorService to concurrently execute tasks
“synchronized” keyword and java.util.concurrent.atomic package to control the order of thread execution
Parallel Fork/Join Framework
Use parallel streams including reduction, decomposition, merging processes, pipelines and performance.
Database Applications with JDBC
Core interfaces of the JDBC API, including Driver, Connection, Statement, and ResultSet
Connect to a database using the DriverManager class
Submit SQL commands to the database, including table creation, queries, insertions, updates and deletions
WEB DESCRIPTOR
On this module, you will learn about Java, which is one of the most wide-used object-oriented programming languages. As well as improving your ability to design and write object-oriented programs, you will learn about some of Java’s advanced programming concepts such as generics, streams, lambda expressions, concurrency and database usage.
MODULE LEARNING STRATEGIES
Lectures will present new concepts and tutorials will provide opportunity for practical application of these concepts, supported by a tutor.
MODULE TEXTS
Horstmann, C. (2019) Core Java Volume 1—Fundamentals. 11th edition. Pearson.
MODULE RESOURCES
Microsoft Visio, or some other UML diagramming software that can save diagrams as PDF
Java SE Developer Kit
A Java IDE, such as NetBeans