Overview of Java and Programming Technologies
Basic computer hardware and software concepts; Basic object technology concepts, such as classes, objects, attributes, behaviors, encapsulation, inheritance and polymorphism; The different types of programming languages; A typical Java development environment; Java's role in developing distributed client/server applications for the Internet and the web; The history of the UM - the industry standard object-oriented design language; The history of the Internet and the World Wide Web; Test-driving Java applications;
Java Application Programming
Introduction to Java Applications; Using the javac command to compile Java applications; Using the java command to run Java applications; Displaying Text with printf; Variables and Introducing Arithmetic Operators; Equality and Relational Operators;
Using Classes and Objects
Classes; Objects; Methods and Instance Variables; Declaring Class and Methods; Instantiating an Object of a Class; Declaring a Method with a Parameter; Instance Variables; set Methods and get Methods; Primitive Types vs; Reference Types; Initializing Objects with Constructors; Floating-Point Numbers and Type double;
"if" Single-Selection Statement; "if" … else Double-Selection Statement; while Repetition Statement; Counter-Controlled Repetition; Sentinel-Controlled Repetition; Nested Control Statements; Compound Assignment Operators; Increment and Decrement Operators; Primitive Types; Essentials of Counter-Controlled Repetition; for Repetition Statement; do… while Repetition Statement; switch Multiple-Selection Statement; break and continue Statements; Logical Operators;
Static Methods; static Fields and Class Math; Declaring Methods with Multiple Parameters; Notes on Declaring and Using Methods; Method-Call Stack and Activation Records; Argument Promotion and Casting; Java API Packages; Generalized Scaling and Shifting of Random Numbers; Scope of Declarations; Method Overloading;
Declaring and Creating Arrays; Examples Using Arrays; Enhanced for Statement; Passing Arrays to Methods; Multidimensional Arrays;
Classes and Objects
Class Case Study; Controlling Access to Members; Referring to the Current Object's Members with the this Reference; Overloaded Constructors; Default and No-Argument Constructors; Composition; Enumerations; Garbage Collection and Method finalize; static Class Members; static Import; final Instance Variables; Creating Packages;
Superclasses and Subclasses; protected Members; Relationship between Superclasses and Subclasses; Creating an Inheritance Hierarchy; Using protected Instance Variables; Using private Instance Variables; Constructors in Subclasses; Software Engineering with Inheritance;
Polymorphism Examples; Demonstrating Polymorphic Behavior; Abstract Classes and Methods; Polymorphic Processing; Operator instanceof and Downcasting; Allowed Assignments between Superclass and Subclass Variables; final Methods and Classes; Creating and Using Interfaces; Declaring Constants with Interfaces; Common Interfaces of the Java API;
Building Graphical User Interfaces
Understand the design principles of graphical user interfaces (GUIs); Build GUIs and handle events generated by user interactions with GUIs; Understand the packages containing GUI components, event-handling classes and interfaces; Create and manipulate buttons, labels, lists, text fields and panels; Handle mouse events and keyboard events; Use layout managers to arrange GUI components;
Graphics and Java 2D
Graphics and Java 2D; Module Applications; Solutions to Programming Exercises;
Exception-Handling Overview; Handling ArithmeticExceptions and InputMismatchExceptions; When to Use Exception Handling; Java Exception Hierarchy; finally Block; Stack Unwinding; printStackTrace; getStackTrace and getMessage; Chained Exceptions; Declaring New Exception Types; Assertions;
Files, Streams and Serialization
Create, read, write and update files; Use class File to retrieve information about files and directories; Understand the Java input/output stream class hierarchy; Understand the differences between text files and binary files; Implement sequential-access and random-access file processing; Use classes Scanner and Formatter to process text files; Use the FileInputStream and FileOutputStream classes; Use a JFileChooser dialog; Use the ObjectInputStream and ObjectOutputStream class;
The concept of recursion; How to write and use recursive methods; How to determine the base case and recursion step in a recursive algorithm; How recursive method calls are handled by the system; The differences between recursion and iteration, and when it is appropriate to use each; What geometric shapes called fractals are and how to draw them using recursion; What recursive backtracking is and why it is an effective problem-solving technique;
Searching and Sorting
Search for a given value in an array using linear search and binary search; Sort arrays using the iterative selection and insertion sort algorithms; Sort arrays using the recursive merge sort algorithm; Determine the efficiency of searching and sorting algorithms; Use loop invariants to help ensure the correctness of your programs;
Linked data structures using references, self-referential classes and recursion; The type-wrapper classes that enable programs to process primitive data values as objects; The use of auto boxing to convert a primitive value to an object of the corresponding type-wrapper class; The use of auto-unboxing to convert an object of a type-wrapper class to a primitive value; Creating and manipulating dynamic data structures, such as linked lists, queues, stacks and binary trees; Various important applications of linked data structures; How to create reusable data structures with classes, inheritance and composition;
Creating generic methods that perform identical tasks on arguments of different types; Creating a generic Stack class that can be used to store objects of any class or interface type; How to overload generic methods with non-generic methods or with other generic methods; Raw types and how they help achieve backwards compatibility; Using wildcards when precise type information about a parameter is not required in the method body; The relationship between generics and inheritance;
Collections; Using class Arrays for array manipulations; Using the collections framework (prepackaged data structure) implementations; Using collections framework algorithms to manipulate (such as search, sort and fill) collections; Using the collections framework interfaces to program with collections polymorphically; Using iterators to “walk through” a collection; Using persistent hash tables manipulated with objects of class Properties; Using synchronization and modifiability wrappers;
Executing an Applet in the appletviewer; Executing an Applet in a Web Browser; Applet Life-Cycle Methods; Initializing an Instance Variable with Method init; Sandbox Security Model;
Loading; Displaying and Scaling Images; Animating Images; Image Maps; Loading and Playing Audio Clips; Playing Video and Other Media with Java Media Framework;
Advanced Graphical User Interface
Creating and manipulating sliders, menus, pop-up menus and windows; Changing the look-and-feel of a GUI, using Swing's pluggable look-and-feel; Creating a multiple-document interface with JDesktop Pane and JInternal Frame; Using additional layout managers;
Java Thread Model ; Creating and Running Threads ; Manipulating Thread State ; Thread Synchronization; Volatile Fields vs; Synchronized Methods ; wait and notify ; join and sleep ; The Concurrency API ; Atomic Operations;
The OSI Reference Model ; Network Protocols ; The Socket Class ; The Server Socket Class ; Connecting Through URL Objects ; HTTP and Other TCP Servers ; Datagram Clients and Servers ; Non-Blocking Sockets;
Databases and JDBC
Relational database concepts; Using Structured Query Language (SQL) to retrieve data from and manipulate data in a database; Using the JDBC™ API of package java.sql to access databases; Using the RowSet interface from package javax.sql to manipulate databases; Using JDBC 4.0’s automatic JDBC driver discovery; Using Prepared Statements to create precompiled SQL statements with parameters; How transaction processing makes database applications more robust;
Lambda expressions; Extension Methods; Annotations on Java Types; Generalization of Target-Type Inference; Access to Parameter Names at Runtime; Changes to Core Libraries; Changes to Internationalization Support; Changes to Java Security and its Platform;
DB SQL Scripts
Introduction to DB SQL Scrips;
Criteria for eligibility must be met in full prior to commencing the programme. For successful enrollment on the Postgraduate Diploma course, the minimum entry requirement is a prior Degree level qualification.
On successful completion of this course you will receive a Postgraduate level qualification that is certified and awarded by the ICM (Institute of Commercial Management).
The Institute of Commercial Management was founded in 1979 and is one of the leading Professional Examination and Certification Bodies in the world today. Fitzwilliam Institute have developed and provided practical skills training courses in liaison with the Institute of Commercial Management qualifications and certifications framework for over 25 years. The Institute of Commercial Management certifications and continual professional development training awards are recognised by leading industries, bodies and professions.
next start date: 25th January 2019
Duration: You will have full access to online resources and subject expert support for two calendar years. However, you can complete the course in as little as 1 year, by dedicating 6-8 hours of study per week.
Course Fees: 1795.00 GPB
To secure your place on the course the full fee is required. All fees must be paid in full before the course begins. Please note, the full course fees are inclusive of all course materials and certification costs.
Enrolment intake is strictly limited on this course. Early application is advised. Places are allocated on a first come first served basis.
Fitzwilliam Institute closes on Bank Holidays and for a number of days at Christmas and New Year. Fitzwilliam Institute reserves the right to postpone, cancel or alter courses without notice or to change any of the details in this brochure. Fees are not refundable unless the course is cancelled by Fitzwilliam Institute. Distance Learning courses are provided by Fitzwilliam Institute BGLS Ltd.