Postgraduate Diploma in Computer Science and IPad/iPhone App Development via Online Distance Learning

Enrolment date: 20 October 2017

Benefiting from over 30 years’ experience, Fitzwilliam Institute’s Online Postgraduate Diploma in Computer Science and iPad/iPhone App Development course features:

  • Comprehensive modules covering all aspects of both Computer Science and iPad/iPhone App Development Programming: Computer Systems, Communication and Information, Microprocessor Systems, Operating Systems, Mathematics for Computing, Algorithms, Databases, Software Engineering, Computer Security, Introduction to Visual Basic Programming, Methods, LINQ Programming, Persistant Data, iOS Development, XCode IDE, User Interface Elements, Table Views, Storyboards, iOS8, and many more.
  • Interactive course expert support, advice and guidance from leading industry professionals. Always ready to help or answer any questions you might have throughout the course, all of our course experts are top industry professionals with many years of successful experience. This course contains the core and vital industry key skillset and, on completion, all of our students are industry-ready.
  • Real life Computer Science and iPad/iPhone App Development briefs. Our Postgraduate Diploma in Computer Science and iPad/iPhone App Development offers practical and specific skills that can be applied in real world situations. You will gain exposure to invaluable toolkits and resources and prepare real life Computer Science and iPad/iPhone App Development briefs, which will enable you to improve your work portfolio.
  • Flexible online learning. Fitzwilliam Institute’s Postgraduate Diploma in Computer Science and iPad/iPhone App Development course can be completed in your own time, from the comfort of your own home, to suit your lifestyle. 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.
  • Jobs, Networking and Volunteer Opportunities. Benefiting from over 30 years of industry experience, we are extremely well placed within the industry. Employers are always looking for Fitzwilliam Institute’s students and alumni. Fitzwilliam Institute’s website features a comprehensive jobs and volunteer opportunities section.

Computer Systems

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.

Microprocessor Systems

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.

Operating Systems

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, Sychronisation, 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, Analysing Algorithms, Algorithms with Simple Variables, Composite Variables, Algorithm Discovery, Iterative Structures Recursive Structures, Efficiency and Correctness.

Databases

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

Organization, Machine Languages, Assembly Languages and High-Level Languages, History of the Internet and World Wide Web, World Wide Web Consortium (W3C), Web, Personal, Distributed and Client/Server Computing, Hardware Trends, Object Technology, JavaScript: Object-Based Scripting for the Web, Browser Portability, C, C++ and Java, BASIC, Visual Basic, Visual C++, C# and .NET, Software Technologies.

Web Browser Basics: Internet Explorer and Firefox

Introduction to the Internet Explorer and Firefox Web Browsers, Connecting to the Internet, Internet Explorer and Firefox 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.

JavaScript: Introduction to Scripting

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.

JavaScript: Control Statements I

Algorithms, Pseudocode, Control Structures, if Selection Statement, ifÖelse 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.

JavaScript: Control Statements II

Essentials of Counter-Controlled Repetition, for Repetition Statement, Examples Using the for Statement switch Multiple-Selection Statement, doÖwhile Repetition 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, Subsumption Architecture, 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.

Arrays

Declaring and Creating Arrays, Examples Using Arrays, Enhanced for Statement, Passing Arrays to Methods, Multidimensional Arrays.

Classes and Objects and Inheritance

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. Creating an Inheritance Hierarchy, Using protected Instance Variables, Using private Instance Variables, Constructors in Subclasses, Software Engineering with Inheritance.

Polymorphism and Exception Handling

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. 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

Database and JDBC

Structured Query Language (SQL), Basic SELECT Query, WHERE Clause, ORDER BY Clause, Merging Data from Multiple Tables: Joining, INSERT INTO Statement, UPDATE Statement, DELETE FROM Statement, Creating Database books in Cloudscape, Manipulating Databases with JDBC, Connecting to and Querying a JDBC Data Source, PreparedStatements, Updatable ResultSets, JDBC, DataSource, Connection Pooling, RowSets.

GUI Programming

The Scope of Computer Graphics, Overview of 3D Graphics modelling, Rendering, Dealing with Global Lighting, Animations.

Software Engineering

The Software Engineering Discipline, The Software Life Cycle, Software Engineering Methodologies, Modularity, Tools of the Trade, Quality Assurance, Documentation, Software Ownership and Liability.

Computer Security 

Ethics Theories, Intellectual Property, Privacy, Encryption, Viruses, Worms and Trojan Horses, Hackers, Can Computers kill?, Information Security, Preventing unauthorised Access, Malicious Code, Antivirus Software, Security attacks, Passwords, CAPTCHA, Fingerprint Analysis, Cryptography, Security and Portable Devices, Wikileaks.

iPad and iPhone Application Development

The iOS App Environment

iPhone OS to iOS 7; What You’ll Need to Develop iOS Apps; Apple’s Human Interface Guide (HIG); Overview of the Objective-C Programming Language; Cocoa Frameworks; The Xcode IDE.

App Development

Downloading and Installing Xcode; iPhone Developer Program: Setting Up your Profile for Testing and Submitting Apps; Setting Up your iPhone Development Team; Getting an iPhone Development Certificate; Registering Devices for Testing; Creating App Ids; Creating a Provisioning Profile; Using the Provisioning Profile to Install an App on an iOS Device.

Xcode IDE

Creating a New Project; Project Templates; Xcode’s Project Window – The Navigation Area, The Editor Area, The Utility Area; Introduction to Storyboards; Placing UI Elements on the Storyboard; Compiling an App and Executing it in The iPhone Simulator.

Application:

We will place a few labels and other UI labels on the screen, then compile the app and view it in the Simulator. There will be no coding; the aim is to see how things work in the Xcode IDE.

Objective-C Programming

Objective-C And Object-Oriented Programming; Data Types in Objective-C; Variables and Constants; Operators and Expressions; Control Flow; Looping; Introduction to OOP in Objective-C: Objects, Classes, Instances, Methods; Design Patterns: MVC, Delegation, Target/Action.

A Single View Application with UI Elements

Another Look at The Xcode Project Window; Anatomy of an iOS App: App Delegate, View Controllers, Storyboard; Creating The UI; UI Elements: Switches, Segmented Controls, Sliders, Text-Fields; Date Picker; Single and Multi-Component Pickers; Dependent Pickers, UIPickerView Delegate and Data Source.

Application:

Temperature convertor. We will create a single view application that will convert from Celsius to Farenheit (and vice versa). We will first see how this can be done using text-fields, buttons and labels. We will then look at an alternative approach using segmented controls and sliders.

Auto Layout

Device Orientation - Portrait/Landscape; Challenges; Auto Layout Basics; Enabling and Disabling Auto Layout; Constraints; Viewing, Editing and Deleting Constraints.

Application:

Using our Temperature Convertor app from the last module, we will see how Auto-Layout ensures it displays correctly, regardless of the screen size or orientation.

Table Views

Table Views and Table View Cells; Grouped and Plain Tables; Implementing a Table; Editing a Table View; Custom Cells; Adding UI Elements to a Custom Cell; Adding Table View Headers and Footers; Changing Font and Row Height; Adding/Deleting Rows; Searching a Table; Table Views and Storyboards.

Application:

At the end of this module we will have created a grouped Table View that will be populated from arrays. This will be a building block for the apps we will develop in subsequent modules.

Storyboards

Introduction to Storyboards; Adding Views to the Storyboard; Associating Views on the Storyboard with View Controllers; Configuring Segues and Transitions; Passing Data Between Views; Triggering a Segue Programmatically.

Application:

Building on the Table View we created in the last module, we will see how to use a storyboard to connect views and pass data between views. This will be another building block to the app we will build in the next section.

Creating Multi-View Applications - Navigation Controllers and Tab Bar Controllers

The Tab Bar Framework; Setting Up The Tab Bar Framework in a Storyboard; Introduction to Navigation Controllers; Embedding a View in a Navigation Controller; Example of a Multi-View Application, Using a Storyboard, A Tab Bar Framework, Navigation Controllers, UIViews and UITableViews.

Application:

Conversion App. We have already created a temperature convertor in a single view. Now we will take all we have learned in the subsequent modules to create a full Conversion App. This App will use a Tab Bar Template, Navigation Controllers, UIViews and UITableViews to allow the user convert units of length, weight, temperature, etc.

The Collection View

The UICollectionView; UICollectionViewDataSource Protocol; UICollectionViewDelegate Protocol; UICollectionViewDelegateFlowLayout Protocol; Cell and View Reuse; Designing a Collection View Cell; Adding a Collection View Controller to a Storyboard.

Application:

Our Conversion App has used Table Views to now. We will convert to a Collection View to show an alternative way to present information.

Data Persistence

Data Persistence on iOS Devices; Documents Directory; Date Storage: User Defaults, Property Lists, NSCoding, SQLite and Core Data.

Application:

Up to now the data in our apps has come from hardcoded arrays. In this example we will see how to use Property Lists to populate data fields. We will also use User Defaults to create a Settings Page.

Core Data

Core Data Concepts and Terminology; The Data Model and Persistent Sore; The Data Model Class – NSManagedObjectModel; Getting and Setting the Attributes of a Managed Object; Loading Data from the Persistent Store; Creating a Fetched Results Controller.

Application:

Core Data example. The user will enter data (e.g. Name, Age) that will be saved to a database and can be fetched form it.

Multitasking and Concurrency

Why Multitasking is Important; Understanding Threads; Understanding iOS Application States; Introduction To Grand Central Dispatch (GCD); Introduction to Blocks; Implementing a Block; Dispatch Queues in GCD; State Change Notifications; Handling The Inactive State; Handling The Background State; Local Notifications.

Using Web Services

Reachability (Airport Mode, etc.); Synchronous vs. Asynchronous Downloads; NSURLsession; HTTP Requests; Parsing JSON; Parsing XML; Airdrop; An Example of Fetching a JSON Feed, Parsing it and Displaying it.

Application:

Weather Forecast. An example of fetching a JSON feed, parsing it and displaying it. We will connect to OpenWeatherMap.org and fetch a JSON feed that will give the current forecast information for a specified location. We will handle any error states, and then parse the JSON and display the weather data.

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 throughout Europe, the USA, Canada, Australia, South Africa and Asia in a total of 140 countries, by leading industries, bodies and professions.

next start date: 20th October 2017

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: 1995.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.

Year on year, we have the pleasure of training students from top Ireland and international companies. See where our most recent students come from and find out what they have to say.