This course is no longer taught!

Current course information can be found here

Internet Application Development with Java™ EE, MySQL, and AJAX

This course consists of the following weekly modules:

Introduction to XML

Prerequisite: Completion of a College-level Certificate course in computing or equivalent

The Extensible Markup Language (XML) is a set of tools for organizing and manipulating data on the computer. It provides a common ground for programs that otherwise might not be able to communicate with one another.

Topics covered:

  • The basic parts of an XML document.
    • Tags, elements, attributes, comments, and entities.
  • How to write a well formed XML document.
  • Verify the correctness of a document with xmllint.
  • Specifying an official document plan with XML Schema.

Introduction to Database and SQL (MySQL)

Prerequisite: Completion of Introduction to XML or equivalent

MySQL is a popular open source database from Oracle that powers some of the most popular websites on the Internet. SQL is the programming language the powers MySQL (and every other relational database). In this course you will learn the basics of SQL.

Topics covered:

  • Connecting to a MySQL database using the MySQL client.
  • Retrieve data using the SELECT statement.
  • Filter the SELECT statement using the WHERE clause.
    • AND, OR, and NOT.
  • Simple Single row functions.
  • Simple Aggregate functions.
  • JOINing tables.
  • Creating and modifying tables to store data.
  • SQL datatypes.
  • Primary keys and indexes.
  • Using the Data Manipulation Language (DML).

Intermediate Database and SQL

Prerequisite: Completion of Introduction to Database and SQL (MySQL) or equivalent

This course is a continuation of the Introduction to Database and SQL (MySQL) course.

Topics covered:

  • Advanced (multitable) JOINs.
  • Aggregate functions using GROUP BY and HAVING.
  • Subqueries.
  • Advanced Functions.
    • String functions.
    • Date/time functions.
  • Regular Expressions.
  • Database maintenance using the root account.
    • Manipulate databases.
    • Create and manipulate user accounts.
    • Permissions.
  • Back up databases and tables with mysqldump.
  • Restore backed up databases.

Introduction to Java

Prerequisite: Completion of a College-level Certificate course in computing or equivalent

Topics covered:

  • Using the Java compiler and the Java Virtual Machine from the command line.
  • The anatomy of a Java class.
  • Command line input and output.
  • Formatted output.
  • Expressions, operators, and variables.
  • Types.
  • Control statements.
  • Arrays.
  • Collections (part 1).
  • Methods.

Intermediate Java (Object Oriented Programming)

Prerequisite: Completion of Introduction to Java or equivalent

Topics covered:

  • Classes and objects.
  • Fields.
  • Static members verses instance members.
  • Constructors.
  • Inheritance and composition.
  • Polymorphism.
  • Exceptions.
  • Using the jar command to make Java archives.

Advanced Java (Programming with the Java Library)

Prerequisite: Completion of Intermediate Java or equivalent

Topics covered:

  • Dates and Calendars.
  • Generics and Collections.
  • String methods.
  • Regular Expressions.
  • Processing XML files.

Java JDBC and Database Programming

Prerequisite: Completion of Advanced Java or equivalent

Topics covered:

  • How to set up JDBC.
  • Writing queries that return a ResultSet.
  • Writing queries that update the database.
  • Writing queries that insert data into the database.
  • Prepared Statements.
  • Common JDBC programming patterns.

Web Design

Prerequisite: Completion of a College-level Certificate course in computing or equivalent

Topics covered:

  • HTML basics.
  • HTML Tables.
  • CSS (Cascading Style Sheets)
  • HTML forms.
  • URL basics.

Basic Java EE

Prerequisite: Java JDBC and Database Programming or equivalent

Topics covered:

  • How do web servers and web browsers interact?
  • The servlet/JSP container (Tomcat).
  • Web application architecture.
  • The Model-View-Controller (MVC) design pattern.
  • Servlets.
  • Deployment Descriptors.
  • Building and deploying web applications with Apache Ant.
  • JavaServer Pages (JSP).
  • Requests (GET verses POST).

Intermediate Java EE

Prerequisite: Basic Java EE or equivalent

Topics covered:

  • Redirects.
  • Using the RequestDispatcher.
  • JSP expression language.
  • Using listeners.
  • Using sessions.
  • Configuring a JDBC connection pool.
  • A large, complex in-class example

Apache Struts 2

Prerequisite: Completion of a College-level Certificate course in computing or equivalent

Topics covered:

  • Actions.
  • Interceptors.
  • Results.
  • Forms and the UI.
  • JSTL and other tags.
  • UI Component Tags.
  • Validation Framework.
  • Unit Testing in Struts 2.

Programming XML with JavaScript (DOM and AJAX)

Prerequisite: Completion of Programming with JavaScript or equivalent

This module ties together everything else that has come before.

Topics covered:

  • Comparing JavaScript to Java (JavaScript is not Java).
  • Using the standard JavaScript objects and functions.
  • Using the browser's document object model (DOM).
  • Validating data in an HTML form.
  • How AJAX works.
  • Writing the server side program as a servlet.
  • Creating the XMLHttpRequest object in multiple web browsers.
  • Anatomy of an AJAX request.
  • Processing the response from the server in the web browser.
  • Using XML and JSON to encode the data.
  • AJAX and dynamic HTML.
  • Synchronous verses asynchronous AJAX.
  • Using a ready-made library for AJAX (jQuery).

Course Schedule:

Internet Application Development with Java™, MySQL and AJAX12 weeksTBATBA7,995
Introduction to XML5 daysTBATBA990
Introduction to Database and SQL (MySQL™)5 daysTBATBA995
Intermediate Database and SQL5 daysTBATBA995
Introduction to Java™5 daysTBATBA995
Intermediate Java™ (Object Oriented Programming)5 daysTBATBA995
Advanced Java™ (Programming with the Java Library)5 daysTBATBA995
Java™ JDBC™ and Database Programming5 daysTBATBA995
Web Design5 daysTBATBA995
Basic Java™ EE5 daysTBATBA995
Intermediate Java™ EE5 daysTBATBA995
Apache Struts 25 daysTBATBA995
Programming XML with JavaScript (DOM and AJAX)5 daysTBATBA995

Course Description:

Course Requirements:

  • Prerequisites are guidelines, only. Ideally you should have similar knowledge to the prerequisites specified.
  • All of our courses are open to anyone. Our courses are not part of any academic program at the University of Toronto. Our courses are administered by the University of Toronto.
  • Seats are limited. Course registration is on a first-come, first-served basis.

Tuition Fees:

  • The cost of the full 12 week Certificate course (all modules) is $7,995.
  • Individual modules are $995 for each module.
  • Fee payment is by Certified Cheque or Money Order payable to the University of Toronto.
  • A $500 deposit is required to hold your place in the 12 week course.
  • Full payment of the remaining fees is due on the first day of the course if you are taking the 12 week course.
  • Or the remaining fees for the 12 week course can be made in three equal monthly installments due on the first day of the course, on the first day of the fifth week and on the first day of the ninth week of the course.
  • Fees for modules are due on the first day of a module, if you are not taking the complete course.
  • Fees cover all materials and resources for the course. There are no additional charges.
  • To withdraw from the twelve week course with a full refund, you must withdraw before the end of the third day of the course.
  • For later withdrawals a refund will be assessed on a pro-rated basis, based on the fees for each module. Materials already provided are not returnable for credit.
  • To withdraw from a module you must withdraw by the end of the first day in order to get a full refund.
  • Refunds for withdrawals from a module after the first day will be assessed on a pro-rated basis. Materials already provided are not returnable for credit.
  • Fees are tax deductible, a Tuition and Education Amounts Certificate will be issued after successful completion of this course.

Funding Resources:

  • Employment Insurance recipients should contact an Employment Ontario counsellor regarding possible funding, before applying to any of our courses.
  • OSAP assistance may be available to those who qualify. This assistance is only available for 12 week courses. Please see the OSAP web site for more details. Apply to OSAP, early, as applications can take 6-8 weeks to process. When completing the OSAP application, the name of this course is DEEDS Project, the course load is 100% (full-time), and the course duration is 12 weeks. If for any reason you do not take the course you can cancel your OSAP application without penalty. Please be aware that you will not receive ANY money from OSAP before the course actually starts.
  • As a result of recent changes to legislation, recent immigrants who have lived in Ontario for less than twelve months may be eligible for an OSAP loan. The twelve month residency rule for immigrants may be waived on appeal of the original decision. That is you must apply for an OSAP loan. If your application is denied you can then appeal this decision.
  • This course qualifies under the Lifelong Learning Plan, if you are eligible. The Lifelong Learning Plan is a Government of Canada initiative which allows qualifying students access to their RRSP funds for the payment of course fees. For more information see your 1999 or later income tax return guide or check with Canada Revenue Agency.
  • This 12 week Certificate course DOES qualify for OSAP, if you are eligible.
  • The individual modules do not qualify for OSAP.

Please Note:

  • Course fees, dates, topics, and durations may change.
  • Course content and policies are continuously under review and may also change.
  • There is a maximum number of places available in this course. When the maximum enrollment is reached, new registrations will be placed on a waiting list.
  • There is a minimum number of places available in this course. If the minimum is not reached by the starting date, the course will be re-scheduled or cancelled. Fees paid will be refunded in full if you decide not to take a re-scheduled course.
  • This page will always be the most up to date description of the course.
  • Contact us or email us at, if you have any questions about this course.
  • Product names or company names are used for identification purposes only, and may be trademarks of their respective owners.