Computer Architecture; Machine Language; Program Execution; Arithmetic/Logic Instructions; Communicating with Other Devices; Other Architectures; Network Fundamentals; the Internet; the World Wide Web; Internet Protocols; Security; The History of a Computing Hardware; The History of a Computing Software;
Communication and Information
Managing Information; Thinking Machines; the Turing Test; Aspects of AI; Knowledge Representation; Semantic Networks; Search Trees; Expert Systems; Networking; Types of Networks; Internet Connections; Packet Switching; Open systems and protocols; TCP/IP; High- Level Protocols; MIME types; Firewalls; Information Retrieval; Organisation;
CPU Scheduling; Memory Process and CPU management; Batch Processing; Multiprocessor Operating Systems; Computers and Electricity; Gates 94; Gate 96; XOR gate 96; NAND and NOR gates 97; Transistors; Combinational Circuits; Adders; Multiplexers; Circuits as Memory; Integrated Circuits; CPU Chips; Individual Computer Components; Stored-program Concept; von Neumann Architecture; The Fetch-Execute Cycle; RAM and ROM; Secondary Storage Devices; Touch Screens; Embedded Systems; Parallel Computing; Parallel Hardware;
The History of Operating Systems; Operating System Architecture; Coordinating the Machine’s Activities; Handling Competition among Processes; Security Roles of an Operating system; Memory Management; Process Management; Capabilities of the Hardware; Single User OS – Network OS; Real-time Operating Systems; Embedded Systems; Management of Input and Output; Processes and Scheduling; Threads; Synchronization; Semaphores; Monitors; Deadlock; Scheduling; Memory Management;
Mathematics for Computing
Numbers and Computing; Positional Notation; Binary; Octal and Hexadecimal; Arithmetic in other Bases; Power-of-2 Number Systems; Converting from Base 10 to other Bases; Binary Values and Computers;
Algorithms, Data Structures and Computability
The Definition of an Algorithm; The Role of Algorithms; The Science of Algorithms; The Concept of an Algorithm; Algorithm Representation; Unsolvable Problems; Analyzing Algorithms; Algorithms with Simple Variables; Composite Variables; Algorithm Discovery; Iterative Structures Recursive Structures; Efficiency and Correctness;
Spreadsheets; Spreadsheet Formulas; Circular References; Spreadsheets Analysis; Database Management Systems; the Relational Model; Relationships; Structured Query Language; Database Design; E-Commerce; The Ubiquitous Database; Database types; Advantages of Using a Database; Modelling the Data Domain; Building a relational Database from the Data Model; Normalisation; SQL; DDL; DML; Storied Procedures; Triggers; Data Integrity; Transaction Isolation Levels; Accessing the Database Programmatically;
Introduction to Computers and the Internet
Web Browser Basics: Google Chrome
Introduction to the Google Chrome Web Browser; Connecting to the Internet; Features; Customizing Browser Settings; Searching the Internet; Keeping Track of Your Favorite Sites; File Transfer Protocol (FTP); Online Help; Other Web Browsers;
Understanding Web 2.0
What Is Web? Search; Content Networks; User-Generated Content; Blogging; Social Networking; Social Media; Tagging; Social Bookmarking; Software Development; Rich Internet Applications (RIAs); Web Services; Mashups; Widgets and Gadgets; Location-Based Services; XML; RSS; Atom; JSON and VoIP; Web Monetization Models; Web Business Models; Future of the Web; Where to Go for More Web; Information; Web Bibliography; Web Glossary;
Introduction to XHTML
Editing XHTML; First XHTML Example; W3C XHTML Validation Service; Headings; Linking; Images; Special Characters and Horizontal Rules; Lists; Tables; Forms; Internal Linking; meta Elements;
Cascading Style Sheets (CSS)
Inline Styles; Embedded Style Sheets; Conflicting Styles; Linking External Style Sheets; Positioning; Elements; Backgrounds; Element Dimensions; Box Model and Text Flow; Media Types; Building a CSS Drop-Down Menu;User Style Sheets; CSS 3;
Simple Program: Displaying a Line of Text in a Web Page; Modifying Our First Program; Obtaining User Input with prompt Dialogs; Dynamic Web Page; Adding Integers; Memory Concepts; Arithmetic; Decision Making: Equality and Relational Operators;
Algorithms; Pseudocode; Control Structures; if Selection Statement; while Repetition Statement; Formulating Algorithms: Counter-Controlled Repetition; Formulating Algorithms: Sentinel-Controlled Repetition; Formulating Algorithms: Nested Control Statements; Assignment Operators; Increment and Decrement Operators; Essentials of Counter-Controlled Repetition; for Repetition Statement; Examples Using the for Statement switch Multiple-Selection Statement; break and continue Statements; Labeled break and continue Statements; Logical Operators; Summary of Structured Programming;
Human Computer Interaction
Modularity; Tools of the Trade; Quality assurance; Documentation; The Human- Machine Interface; Neural Networks – Biological/Artificial Neural Networks; Natural Language Processing; Voice Synthesis; Voice Recognition; Natural Language Comprehension; Robotics; The Sense-Plan-Act Paradigm; Physical Components;
Fundamentals of Programming and Program Design
Computer Operations; Machine Language; Assembly Language; Expressing Algorithms; Generations of Languages; Compilers and Interpreters; Virtual Machines; Procedural Programming; Object- Orientated Programming; Scripting Languages; Functional Languages; Language Design; Language Syntax and Semantics;
Creating Java Applications
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;
Control Statements and Methods
"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; break and continue Statements; Logical Operators; Static Methods; static Fields and Class Math; Notes on Declaring and Using Methods; Method-Call Stack and Activation Records;
Declaring and Creating Arrays; Examples Using Arrays; Enhanced for Statement; Passing Arrays to Methods; Multidimensional Arrays;
Classes and Objects and Inheritance
Classes and Objects; Inheritance: Constructors and Subclasses;
Polymorphism and Exception Handling
Polymorphism Overview; Creating Interfaces and Drawing with Polymorphism; Exception Handling;
Database and JDBC
Databases: SQL, MySQL, JDBC and Java DB;
Computer Graphics and Modelling; Computer Rendering and Animation;
The Software Lifecycle; Methodologies, Ownership and Liability; Reading a Software License; Software Disasters;
Ethics Theories; Intellectual Property; Privacy; Encryption; Viruses; Worms and Trojan Horses; Hackers; Can Computers kill?; Information Security; Preventing unauthorized Access; Malicious Code; Antivirus Software; Security attacks; Passwords; CAPTCHA; Fingerprint Analysis; Cryptography; Security and Portable Devices; WikiLeaks;
Overview of Java Applications
Creating Your First Java program; Compiling and running a Java Applications; Modifying a Java Program; Displaying Text with printf; Using Variables and simple arithmetic; Getting user input with class Scanner; Decision Making: Equality and Relational Operators.
Using Classes and Objects
Classes; Objects; Methods and Instance Variables; Declaring a Class with a Method and 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; Formulating Algorithms; Repetition Statements; Formulating Algorithms: Nested Control Statements; Compound Assignment Operators; Increment and Decrement Operators; Primitive Types; Essentials of Counter-Controlled Repetition; for Repetition Statement; Examples Using the for Statement; do Ö while Repetition Statement; switch Multiple-Selection Statement; break and continue Statements; Logical Operators.
Methods: A Deeper Look
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 Advanced
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; Time Class Case Study: Creating Packages.
Superclasses and Subclasses; protected Members; Relationship between Superclasses and Subclasses; Creating Class withInheritance; Creating a Inheritance Hierarchy; Inheritance Hierarchy Using protected Instance Variables; Inheritance Hierarchy Using private Instance Variables; Constructors in Subclasses; Software Engineering with Inheritance.
Polymorphism Examples; Demonstrating Polymorphic Behavior; Abstract Classes and Methods; Payroll System Using Polymorphism; Demonstrating Polymorphic Processing; Operator instanceof and Downcasting; Summary of the Allowed Assignments Between Superclass and Subclass Variables; final Methods and Classes; Creating and Using Interfaces; Developing a Payable Hierarchy; Declaring Constants with Interfaces; Common Interfaces of the Java API.
Graphical User Interface Components
Simple GUI-Based Input/Output with JOptionPane; Overview of Swing Components; Displaying Text and Images in a Window; Text Fields and an Introduction to Event Handling with Nested Classes; Common GUI Event Types and Listener Interfaces; How Event Handling Works; JButton component ; Buttons That Maintain State; JCheckBox component ; JRadioButton component; JComboBox and Using an Anonymous Inner Class for Event Handling; JList component; Mouse Event Handling and Adapter Classes; JPanel Subclass for Drawing with the Mouse; Layout Managers.
next start date: 9th June 2023
Duration: You will have full access to online resources and subject expert support for one calendar year. However, you can complete the course in as little as 4 - 6 months, by dedicating 6-8 hours of study per week.
Course Fees: 995.00 EUR
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.