O'Reilly School of Technology

Course List

Advanced JavaScript Essentials

In this course, you will learn more in-depth fundamentals of the JavaScript language, going far beyond knowing how to use JavaScript to build web pages. You will master the core concepts in programming with JavaScript including; types, objects and object-oriented programming, patterns for how to design and construct your JavaScript programs, and newer features in the language from the ECMAScript 5.1 specification. Throughout the course you will learn the nuts and bolts of the JavaScript language that you can use to grow as a professional front-end web developer.

Upon completion of this course, you will be able to:

  • Create an object-oriented JavaScript program.
  • Structure your programs to make use of encapsulation where needed.
  • Write JavaScript using best coding practices.
  • Make use of patterns to structure your code.
  • Use and understand advanced techniques such as closures and recursion.
  • Obtain and utilize information about the environment in which JavaScript is running.
Prerequisites:   Introduction to HTML and CSS and JavaScript: An Introduction and Javascript: JSON and Ajax or equivalent experience
Syllabus:   View Syllabus and Course Content
  

Advanced Web Scripting

In this course, students learn how to create and use stylesheets, script animated objects, and make dynamic menus. This course fills out and completes the HTML and Javascript courses by introducing more advanced layout and scripting techniques.
Syllabus:   Not Available
  

Android 1: Introduction to Mobile Application Development

In this course, you will learn the fundamentals of writing an Android application. Mobile devices have become a prominent part of our daily lives, and we have come to rely on them for on-the-go information. Since its inception in 2005, Android has grown to become an integral part of this revolution. Most Android applications are developed using a customized version of Java. Upon completion of this course, you will be able to:

  • Demonstrate understanding of basic view components and application classes.
  • Program strings, drawables, and lists.
  • Display dialogs, menus, styles, and themes.
  • Save and manipulate data using Shared Preferences and SQLite databases.
  • Thread processes.
  • Create an application that implements multiple activities and can interact with a SQLite database.

From beginning to end, you will learn by doing Java-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Prerequisites:   Java Programming 1: Introduction to Java and the Eclipse Development Environment and Java Programming 2: The Java Programming Language or equivalent experience
Syllabus:   View Syllabus and Course Content
  

Android 2: Advanced Android Application Development

In this course, you will learn many of the more advanced techniques and features available in the Android SDK. The Android platform is expanding and new features are added continuously. This course will cover a variety of the features commonly used in popular Android applications.

Upon completion of this course you will be able to:

  • Create applications optimized for both Phones and Tablets.
  • Support old and new devices using the Android support library.
  • Utilize various Android systems for sharing with and receiving data from other Android applications.
  • Create media rich applications with Audio and Video.
  • Implement WebViews, a custom Camera, and much more!

Throughout the course you will learn more features and skills to help you grow as a professional Android developer by completing lessons and projects and receiving instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

This course is meant for the intermediate or advanced programmer.

Prerequisites:   Android 1: Introduction to Mobile Application Development or equivalent experience
Syllabus:   View Syllabus and Course Content
  

C#.NET 1: Introduction to Object-Oriented Programming Using C#

In this course, you will learn your way around both Visual Studio and the .NET Framework. You will work with a variety of form controls and base class libraries to create simple Graphical User Interfaces (GUIs). The course covers variables, relational operators, decision statement classes and methods, and additional topics that will provide a foundation on which you can build your knowledge of object-oriented design concepts and the C# programming language. Upon completion of this C# training course, you will be able to:

  • Code solutions and compile C# projects within the .NET framework.
  • Create and manipulate GUI components in C#.
  • Construct classes, methods, and accessors, and instantiate objects.
  • Demonstrate knowledge of object-oriented concepts such as encapsulation and polymorphism.
  • Design user experience and functional requirements for a full-fledged C#.NET project.

From beginning to end, you will learn by doing Visual Studio and .NET Framework-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

C#.NET 2: C# Programming in the .NET Framework

In this course, you will continue your C# education by gaining a deeper understanding of object-oriented programming. You will learn about data types and scope; create programs using models, classes, objects, methods, and constructors; and learn the ways in which these elements relate to one another. File Input/Output (I/O) topics are also covered, allowing you to read from and write to files. As you create increasingly complex projects, you will learn ways to debug your code as well. Upon completion of this course, you will be able to:

  • Program C# statements, identifiers, expressions, and assignments.
  • Apply relational, boolean, and bitwise logical operators.
  • Branch and iterate C# code.
  • Differentiate between Windows GUI and Console application.
  • Define object-oriented models, initializers, and class relationships.
  • Demonstrate knowledge of overloading and memory concepts such as stack and heap.
  • Debug programs using breakpoints, expression evaluation, and watches.

From beginning to end, you will learn by doing Visual Studio 2010-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

C#.NET 3: Advanced Algorithms and Database Access

In this course, you will expand your understanding of object-oriented concepts and push the C# language to build more complex applications. Throughout the course, you will learn advanced C#.NET concepts by building projects within a special Learning Sandbox utilizing Visual Studio 2010. Upon completion of this course, you will be able to:

  • Program C#-based Graphical User Interfaces (GUIs) using multidimensional and jagged arrays, collection classes, and generics.
  • Demonstrate understanding of object, abstract, and sealed classes.
  • Apply structs, enums, interfaces, and casting to object-oriented design using C#.
  • Reference methods using delegates and events within the .NET framework.
  • Define anonymous functions through lambda expressions, algorithms, and trees.
  • Catch and manipulate strings using regular expressions.
  • Create an application in C#.NET that connects to and manipulates records within a Microsoft Access database.

From beginning to end, you will learn by doing C#.NET-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

C#.NET 4: User Interface Design

In this course, you will learn the fundamentals of developing dynamic websites using ASP.NET and C#. You will learn the basics of Web Forms and the fundamentals of web security using authentication and authorization, then move into MVC, Razor and test-driven development (TDD). You’ll learn how to use JavaScript and Ajax to prevent entire webpage refreshes, and how to communicate using JSON and XML. You will learn how to use the entitiy framework and data abstraction to employ CRUD (create, read, update, delete) with websites connected to databases, and employ LINQ to work with your data. Throughout the course, you will learn advanced C#.NET concepts by building projects within a special Learning Sandbox utilizing Visual Studio 2010. Upon completion of this course, you will be able to:

  • Create static and dynamic websites using a variety of ASP.NET technologies.
  • Employ authentication and authorization techniques to control access to your websites.
  • Use test-driven development methodologies to guide functional development methodologies to guide functional development and testing scenarios.
  • Use Object Relational Mapping and methodologies to accelerate flexible code development.
  • Use LINQ and other techniques for in-code data query and management.
  • Utilize interfaces and extension methods to create more adaptable code.

From beginning to end, you will learn by doing Visual Studio 2010-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

C++ Programming 1: Introduction to C++

In this course, students will learn the fundamentals of programming and the basics of the C++ language. As the first course in a four part series, this course covers everything from the different variables types to getting input from a user, arrays, and functions. It also covers topics including compiling, variables, math, input/output, conditional statements, loops, arrays, and more.
Syllabus:   View Syllabus and Course Content
  

Data Structures and Algorithms

In this sixth course of our Java series you will work with the core data structures and algorithms needed to write efficient code. In many circumstances, the proper answer comes down to choosing the right data structure and implementing the right algorithm. Throughout the course, students are shown how to connect their growing knowledge of data structures with algorithms so they can design their own algorithms effectively. It will cover the core data structures in computer science including fixed arrays, linked lists, maps, queues and dequeues, trees and graphs, and will use existing implementations in the JDK to solve real problems. Upon completion of this course, you will be able to:

  • Work effectively with the Java Collections Framework.
  • Analyze the performance of your algorithms.
  • Demonstrate mastery of core data structures, such as trees, graphs, maps, queues and dequeus.
  • Design complex data structures and algorithms based on these core data structures.

From beginning to end, you will learn by doing your own Java projects within our Eclipse Learning Sandbox. The projects give students the opportunity to solve real-world problems using a variety of algorithms covered in the course. Throughout the course, students are shown how to connect their growing knowledge of data structures with algorithms so they can design their own algorithms effectively. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

DBA 1: Introduction to Database Administration

In this course, you will learn the basics to create a well-designed database using basic database commands. You will also learn how to manipulate the stored data and return meaningful results to help analyze the data stored. Upon completion of this course, you will be able to:

  • Create, read, update, and delete data using basic SQL commands.
  • Perform relational joins and transactions on SQL tables.
  • Aggregate data through functions and conditionals.
  • Perform subqueries and manipulate views.
  • Create stored procedures within SQL.
  • Summarize data using PIVOT and UNPIVOT.
  • Demonstrate knowledge of data indices and information schemas.
  • Create a full-fledged blog database.

From beginning to end, you will learn by doing SQL-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

DBA 2: Administering MySQL

In this course, students will learn how to estimate database capacity needs and install a MySQL server. Upon completion of this course, you will be able to:

  • Set up database users, grant permissions, and apply advanced security to database objects.
  • Create and maintain database objects.
  • Perform data security through backups and restoration.
  • Provide data to external systems using exports, and include external data using imports.
  • Track database performance and troubleshoot problems.
  • Develop a complete database and demonstrate administrative tasks.

From beginning to end, you will learn by doing Unix and MySQL-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

DBA 3: Creating a Data Warehouse

In this course, you will learn what makes up a data warehouse and gain an understanding of the dimensional model. Upon completion of this course, you will be able to:

  • Implement the dimensional model using standard ETL processes.
  • Demonstrate understanding of dimension, SCD, and fact processing.
  • Query relational data warehouses using standard SQL commands.
  • Develop a complete data warehouse using Talend Open Studio.

From beginning to end, you will learn by doing Talend Open Studio-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

DBA 4: Analyzing Data

In this course, you will learn how to take your relational data warehouse to the next level using Mondrian and JPivot, two tools for multidimensional data analysis. Upon completion of this course, you will be able to:

  • Demonstrate the basics of MDX, the query language of data warehouses.
  • Analyze and extrapolate business models through data modeling.
  • Write a schema for Mondrian—the XML document that bridges the relational and multidimensional worlds.

From beginning to end, you will learn by doing Unix and MySQL-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Dynamic HTML

In this course, students learn how to create style sheets, animate objects, use keyboard events, and drag-and-drop objects. This is an important course because of its focus on cross-browser compatibility, a major concern for any web programmer.
Syllabus:   Not Available
  

HTML

In this course, students learn the language of the web, a prerequisite for any web programmer. At the end of the course, students are expected to create a project that is coded entirely by hand.
Syllabus:   Not Available
  

HTML5 and Responsive Design

From huge desktop displays to tiny mobile devices, people are now viewing the web in all shape and sizes. It’s no longer practical to create a separate design for every existing and emerging device. You need to be able to design web pages that work well and look great on any sized screen. With HTML5, you can incorporate responsive design into your projects. Responsive design allows you to design pages that respond properly on any device. In this course, you will bring everything that you’ve learned in HTML, CSS, JavaScript, and jQuery together to build a responsive web application. When you complete this course, you will be able to:

  • Describe what makes a web page responsive.
  • Create HTML structure for your content appropriate for responsive design.
  • Use the viewport meta tag to set pages up for mobile.
  • Use media queries to create different styles for different properties, like browser width.
  • Load content dynamically based on browser properties, like width.
  • Lay out web pages so they look good and work well on a variety of screen sizes.
  • Use CSS Sprites to create small icon or button images to increase download efficiency.
  • Style fonts, images, forms, and video for responsive web pages.

Throughout the course, you’ll learn by building real projects. These projects, as well as the final project, will add to your portfolio. Besides a browser and internet connection, all software is provided by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Intermediate Ruby on Rails

In this course, you will learn more in-depth techniques and strategies for programming with Ruby on Rails. You will apply automated and functional testing to build reliable code, and utilize form authentication to secure code. Throughout the course, you will be creating a robust application that uses Ruby libraries, complex SQL queries to communicate with a database, and allows you to view your data in HTML, XML, or JSON. Upon completion of this course, learners will be able to:

  • Secure a Rails application using forms-based authentication.
  • Create automated testing suites.
  • Generate alternative data representations (such as RSS feeds).
  • Convert an application to Ajax.
  • Use sessions to create cross-page transactions.
  • Use advanced ActiveRecord modeling, including named scopes and many-to-many relationships.

From beginning to end, you will learn by building your own Ruby on Rails Twitter-style application. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Intermediate Web Application Security

In this course, you will learn even more about securing web applications using PHP. You will gain a deeper understanding of defense in depth security. As web applications continue to become more complex, threats due to malware and remote code execution are increasingly problematic. Designing and testing your web applications to protect against these threats is essential. Upon completion of this course, you will be able to:

  • Use additional defense in depth security measures.
  • Explain security features and flaws of more recent technologies like OAuth, WebSockets and security related HTTP headers.
  • Demonstrate how file uploads and viewing user-provided files can cause security flaws and what can be done to prevent them.
  • Expose how malware is installed and used on web applications using PHP.
  • Describe remote code execution, why it is so dangerous and to protect against it.
  • Build a secure API that will allow other sites to use your content.

From beginning to end, you will learn by doing your own PHP-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and provide experience designing secure web applications. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   Not Available
  

Introduction to C Programming

In this course, you will learn the basics of the C language. This course covers everything from the different variable types and arrays to getting input from a user, and includes more advanced topics, such as pointers and recursion, which provide the framework of skills needed for a good C programmer. Upon completion of this course, you will be able to:

  • Analyze and compile C programs.
  • Declare variables and data types.
  • Perform mathematical functions.
  • Input and output data.
  • Create loops, conditional statements, arrays, and functions.
  • Demonstrate understanding of pointers.
  • Declare and manipulate strings.
  • Create structures.
  • Read and write files recursively.

From beginning to end, you will learn by doing your own C programming-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio. Besides a browser and internet connection, all software is provided by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Introduction to HTML and CSS

In this course, you will learn to create an attractive and organized web site using basic and intermediate HTML and Cascading Style Sheets (CSS). Upon completion of this course, you will be able to:

  • Create basic HTML elements such as hyperlinks, images, tables, and forms.
  • Structure a web page effectively.
  • Control the look and placement of HTML elements using Cascading Style Sheets.
  • Demonstrate knowledge of box properties and external style sheets;
  • Create HTML source code that is both readable and upholds HTML5 standards;
  • Develop a full-fledged website using HTML5 and CSS.

From beginning to end, you will learn by doing your own HTML and CSS-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and provide needed experience. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Introduction to Object-Oriented Programming

Object-oriented concepts are central to any modern programmer’s toolset, and key to many of the most popular programming languages. This course will get you started with the concepts, fundamental syntax, and thought processes of object-oriented programming. When you complete this course you will have the tools and basic knowledge you’ll need to go on to learn more advanced object-oriented programming techniques in languages such as Java, C++, C#, and VB.NET.

Upon completion of this course, you'll be able to:

  • Demonstrate understanding of classes, constructors, objects, and instantiation.
  • Access variables and modifier keywords.
  • Develop methods using parameters and return values.
  • Build control structures in an object-oriented environment.
  • Convert data types using API methods and objects.
  • Design object-oriented programs using scope, inheritance, and other design techniques.
  • Create an object-oriented application using Java packages, APIs. and interfaces, in conjunction with classes and objects.

Throughout the course, you’ll learn by building real projects. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Prerequisites:  
Syllabus:   View Syllabus and Course Content
  

Introduction to PHP

In this course, you will learn basic to intermediate programming aspects of PHP: hypertext preprocessor. PHP is a versatile server-side programming language that works hand-in-hand with front-end Web languages such as HTML and JavaScript. PHP can be used to create all types of dynamic web interfaces, and because of its open-source robustness, has become one of the most widely used programming languages for the Internet.Upon completion of this course, you will be able to:

  • Develop web applications using basic PHP elements such as delimiters, control structures, operators, variables, arrays, and functions.
  • Manipulate dates and strings using built-in PHP functions and regular expressions.
  • Debug and improve code for better reusability and scalability.
  • Create dynamic web forms using internet tools such as input , environment, and server variables, HTTP headers, and query strings.
  • Read, write, manage, and download files through PHP-based web applications.
  • Track user information using cookies and sessions.
  • Build a full-fledged shopping cart system.

From beginning to end, you will learn by doing your own PHP-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and provide needed experience. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Introduction to Ruby on Rails

Rails is a framework which runs on the Ruby programming language and is used to rapidly create web applications. Many startups use Rails because they can rapidly create a full application from scratch. Not only is Rails a great way to save hours of coding time, it’s also a great way to learn advanced web development. When you learn Rails, you’ll learn the tips and techniques that professional programmers use to create real world web applications. Upon completion of this course, you will be able to:

  • Use code generation to get your application up-and-running in minutes rather than hours
  • Model complex business data with database relationships
  • Add login security to your application
  • Manage your web interface efficiently with partial templates and layouts
  • Add search to your application with database finders

You will learn how to build a secure multi-user task management application and create your own photo-posting web site. All you need is a browser and an Internet connection; everything else is provided by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Introduction to Web App Security

In this course, you will learn fundamental principles of securing web applications using PHP. As web applications have become more complex, threats due to cross-site scripting (XSS) and SQL injection attacks are increasingly problematic. Designing and testing your web applications to protect against these threats is essential. Upon completion of this course, you will be able to:

  • Identify common security flaws in web applications.
  • Investigate and repair application security flaws.
  • Encrypt passwords for safe storage.
  • Build an application that handles output encoding to protect against XPath injection, SQL injections, and cross-site scripting.
  • Securely authenticate and handle user sessions.
  • Intercept and modify web requests to discover new issues.

From beginning to end, you will learn by doing your own PHP-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and provide needed experience to design secure web applications. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   Not Available
  

Introduction to XML

In this course, students will learn the fundamentals of XML for use with XML-enabled applications or general web use. This course is an introduction to XML that prepares students with a foundation in one of the key elements of web programming. Introduction to XML covers topics including basic XML syntax, formatting, differences between XML and HTML, elements, attributes, document types definitions (DTDs) and how to use them, XML schemas, basic XSL and XML transformations, and XPath.
Syllabus:   View Syllabus and Course Content
  

Java Programming 1: Introduction to Java and the Eclipse Development Environment

In this course, you will learn the fundamental concepts and syntax of the Java programming language. Throughout this course, you will learn by building examples using the Ellipse IDE, which is supplied as a Learning Sandbox. Completion of this course will give you a basic understanding of Object-Oriented techniques in Java. Upon completion of this course, you will be able to:

  • Build Java applications and applets in the Eclipse IDE.
  • Create control structures, classes, objects, and methods in Java.
  • Add interaction to programs using components and listeners.
  • Apply the Java API to draw graphics.
  • Demonstrate understanding of modularity, modifiers, permissions, scope, and inheritance.

From beginning to end, you will learn by doing your own Java-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and provided needed experience. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Java Programming 2: The Java Programming Language

In this Java course, you will learn more in-depth concepts and syntax of the Java Programming language. Throughout this course, you will learn by building examples using the Ellipse IDE, which is supplied as a Learning Sandbox. Completion of this course gives you a basic understanding of Object-Oriented techniques in Java. Upon completion of this course, you will be able to:

  • Demonstrate knowledge of basic algorithm constructs in Java.
  • Develop and compile Java applications that utilize primitive data types, statements, expressions, and GUIs.
  • Output and manipulate strings, fonts, and numbers.
  • Apply decision logic and operational precedence to Java code.
  • Implement multidimensional arrays, loops, and branching statements.
  • Trace code for better software quality.

From beginning to end, you will learn by doing your own Java-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and provide needed experience. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Java Programming 3: Java Programming Foundations

In this course, you will learn to build the programmer’s repertoire of fundamental Java application capabilities. You will achieve an understanding of the structure and purposes for many classes in the Java API. In-depth experience with user interfaces, event and exception handling, Java I/O, and the collection framework will provide you with a toolkit for implementing applications and understanding source code of others. Programs designed in the course using Java Threads, Client/Server Sockets, and Database Connectivity provide a solid basis for application building. Upon completion of this course, you’ll be able to:

  • Develop code that is clean, reusable, flexible, and user-friendly.
  • Design object-oriented software that utilizes fundamental programming constructs, abstraction, and packages.
  • Implement interfaces using the Model-View-Controller (MVC) architecture.
  • Enhance Java flexibility with enumeration, casting, interface extension, generics, and the collection framework.
  • Handle and map images.
  • Deploy applications using Eclipse and Java JAR files.

From beginning to end, you will learn by doing your own Java-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and provide needed experience. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Java Programming 4: Java Application Building

In this course, you will achieve an understanding of the structure and purposes for many of the classes in the Java API. In-depth experience with user-interfaces, event and exception handling, database connectivity, multiple threads and synchronization will provide you with a toolkit for implementing applications as well as understanding source code of others. Programs designed in the course using Java Threads, Client/Server Sockets, and Database Connectivity provide a solid basis for application building. Upon completion of this course, you will be able to:

  • Enhance Graphical User Interfaces in Java using views, frames, panels, and Swing.
  • Implement error checking, exception handling, and try/catch clauses to minimize bugs.
  • Catch unchecked exceptions and prepare for problems through graceful degradation.
  • Create and manipulate threads for concurrent programming.
  • Connect with databases using JDBC API factory design patterns and view controllers.
  • Document and tag code using Javadoc and API pages.

From beginning to end, you will continue your Java training by doing your own Java-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and provide needed experience. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Java Programming 5: Distributed Java Applications

In this Java course, you will develop a client/server distributed Java application from the ground up. Here you will exercise all of your Java skills to implement a graphical client that communicates with a remote back-end server using XML messages. You will learn the tradeoffs that are common in client/server systems and gain valuable insights into how to design your own distributed, multi-threaded applications. Upon completion of this course, you will be able to:

  • Extend your stand-alone Graphical User Interfaces to communicate with a remote server.
  • Develop a multi-threaded server that simultaneously supports a number of connected clients.
  • Design a protocol using an XML XSD specification.
  • Develop client- and server-side controllers that follow the protocol.
  • Develop effective JUnit test cases to validate the execution of these controllers.
  • Develop a testing framework that maximizes code coverage of JUnit test cases.

From the very first lab, you will be developing a client/server application, adding new features and functionality with each successive lab. You will learn by following the design and implementation of the application in the lab. Each quiz will validate that you learned the key information and the projects, performed at your pace, will describe useful extensions to the main development of the overall project.

From beginning to end, you will learn by doing your own Java projects within our Eclipse Learning Sandbox, which we affectionately call “Ellipse.” These projects will add to your portfolio and provide needed experience. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

JavaScript

Become proficient in client-side programming! In this class, students learn how to reference objects, use event handlers, and write their own functions. This powerful language is an important tool for anyone serious about web design.
Syllabus:   Not Available
  

JavaScript: An Introduction

In this course, you will learn the basics of JavaScript programming and how to use it to suit your professional and creative goals. Upon completion of this course, you will be able to:

  • Develop the syntax and structure of JavaScript programs, including statements, expressions, variables, and operators.
  • Collect values using loops, arrays, and objects.
  • Add and remove web page elements using the Document Object Model (DOM).
  • Validate and respond to user input using functions and events.
  • Create website menus with CSS and JavaScript.
  • Build a dynamic, interactive, front-end web application.

From beginning to end, you will learn by doing your own JavaScript-based projects and submitting them for instructor feedback. These projects, as well as the final projects, will add to your online portfolio and contribute to your certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Javascript: JSON and Ajax

In this course, you’ll learn advanced JavaScript, JSON, and AJAX and how to use them to achieve your professional and creative goals. Upon completion of this course, you’ll be able to:

  • Use JSON to serialize data for storage in the browser or on the server.
  • Store and retrieve data using Ajax and LocalStorage.
  • Optimize your DOM manipulation code with Document Fragments.
  • Use Strings and Dates more effectively in your code.
  • Catch errors with Exceptions.
  • Add location and maps to your applications with Geolocation and Google Maps.
  • Modularize your code with Modernizr.
  • Build a dynamic, interactive, front-end web application.

From beginning to end, you will learn by doing your own JavaScript-based projects using JSON and AJAX and handing them in for instructor feedback. These projects will result in an impressive final application which will add to your portfolio and contribute to certificate completion. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

JavaScript 1: Introduction to JavaScript

In this course, students learn the basics of JavaScript programming and how to use it to suit their professional and creative goals. Students will learn how to trigger JavaScript programs with web-based events, such as a click or a mouse movement. They will discover the power of objects, methods, and properties, and how to use them to manage and manipulate the elements of a web page using the Document Object Model.
Syllabus:   View Syllabus and Course Content
  

JavaScript 2: AJAX

In this course, students learn advanced JavaScript and AJAX and how to use them to suit their professional and creative goals. Students will learn how use the HTTP request object to communicate with both XML documents and Perl scripts. They will learn the importance of validating forms before storing data, and how to search for data using both full and partial search strings. In addition, students will learn about APIs by working with the Google Maps API, and how to use cookies to store and recall information.
Syllabus:   View Syllabus and Course Content
  

JQuery for Advanced Front-End Development

jQuery is the most popular JavaScript library used today, and it’s easy to see why: jQuery makes your JavaScript programming tasks easier, by making it easier to select elements, navigate the DOM, create animations, add and remove style from your page, handle events, and create Ajax applications. With the jQuery UI library, you can build interactive web pages with pre-built widgets and interactions that save you hours of coding time. In this course, you will learn the fundamentals of jQuery and jQuery UI. You’ll build on your existing JavaScript knowledge and see how jQuery makes creating web applications easier and faster. Upon completion of this course, you will be able to:

  • Select, filter, and style elements.
  • Use jQuery’s event-handling structure.
  • Apply effects in your page.
  • Make use of the jQuery UI library’s extensive widget and interaction collection.
  • Use utilities like jQuery Ajax methods.

Throughout the course, you’ll learn by building real projects. These projects, as well as the final project, will add to your portfolio. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Learn C Programming, Part 1

Learn the fundamentals of programming and the basics of the C language! Students write, compile, and debug their own programs that utilize variables, conditional statements, and loops.
Syllabus:   Not Available
  

Learn C Programming, Part 2

In this course, students build upon skills acquired in the first course. They will learn to write their own functions, generate random numbers, use pointers and structures, read and write files.
Syllabus:   Not Available
  

Learn C#.NET

In this course, students will have the chance to learn and practice skills in C#.NET, ASP.NET, and web services by building actual working .NET applications. Learn C#.NET covers topics including: Classes, objects, instantiation, variables, the .NET framework, ADO.NET, ASP.NET, web services, XML, Visual Studio .NET, and more.
Syllabus:   Not Available
  

Learn Perl for CGI Programming

In this course, students will learn the programming aspects of Perl and CGI. Topics include variables, operators, hashes, arrays, control structures, forms, environment variables, parsing, POST and GET, regular expressions, functions, Perl modules, guestbooks, etc.
Syllabus:   View Syllabus and Course Content
  

Learn SQL for Database Programming

In this course, students will learn basic database creation and manipulation, as well as how to search databases and how to incorporate them into Perl-based programs and applications.
Syllabus:   Not Available
  

Learn VBScript

Students in this course will learn the fundamental concepts of the VBScript programming language. VBScript is used industry wide for many applications, including ASP web development, Microsoft Windows system administration, etc. Additionally, VBScript students will learn many of the fundamentals necessary for programming in the more powerful Visual Basic language.
Syllabus:   Not Available
  

Learn XML

In this course, students will learn the fundamentals of XML for use with XML-enabled applications or general web use. This course is an introduction to XML that prepares students with a foundation in one of the key elements of web programming. Introduction to XML covers topics including basic XML syntax, formatting, differences between XML and HTML, elements, attributes, document types definitions (DTDs) and how to use them, basic XSL and XML transformation, etc.
Syllabus:   Not Available
  

Linux Systems Administration: Fundamentals of Linux Security

In this course, you will learn the basics of Linux system security. These are some of the tools and skills a system administrator needs to become a security engineer. This course focuses on network security issues and will help you improve the security of your systems by starting to think like an attacker. Upon completion of this course, you will be able to:

  • Verify password security.
  • Enforce password strength via system policies.
  • Assess system service security both locally and remotely
  • Identify unknown open ports.
  • Disable unwanted, insecure services.
  • Analyze network packet captures for unencrypted data.
  • Implement local system firewall controls using IPTables.

From beginning to end, you will learn by doing Linux-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio. Besides a browser and Internet connection, all software is provided by The O’Reilly School of Technology.

Syllabus:   Not Available
  

Linux Systems Administration: Networking and Package Management

In this course, you will continue using real systems while learning how to interface a Unix system with a network. You will start by learning about IP addresses and how to configure Ethernet devices, learn about many of the services offered by a Unix server, and finish up by configuring your very own DNS service from scratch. Upon completion of this course, you will be able to:

  • Interface a Linux or Unix system with a network.
  • Demonstrate knowledge of IP addresses.
  • Configure an Ethernet device.
  • Demonstrate understanding of several Unix services, such as email.
  • Configure a DNS service from scratch.

From beginning to end, you will learn by doing Linux-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   Not Available
  

Linux Systems Administration: Sed, Awk, and Perl

In this course, you will learn the basics of Sed, Awk, and shell scripting. A system administrator would get completely overloaded if repetitive tasks were not automated. The majority of the course focuses on the undeniable power of Perl scripting in the hands of a system administrator. Upon completion of this course, you will be able to:

  • Call multiple commands, redirect output, and create script files in Sed.
  • Define variables and statements in shell scripts.
  • Sort and manipulate data in Awk.
  • Create robust shell scripts in Perl.
  • Apply regular expressions to search and replace strings.
  • Read and recursively search directory systems with scripts.
  • Test and manipulate system files and commands.

From beginning to end, you will learn by doing scripting-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Linux Systems Administration: Services

In this course, you will delve into more advanced systems administration topics and tasks, such as DNS, HTTP, and SMTP. Along with exploring these topics, you will install server software from both packages and source in order to implement these services on their own server. Upon completion of this course, you will be able to:

  • Understand and manage sysV- and inetd-based services.
  • Install and configure the BIND DNS server.
  • Create new DNS zones.
  • Build and install Apache’s httpd server from a source package.
  • Configure Apache’s httpd server using virtual hosts.
  • Understand basic concepts related to HTTP.
  • Configure a Postfix-based email server.
  • Understand basic SMTP concepts.
  • Install and configure PHP.

From beginning to end, you will learn by doing Linux-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   Not Available
  

Linux Systems Administration: The Command Line

In this course, you will learn the basics of using a Linux-based system. Topics covered include navigating the filesystem, working with files and directories, file permissions, the vi text editor, the Bash shell, processes, and ways to find help in the open-source community. Upon completion of this course, you will be able to:

  • Navigate the filesystem.
  • Manipulate files and directories.
  • Understand and change filesystem permissions.
  • Create and edit text files using vi.
  • Use many of Bash’s powerful built-in features such as pipes and redirects.
  • View and interact with processes on the system.

From beginning to end, you will learn by doing Linux-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   Not Available
  

Linux/Unix 1: The Unix file system

As the first course in the Linux/Unix System Administration certificate series, this course familiarizes students with the Linux/Unix environment. Students will learn the basics of system administration as they learn on a real Linux/Unix system.
Syllabus:   View Syllabus and Course Content
  

Linux/Unix 2: Networking and DNS

This is the second course in the Linux/Unix System Administration certificate series. In this course, students continue to administrate a real system. Some of the subjects covered in the course include IP addresses, the configuration of ethernet devices, the services offered by a Linux/Unix server, and DNS. At the end of the course, students will configure their very own DNS service from scratch and will be well on their way to having the skills of an entry level system administrator.
Syllabus:   View Syllabus and Course Content
  

Linux/Unix 3: Unix Services

The third course in the Linux/Unix System Administration certificate series covers the fundamentals necessary to run an email server and a web server. The first part of the course is devoted to email, how it works, the role of sendmail, aliases, and procmail filters. In the second part of the course, students install and configure their own Apache web server. They also learn how to reconfigure Apache so that it works in conjunction with PHP and postgreSQL.
Syllabus:   View Syllabus and Course Content
  

Perl 1: Introduction to Perl

In this course, you will learn the basics of scripting with Perl. Perl has long been considered “the duct tape of the Internet.” It is used to do everything from building web pages to creating back-end applications and administrative scripts. Countless programs have been written in Perl over the years. Upon completion of this course, you will be able to:

  • Create and run Perl programs using basic scalars, arithmetic, conditional statements, and interpolation.
  • Implement and manipulate strings, functions, operators, lists, loops, and arrays.
  • Format output and list content.
  • Map data with hashes.
  • Perform basic Unix commands.
  • Aggregate and sort data using subroutines.
  • Read external files in Perl.

From beginning to end, you will learn by doing your own Perl-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Perl 2: Intermediate Perl

In this course, you will learn filehandlers, expressions, parsing, flags, and operators. Upon completion of this course, you will be able to:

  • Create practical programs that interact with the user and the operating system.
  • Perform useful and important tasks without even writing programs, by calling Perl from the command line with brief “one-liners.”
  • Match and change text using the powerful technology of regular expressions.
  • Enhance software quality with a larger repertoire of Perl operators, functions, and looping constructs.

From beginning to end, you will learn by doing Perl-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Perl 3: Advanced Perl

In this course, you will learn about Slices, Global Matching, Grep, Map, and Heterogeneous Data Structures. Upon completion of this course, you will be able to:

  • Demonstrate knowledge of Perl slices.
  • Obtain useful information about files and the operating system.
  • Manage and manipulate data using grep and map.
  • Perform sleight-of-hand with references, hash references, and hashes of hashes.
  • Structure and optimize data.
  • Develop full-fledged Perl programs that employ exception-handling, multidimensional arrays, and regular expressions.
  • Implement Perl one-liners using command-line options.
  • Solve the Eight Queens Problem.

Throughout your Perl education, you will learn by doing Perl-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Perl 4: Applied Perl

In this course, you will learn to apply Perl in performing many common complex tasks. You will not only learn how to use objects in Perl, but also how to make your own, so that you, too, can create reusable code (aka modules). We will cover the basics of object-oriented programming in Perl, plus more advanced aspects such as inheritance, polymorphism, inside-out objects, and use of the Moose O-O system. Also, because some of the modules we will need do not come with standard Perl distribution, we will show you how to get any module you want from the Comprehensive Perl Archive Network (CPAN). All this, plus multiprocessing in Perl and using its built-in debugger, awaits you in Perl 4. Upon completion of this course, you will be able to:

  • Create reusable modules in object-oriented Perl.
  • Send email using Perl.
  • Process web page forms.
  • Interact with a database.
  • Scrape web pages and parse HTML.
  • Handle complex date and time data.
  • Implement the Moose O-O system in Perl.

From beginning to end, you will learn by doing Perl-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

PHP Programming and Databasing

In this course students learn how to use PHP to create dynamic web pages by querying a mySQL database. Topics covered include variables, operators, hashes, arrays, and control structures.
Syllabus:   Not Available
  

PHP/SQL 1: Introduction to Database Programming

In this course, you will learn basic SQL database creation and manipulation, as well as how to search databases and how to incorporate them into PHP-based programs and applications. SQL (Structured Query Language) is the language for databases such as Oracle, MySQL, MS Access, etc. Knowing SQL is paramount in using these databases. Upon completion of this course, you will be able to:

  • Create, search, and manage SQL tables and entries.
  • Perform basic SQL queries and joins, and manage the results.
  • Demonstrate understanding of advanced SQL syntax for date, time, math, and string functions.
  • Implement SQL database programming into a PHP-based web application.
  • Build a full-fledged online address/phone book using PHP and MySQL.

From beginning to end, you will learn by doing SQL-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and contribute to certificate completion. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

PHP/SQL 2: Relational Theory and Logical Design

In this course, students will learn advanced database theory, design, optimization, and security. Upon completion of this course, you will be able to:

  • Create, administer, back up, and optimize databases and user permissions in MySQL.
  • Import and export files based on SQL results.
  • Demonstrate understanding of relvars, views, and Relational Algebra.
  • Design a database logically using predicates and constraints, keys, and orthogonality.
  • Normalize relational databases to prevent design flaws.
  • Translate logical design into SQL tables.
  • Prevent database security holes, update anomalies, and SQL injection attacks using PHP.
  • Design and create a fully-functioning social networking site using PHP and SQL.

From beginning to end, you will learn by doing SQL-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

PHP/SQL 3: Seamless Web 2.0 Integration

In this course, you will learn advanced User Interface techniques using PHP and SQL, and will learn to build a dynamic website as a whole, using efficient and reusable code and seamlessly integrating Web 2.0 design patterns, object-oriented PHP, and other technologies and techniques. Upon completion of this course, you will be able to:

  • Demonstrate knowledge of the major Web 2.0 concepts: Web as a Platform, Data as the “Intel Inside,” Collective Intelligence, Customer Self-Service, Folksonomy, and Lightweight Programming Models.
  • Build back-end code that demonstrates reusability, extensibility, safety, and portability.
  • Create a front-end user interface that employs consistent navigation, customization, and professional use of online real estate.
  • Implement object-oriented PHP elements such as classes, objects, scope, inheritance, polymorphism, magic methods, encapsulation, and access control.
  • Develop a full-fledged Web 2.0 web site from scratch.

From beginning to end, you will learn by doing SQL-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion.

Syllabus:   View Syllabus and Course Content
  

Python 1: Beginning Python

In course, you will learn the basics of programming with Python. You will learn about expressions, variables, conditionals, loops, lists, sets, dicts, functions, objects, and exceptions. Upon completion of this course, you will be able to:

  • Store and manipulate user-input data using Python.
  • Implement basic Python decisions, iteration, sequence containers, sets, and dicts.
  • Read and write files using Python.
  • Define custom functions and call built-in Python functions.
  • Import modules and namespaces from the Python Standard Library.
  • Define classes and instantiate objects using Python’s Class mechanism.
  • Handle exceptions and document code.
  • Build and debug an entire program written in Python.

From beginning to end, you will learn by doing Python-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion. Courses are delivered using the CodeRunner learning IDE (Integrated Development Environment) and require only that you be online and able to use a browser. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Python 2: Getting More Out of Python

In this course, you will learn more in-depth techniques and strategies for programming with Python. You will get hands-on experience with Python’s modular unit testing features; file handling, storage, and archival; graphical user interfaces; and technologies for working with databases and email. Upon completion of this online Python course, you will be able to:

  • Demonstrate understanding of Agile processes and test-driven development.
  • Manage files, persistent storage, archives, and serialization.
  • Create a Graphical User Interface in Python.
  • Design and implement relational databases using Python and SQL.
  • Create and send emails from Python programs.
  • Build a full-fledged Python database application.

From beginning to end, you will learn by doing Python-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion. Courses are delivered using the Eclipse-based Ellipse learning IDE (Integrated Development Environment) and require only that you be online and able to use a browser. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Python 3: The Python Environment

In this course, you will learn more high-end techniques and strategies for programming with Python. Upon completion of this course you will be able to:

  • Parse command-line arguments and perform string validation.
  • Build sophisticated structures such as bunch classes.
  • Create your own APIs.
  • Enhance your code with iterables, iterators, and generators.
  • Manipulate textual data with regular expressions.
  • Apply advanced object-oriented programming techniques to Python development.
  • Exchange binary data with other languages and systems.
  • Configure user setups and log activity.
  • Calculate date and time.

From beginning to end, you will learn by doing Python-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion. Courses are delivered using the Eclipse-based Ellipse learning IDE (Integrated Development Environment) and require only that you be online and able to use a browser. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Python 4: Advanced Python

In this course, you will learn to incorporate further object-oriented design principles and techniques with the intention of rounding out your skill set. Techniques like recursion, composition, and delegation are explained and put into practice through the ever-present test-driven practical work. Upon completion of this course, you will be able to:

  • Extend Python code functionality through inheritance, complex delegation, and recursive composition.
  • Publish, subscribe, and optimize your code.
  • Create advanced class decorators and generators in Python.
  • Demonstrate knowledge of Python introspection.
  • Apply multi-threading and multiprocessing to Python development.
  • Manage arithmetic contexts and memory mapping.
  • Demonstrate understanding of the Python community, conferences, and job market.
  • Develop a multiprocessing solution to a significant data processing problem.

From beginning to end, you will learn by doing Python-based projects and submitting them for instructor feedback. These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion. Courses are delivered using the Eclipse-based Ellipse learning IDE (Integrated Development Environment) and require only that you be online and able to use a browser. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

Syllabus:   View Syllabus and Course Content
  

Unix For Web Programming

In this course, students will learn basic directory and file administration, as well as web server configuration, maintenance, and baseline shell-scripting. Students will also learn web and Internet troubleshooting techniques that will help them with Unix-based web programming projects.
Syllabus:   Not Available
  

Visual Basic .NET

In this course, students will have the chance to learn and practice skills in VB.NET, ASP.NET, and web services by building actual working .NET applications. This course covers topics including: Classes, objects, instantiation, variables, the .NET framework, ADO.NET, ASP.NET, web services, XML, Visual Studio .NET, and more.
Syllabus:   Not Available
  
Copyright © 1998-2015 O'Reilly Media, Inc.

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
See http://creativecommons.org/licenses/by-sa/3.0/legalcode for more information.