Java Programming Language (SL-275-SE6)

This course is already delivered, please contact us for the next available session tel:+357 22 44 14 92

Course Outline in PDF


The Java Programming Language course provides students with a solid foundation for programming with Java, including: information about the syntax of the Java programming language; object-oriented programming with the Java programming language; creating graphical user interfaces (GUIs), exceptions, file input/output (I/O), and threads; and networking.

At Course Completion:

Students will learn how to

•create Java technology applications that leverage the object-oriented features of the Java language, such as encapsulation, inheritance, and polymorphism
•execute a Java technology application from the command line
•use Java technology data types and expressions
•use Java technology flow control constructs
•use arrays and other data collections
•implement error-handling techniques using exception handling
•create an event-driven graphical user interface (GUI) using Swing components: panels, buttons, labels, text fields, and text areas
•implement input/output (I/O) functionality to read from and write to data and text files and understand advanced I/O streams
•create a simple Transmission Control Protocol/Internet Protocol (TCP/IP) networked client that communicates with a server through sockets
•create multithreaded programs


Getting Started

•Examine Java technology
•Analyse a simple Java technology application
•Execute a Java technology application

Object-Oriented Programming

•Define modeling concepts: abstraction, encapsulation, and packages
•Discuss Java technology application code reuse
•Define class, member, attribute, method, constructor, and package
•Use the access modifiers private and public as appropriate for the guidelines of encapsulation
•Invoke a method on a particular object
•Use the Java technology API online documentation

Identifiers, Keywords, and Types

•Use comments in a source program
•Distinguish between valid and invalid identifiers
•Use the eight primitive types
•Define literal values for numeric and textual types
•Define the terms primitive variable and reference variable
•Declare variables of class type
•Construct an object using new and describe default initialisation
•Describe the significance of a reference variable

Expressions and Flow Control

•Distinguish between instance and local variables
•Describe how to initialise instance variables
•Recognise, describe, and use Java software operators
•Distinguish between legal and illegal assignments of primitive types
•Identify boolean expressions and their requirements in control constructs
•Recognise assignment compatibility and required casts in fundamental types
•Use if, switch, for, while, and do constructions and the labeled forms of break and continue as flow control structures in a program


•Declare and create arrays of primitive, class, or array types
•Explain why elements of an array are initialised
•Explain how to initialise the elements of an array
•Determine the number of elements in an array
•Create a multidimensional array
•Write code to copy array values from one array to another

Class Design

•Define inheritance, polymorphism, overloading, overriding, and virtual method invocation
•Use the access modifiers protected and the default (package-friendly)
•Describe the concepts of constructor and method overloading
•Describe the complete object construction and initialisation operation

Advanced Class Features

•Create static variables, methods, and initialisers
•Create final classes, methods, and variables
•Create and use enumerated types
•Use the static import statement
•Create abstract classes and methods
•Create and use an interface

Exceptions and Assertions

•Define exceptions
•Use try, catch, and finally statements
•Describe exception categories
•Identify common exceptions
•Develop programs to handle your own exceptions
•Use assertions
•Distinguish appropriate and inappropriate uses of assertions
•Enable assertions at runtime

Collections and Generics Framework

•Describe the general purpose implementations of the core interfaces in the

Collections framework

•Examine the Map interface and
•Examine the legacy collection classes
•Create natural and custom ordering by implementing the Comparable and Comparator interfaces
•Use generic collections and type parameters in generic classes
•Refactor existing non-generic code
•Write a program to iterate over a collection
•Examine the enhanced for loop

I/O Fundamentals

•Write a program that uses command-line arguments and system properties
•Examine the Properties class
•Construct node and processing streams, and use them appropriately
•Serialise and deserialise objects
•Distinguish readers and writers from streams, and select appropriately between them

Console I/ O and File I/O

•Read data from the console
•Write data to the console
•Describe files and file I/O

Building Java GUIs Using the Swing API

•Describe the JFC Swing technology
•Identify the Swing packages
•Describe the GUI building blocks: containers, components, and layout managers
•Examine top-level, general-purpose, and special-purpose properties of container
•Examine components
•Examine layout managers
•Describe the Swing single-threaded model
•Build a GUI using Swing components

Handling GUI-Generated Events

•Define events and event handling
•Examine the Java SE event model
•Describe GUI behavior
•Determine the user action that originated an event
•Develop event listeners
•Describe concurrency in Swing-based GUIs and describe the features of the SwingWorker class

GUI-Based Applications

•Describe how to construct a menu bar, menu, and menu items in a Java GUI
•Understand how to change the color and font of a component


•Define a thread
•Create separate threads in a Java technology program, controlling the code and data that are used by that thread
•Control the execution of a thread and write platform-independent code with threads
•Describe the difficulties that might arise when multiple threads share data
•Use wait and notify to communicate between threads
•Use synchronised to protect data from corruption


•Develop code to set up the network connection
•Understand TCP/IP
•Use ServerSocket and Socket classes to implement TCP/IP clients and servers



sd sd sd sd sd sd sd sd sd sd sd sd