100 |
Essential Java |
- Object-oriented concepts: Classes, Objects, Methods and inheritence
- Language structures
- Arrays, primitives, and Strings
- Packages
- Classes versus Interfaces
- Public, private and protected members
- Using the basic classes
| Basic Programming Experience |
101 |
J2EE Basics: Servlets, JSPs, EJBs |
- J2EE Architecture
- Containers
- Servlet API
- Servlets and JSPs
- Taglibs
- EJBs: Session, Entity and Message Driven Beans
- Container versus Bean Managed Persistence
- Transactions
| Knowledge of Basic Java |
102 |
J2EE Design Patterns |
- What is a Design Pattern?
- J2EE Fundamentals
- The structure of J2EE systems
- UML basics
- Pattern Catalogue
- Review of Sun's J2EE Design Patterns
- From Patterns to designs
| Knwoledge of J2EE or Distributed Systems |
103 |
Java Performance Tuning |
- The JVM
- Measuring Performance
- Object Creation
- Understanding Garbage Collection and Hotspot
- Strings and Unicode
- I/O Performance
- Using the Collections API
- Threading and synchronization
- Performance of Distributed Systems
| Knowledge of Basic Java |
104 |
Java Best Practices |
- The Importance of Interfaces
- Issues with Methods
- Threads and Synchronization
- The Object lifecycle
- Methods of the Object class
- Proper use of Exceptions
- Serialization
- Object Construction
| Knowledge of Basic Java |
105 |
Java Threading, Concurrency and the Memory Model |
- Processes and Threads
- The Thread lifecycle
- Concurrent Access to data
- Race conditions and other disasters
- Java Synchronization
- Patterns of Concurrency
- The Java 5 concurrency packages
- Problems with the Memory Model and JSR 133
| Knowledge of Basic Java |
106 |
Java Generics and other J2SE 5 New Features |
- The Java 5 Design Philosophy
- enums
- Enhanced for loop
- concurrency packages
- Metadata support
- Autoboxing
- Generic Types
- varargs
- Formetted output
- JVM Profiling
| Knowledge of Basic Java |
107 |
Java 2 Security, Concepts and Practice |
- Security Concepts
- Security built into the Java Language and the JVM
- Overview of the Security APIs
- Message Digests
- Digital Signatures
- Java Crryptography Extension
- Java Authentication and Authorization Service
- Java Secure Socket Extension
| Knowledge of Basic Java |
108 |
XML and Java: the JAX APIs |
- XML Overview
- Parsing: SAX and DOM
- XSL and XSLT
- JAXB - Java API for XML Binding
- JAXP - Java API for XML Processing
- JAXR - Java API for XML Registries
- JAX-RPC - Java API for XML-based RPC
- Web Services and SOAP
- Advancing APIs - JAXB 2.0
| Knowledge of Basic Java |
109 |
Design Patterns in Java |
- What are Patterns and why are we interested in them?
- UML - communicating object-oriented designs
- The Gang of Four Patterns in Java
- Some Enterprise Patterns
- J2EE Patterns
| Knowledge of Basic Programming Principles |
110 |
Web Services - Theory and Practice |
- Distributed Applications
- Web Services in context
- The World Wide Web Consortium initiatives
- SOAP - Web Services made easier
- WSDL - the Web Services Description Language
- Sun's Web Services support
- Transactions and Web Services
- Future Directions - Web Services Addressing and Choreography
| No specific pre-requisites |
109 |
Making the Most of Java 1.4 |
- The New I/O APIs
- Security - the Java Crryptography Extension and Java Authentication and Authorization Service
- Security - the Java Secure Socket Extension
- Improvements in Java2D
- Logging API
- Assertions
- The Preference API
- Chained Exceptions
- Regular Expressions
| Knowledge of Basic Java |
201 |
Oracle SQL |
- Relational Databases
- Fundamental relational concepts
- SQL - the Structured Query Language
- Oracle's SQL extensions
- Some complex examples
| No specific pre-requisites |
202 |
Oracle Relational, Object and XML support |
- The evolution of the Oracle Database
- The core relational engine
- Some Object-Oriented concepts
- How objects are supported - data structures
- How objects are supported - extending SQL
- Core XML
- XML DB
- Combining relational, o-o and XML models in your designs
| Knowledge of SQL |
301 |
WAP: WML2 and WMLScript |
- The Wireless Internet
- The Wireless Application Programming Architecture
- XML and WML
- Creating a WML-based website
- WML 1.3 vs WML 2.0
- Creating dynamic content using WMLScript
- Accommodating different client characteristics
- Wireless Internet Post-WAP - where next?
| No specific pre-requisites |
302 |
The Mobile Internet: WAP, XHTML and J2ME |
- Evolution of the Mobile Internet
- Publishing via WAP
- Using XHTML to create mobile content
- Server-side issues
- J2ME - Sun's Mobile Java Platform
- Comparing technologies
- How will 3G affect the Mobile Internet?
| Knowledge of Basic Software Concepts |
401 |
Quantum Computing, Information and Cryptography |
- Overview of Information Theory
- Algorithms, complexity and computation
- Basic Quantum Theory
- Quantum Entanglement
- Qubits and Quantum Circuits
- Deutsch"s Problem
- Shor"s Algorithm for Integer Factorization
- Shor&s Discrete Logarithm Algorithm
- Quantum Information and Quantum Error Corrcting Codes
- Quantum Cryptography
| An enquiring mind |
402 |
Cryptography: theory and practice |
- History of Cryptography
- Block and Stream Ciphers
- Some useful Number Theory
- Symmetric Key Cryptography
- The Problem of Key Distribution
- Public Key Cryptography
- DES - cryptanalysis and cracking the code
- The AES Competition
- The Winning Rijndael Cipher
- The Future - Quantum Cryptography and Quantum Computing
| No specific pre-requisites |
501 |
VR and 3D: X3D and Java3D |
- Virtual Reality - the Promise
- VRML 1.0 - the Virtual Reality Modelling Language - an Experiment
- VRML 2.0 - the Moving Worlds Specification
- VRML 3.0 - the Living Worlds Specification - What Killed the VRML Initiative?
- How"s your Avatar - the Humanoid Animation Specification
- The XML Revolution - the X3D Consortium takes over
- Java3D
- The Future of Virtual Reality and 3D Systems
| No specific pre-requisites |