Current Course Offerings |
| Using Hibernate in Java Applications | Learn how to create applications that use Hibernate and JPA for data persistence (new in 2009) |
| Beginning Ruby on Rails | Programming fundamentals for Ruby and Ruby on Rails |
| Ajax Fundamentals | Learn how to leverage this exciting Web technology! |
| Intro To Computers | Directories, commands, paths. A basic level class |
| Be
Productive with Your PC in a Weekend |
Overview of the Internet, email, the browser, Internet security, Windows, Windows alternatives, MS Office, MS Office alternatives, and other key topics (updated 2009) |
| Database Fundamentals | Database fundamentals: tables, queries, (a little) programming, and more (updated 2009) |
| MySQL Database Programming | Learn to program MySQL using Java and Tomcat (updated 2009) |
| Intro to ASP.NET | Get up to speed on ASP.NET quickly! |
| Intro Java Programming | Intro Java Concepts, variables, classes, and more |
| Intermediate Java Programming | Covers core Java plus JDBC, JSP , and Servlets. Highly customizable |
| Learn to Create Websites Using Dreamweaver | Learn how to create and host great looking Websites using Dreamweaver |
| Learn To Program in Basic (a good introductory programming class) | Introductory programming taught using QBASIC |
| Custom Classes | We can design a custom computer class to fit your needs. (See our contact page) |
Using Hibernate in Java Applications
In this fast moving class, you'll learn how to setup and use the exciting ORM data persistence tool called Hibernate. You'll learn about Sun's Java Persistence Architecture (JPA) and how to create Web pages (JSPs) that will save data to a database (MySQL used for this class).
Using Hibernate, you use Java classes for your applications. With Hibernate, gone are the days of low-level JDBC (so-called database assembly language) calls and tedious code. Using Hibernate you persist data right from your Java classes. Hibernate lets you focus on your domain model (the main objects in your system) so you don't have to worry about the "database".
Of course, Hibernate takes a little getting used to, but it's fun to learn it and it's amazing what Hibernate will do for you with very little effort on your part. Add a few annotations to a Java class, install and configure Hibernate and a JDBC-compliant database of your choice, and you can start saving data directly from your Java classes!
Hibernate is also available for .NET programmers (NHibernate).
This class is for Java software developers with some SQL background and JDBC experience (JDBC programming is discussed briefly, but not covered).
This class will cover:
- How to setup Hibernate
- Introduction to JPA (Java Persistence Architecture) and how it makes Hibernate even easier
- How tables are mapped to Java classes and JPA annotations
- How to add records using a singe class
- Basic CRUD operations (looping through a list of records, getting a unique result, Creating, Updating, Inserting, and Deleting records)
- HQL - Hibernate Query Language (HQL uses your class fields, not the database columns. You'll see why this is so cool!)
- The Hibernate Session (transactions, rollbacks, exceptions, other)
- Column mappings (@Column, @Transient, @Basic, Dates, Timestamps, @Lob, other)
- Queries and Finders
- Data Access Objects (DAOs and how to use them)
- Using Hibernate with JSPs
- Mappings (various class to table mappings, inheritance mappings, other)
Any class examples with any other useful files will be put on a special class website so you can download them!
While many programming languages seem to be suffering from mid-life crises, Ruby is the hot new language and Ruby on Rails promises to ease Web development for a variety of applications.
This class teaches Ruby and Ruby on Rails basics.
Here's what we'll cover...
Working with data types in Ruby (numbers, Strings, and others)
Ruby operators
Arrays
Hashes (params hash and others)
Ranges
Conditionals, loops, methods and blocks
Classes & Objects
-----
Ruby on Rails Framework
MVC Architecture
Creating Ruby's Actions, Views, Controller
Learning to create form controls
Tying form controls directly to the model layer
Learning to use Rails to read values from form controls
Connecting Ruby to MySQL
Validation and Testing
Building a working application (shopping cart or other similar)
Ajax with Rails
This fast-paced class assumes the student has worked with at least one other language.
Any class examples with any other useful files will be put on a special class Website so you can download them!
The Internet changed everything!
It all started with just regular static HTML pages that were really nothing
more than on-line brochures, then the Web evolved to CGI, Javascript, Applets,
Servlets/ASPs/PHP, Flash, etc.. The problem is that each of these technologies,
while improving
on the user experience, also has their own problems and none of them comes
close to a rich desktop application.
Enter Ajax!
Ajax isn't new and it's more of a technique than a technology.
Google, NetFlix, and others have jumped on Ajax to make their Web sites much
richer. Ajax will enable you to make your Web site more responsive in ways that
were impossible in the traditional HTTP request/response model.
Ajax lets "parts" of your pages update without the server having to refresh the entire page. Plus, Ajax (unless you direct otherwise) happens in the background so your users can keep working on their current Web page.
Of course there are some pitfalls with Ajax. Since your users are already "trained" in traditional Web applications, they may not be expecting some of the new interactivity you're going to implement with Ajax. Also, your new Javascript/Ajax code will be visible when someone views your page source. Thus, there are security concerns you need to be aware of.
In this quick-moving class, you'll learn about...
- History of Web applications
- What is Ajax
- Who's using Ajax? (Google, .... (the list is long)....
- When should I use Ajax? (and when shouldn't I?)
- What kinds of skills do I need? (HTML, CSS, some JavaScript)
- How do I communicate with the server?
- Asynchronous events
- How the request cycle is different between regular Web pages and Ajax-enabled pages
Let's jump in! We'll create a basic form to display image information from the server and Ajax's Async capabilities.
1. Create a sample XHTML file
2. Initialize JavaScript (using DOM level 0, initialize page and assign initial callback functions)
3. Create a request Object (create the XMLHttpRequest() object)
4. Verify the request object (before working with it)!
5. Using send() to send your request
6. Using a callback function to handle the server data returned
7. Processing server responses with the responseText property (property is constantly updated)
8. Using innerHTML
and setting progress indicators (manipulating DOM coming later...)
9. Enjoy your results!
After this first example, we'll delve into other topics form the list below...
DOM (levels 0, 1, and 2 and browser differences with level 2)
-- Special code needed to handle IE vs. DOM2-compatible browsers (Firefox, Opera, Safari,....)
Why is creating usable applications so difficult?!
How to handle multiple asynchronous requests
-- Creating JavaScript Monitor functions
-- Making sure to use different request variable names for multiple requests
--
Why request variables must be global
-- Using the JavaScript setInterval(...) function for using JavaScript's internal multi-threading
from our Ajax code
When is it better to make synchronous requests?
-- Do we need a callback function in these cases?
Other Ajax topics:
-- Processing XML using DOM
-- Using the browser's DOM to process our XHTML (and ditching innerHTML)
-- Form Validation
-- JSON
---- JSON as an alternative to XML processing
---- consuming JSON objects to build our XHTML pages
---- JSON objects (are associative arrays)
---- using JavaScript's eval() function
---- using JSON.parse(...) function
(Security is ALWAYS an issue!)
---- how is JSON better/worse than XML-DOM manipulation?
---- a quick look at JSONObject in Java and how we pass JSON back to JavaScript
Also, time permitting...
--Dynamically loading list boxes
--Progress indicators
--Auto Complete (like in Quicken)
--Accessing Web Services
--Javascript debugging techniques (alert() and beyond)
--Security (your Ajax logic is visible in browser source, other topics).
--Ajax Frameworks (should you use one?)
----implementing drag & drop functionality
This class will use Java Servlets (and server-side classes) as the server-side mechanisms and Eclipse
as the IDE for the student coding labs.
Class prerequisites: Some knowledge of Javascript and CSS, Java familiarity including
Servlets and general programming background.
Any class examples
with any other useful files will be put on a special class Website so you
can download them!
Learn to Create Websites Using Dreamweaver
Do you want to create a Web site to display your company's vision or help you sell your company's products?
Dreamweaver is a very powerful GUI tool for creating Web sites and other content and it's a RAD (Rapid Application Development) environment.
We'll start our class by discussing the various protocols like HTTP and FTP you will use to build and maintain your sites. We'll then introduce HTML and show you basic tag usage. After a tour of the Dreamweaver environment, we'll create a site map of the Web site the class will build.
From the site map, we'll quickly start using Dreamweaver to create our Home Page and begin adding elements. We will demonstrate how Dreamweaver lets you create pages in both a Code View and a Design View (and both at the same time!).
We'll talk about some of the new features recently introduced like:
- Spry controls that help you rapidly build menus and buttons with JavaScript functionality already built in
- Live View that lets you create your pages in real-world browser conditions.
- HTML Data sets that let you harness dynamic data without learning database or XML programming
We'll also demonstrate and explain some of the regular features that Dreamweaver makes so easy like adding Links, Rollover Images, Tables, Flash Buttons, meta tags, and how easy it is to create HTML Forms, using CSS, as well as lots of other material. You will see how to associate labels with text fields to help your site users. You'll also see how to validate your site's markup (HTML) and how to get a site map. We will also discuss up-front site layout design issues (and why we started with the design first).
You'll also learn how Dreamweaver can work with various programming environments like ASP and JSP to give you dynamic content and we'll discuss how you can find the ideal hosting company to host your Web site depending on your site's needs.
We'll round out the class by discussing how you can use Dreamweaver with a database such as MySQL to save information a user enters on your Website
The project you'll create in this class is a multi-page site that we'll host on a local web server.
All class examples and any other useful files will be put on a special class Website so you can download them!
This is a great course for the relatively new web developer or the developer new to Dreamweaver.
Have you tried at least one software program?
Do you want to get more out of your computer?
If you do, then this computer introductory course is for you! On the first day of class, we’ll begin de-mystifying PC hardware. We’ll also learn about different types of processors, memory, hard drives (and the newer hard drives with no moving parts!), USB drives, and other hardware.
With our hardware foundation, we’ll be ready for the main part of the course. The course's topics will include: the command prompt (and why you should understand it ... still!), devices and device names, directories, files, commands, system configuration files, data backup, computer security, software copyright laws and other important computer topics.
We will also discuss the latest version of Microsoft Windows (any why you still need to understand computer concepts to use Windows effectively), the Internet, on-line goodies, how to search and find virtually everything, how to find the best ISP, and other cool topics.
This course is PACKED with information you need to know! We will demonstrate how understanding computer concepts will help you use your applications more effectively. Additionally, the instructor will demonstrate each concept discussed.
The instructor will recommend several excellent books for managing and troubleshooting Windows.
You will get plenty of hands-on practice in the lab. This class is highly recommended for the relatively new computer user or the user who is interested in learning how to take control of his or her computer.
Any class examples with any other useful files will be put on a special class Website so you can download them!
Be Productive With Your PC in a Weekend!
Have you tried to use at least one software program? Do you want to get more out of your computer (in less time!!)? If you do, then this course is for you!
You’ll learn how to use the latest Windows versions and even some commands in the still-useful command window.
You’ll also see how to use the popular MS-Office™ packages like MS-Word™, MS-Excel™ and PowerPoint™ to create useful documents, spreadsheets, and presentations.
We'll discuss social networking sites, how to setup and use email, shopping on-line as well as using Windows and MS Office alternatives.
There is a LOT in this class!
Here are the topics you'll see:
Email
-- How to send/receive email
-- How to setup an email account
-- Email security (none) -- how to send encrypted email messages (secure)
-- How to get your own Internet Domain for your email and Web!
Browsing the Web
-- Browser choices (Firefox, IE, Opera, etc.)
-- Security
-- other
Microsoft Office
· How to create and format documents, and other tips in MS Word™
· How to create spreadsheet in MS Excel (includes basic formulas)
· How to create a PowerPoint presentation
OpenOffice
We'll discuss the MS-Office-compatible (but FREE) office suite and how it creates, as an option, Microsoft-office-formatted documents, spreadsheets, and presentations.
- Writer
- Sheet
- Present
Google's "Cloud Computing" (that is, the "Internet")
-- Using Google's office productivity functions online
Social Networking Sites
FaceBook / Twitter / Other
Business Networking Sites
LinkedIn / Plaxo / Other
Windows (computer) fundamentals
- Understanding how Windows works... and why you need to know
- Folders (creating, opening, deleting and other functions)
- The Start Menu
- The Command Window
- Running Programs
- Creating Shortcuts
- Running several programs at once
- Automatically loading/running programs at Startup
- Windows update
- Running Windows Disk/Virus/Backup Utilities
- Where to go for help! (Try help built into Windows first, then Google)
- Lots of other topics (for example, the Windows Registry)
What are the alternatives to Windows?
The Mac
- OSX, what is it? What features does it have?
- Can I still run Windows?
- What programs are available?
- Support from Apple/other?
Linux
- Various distributions
- Can I still run Windows?
- What programs are available?
- Support?
The Internet --Everything is on-line now
. DSL vs. Cable
·
Extremely useful Websites
. Why you should consider online banking
. Order stuff on-line?
Rent Movies?
. Search for just about everything you need to know (Google, other)
. Which browser should I use? (IE, Firefox, Opera, ....)
Important System Concepts:
· When To (still) use the Command Prompt (resolving network issues, for example)
· Directories (also called folders)
-- how to create them, delete them, etc..
· Files and File Types
· Commands
· Configuration files
Extra Topics:
· Data Backup (including automated online backup options)
. Your Privacy (lost?) on the Internet
-- Identity Theft --what should you do if it happens to you?
· Computer
Security
-- Using firewalls, anti-virus, anti-sypware programs. Which is best?
· Software Copyright Laws
. How to find the best software for free
. Extremely cool (useful/needed) utilities for your (Windows) PC
This course is PACKED with information you NEED TO KNOW! You will get plenty of hands-on practice in the lab.
This class is highly recommended for the relatively new computer user or for the user who is interested in learning how to take control of their computer and computer applications quickly. This course is fun!
Any class examples with any other useful files will be put on a special class website so you can download them!
In this class you will learn how to write ASP.NET programs that have complex controls, interact with data, and use the VS.NET development environment.
Getting started...
-- Writing a "Hello World" ASP.NET Program
-- So, what's so different about
ASP.NET
-- Setting up the basic Website environment
-- Testing the environment
ASP.NET Controls Introduction
-- What's a control?
-- Defining properties
-- Code you write for a control
ASP.NET Basic Controls
-- Buttons
-- TextBoxes
-- Image and Link buttons
-- Check boxes & Radio Buttons
-- Drop Down Menus & List Boxes
More Complex ASP.NET Controls
-- Panels
-- Calendar Control
-- Validation Controls (very cool!)
DataList and Repeater Controls
-- List-Bound Controls
-- Repeater Control
-- DataList Control
DataGrid Control
-- Overview of the Control
-- Features and Operation
-- Examples
ADO.NET DataSets
-- DataSets applications in ADO.NET
-- DataTable, DataRelations
-- Modifying Data
--
The Transactional Model
Writing Applications in ASP.NET
-- Understanding Code-Behind
pages
-- Which language do I use?
-- Sessions and other types of persistence
-- Introduction to Application Design
-- Introduction to separation of application logic in layers
-- Introduction to some useful .NET design patterns
-- User Controls
-- Labs -- creating sample pages
-- Debugging your code
-- Accessing SQL Server/Other databases
Any class examples with any other useful files will be put on a special class Website so you can download them!
MySQL is an advanced database management system. A database
is a structured collection of data. It may be anything from a simple shopping
list
to a picture
gallery
or the vast amounts of information in a corporate network. To add, access,
and process data stored in a computer database, you need a database management
system such as MySQL Server. Since computers are very good at handling large
amounts of data, database management systems play a central role in computing,
as stand-alone utilities or as
parts of other applications.
This course is for web designers, database or web programmers who need to store
data on the server, or for those interested in learning about server-side database
environments.
In this class, you'll learn how to use this very cool open source, and very powerful, database server.
MySQL is a database server like SQL Server and Oracle.
MySQL can...
--Develop .NET applications
--Develop Java and J2EE applications
--Develop Visual Basic applications with ODBC, ADO
--Develop Perl applications
In this class, we'll focus on Java's approach of accessing MySQL data with
the native Type IV JDBC driver. Time permitting, we'll also use the ODBC driver
to access MySQL data from a Microsoft product like VB.NET (to be announced).
Because MySQL runs under Linux and under Windows, MySQL is the ideal choice for many Websites. Unlike other client-side database management systems you may have used, like Microsoft Access, MySQL runs on the server not on the user workstation. You'll learn the techniques needed to access and use this server data.
In this class, we'll use SQL to SELECT, INSERT, and DELETE
records. We will also cover joins between tables including inner joins, and
outer joins. You will also learn about sub-queries.
We'll also work with ResultSets, as well
as how to set up the free Tomcat Application Server.
We'll also take a
look
at an extremely cool MySQL front end database builder. You'll see how to set
up users, how to do joins between tables (for example, SELECT all orders for
a particular customer), and learn about lots about MySQL's capabilities.
We'll also create stored procedures and stored functions (new to MySQL 5).
Other advanced topics, like row-level replication, may be discussed.
We'll discuss the best free (and inexpensive) tools to administer MySQL.
You'll create a server database and test various SQL commands using a server programming language such as Java Server Pages or PHP.
Any class examples with any other useful files will be put on a special class Website so you can download them!
Introduction to Java Programming
In this fast-paced Java class, you'll be introduced to the following concepts:
Basic data types
Control Structures
Arrays
Loops
Introduction to OOP
Methods and Classes
Object Oriented Concepts
--Inheritance
--Polymorphism
--Information Hiding
--Abstraction
--Code reuse
HTML and Applets
Swing
Recursion
This course will use examples throughout. The student will have several labs to complete as the course progresses.
Any class examples with any other useful files will be put on a special class Website so you can download them!
Intermediate Java Programming
Course Details: This course uses the Deitel "Java, How To Program" and covers the topics on the right side of this page. This course is normally a two-to three-month class meeting two-to three times per week at the customer's facility. The course can also be held off site if desired. This class can optionally include homework assignments and quizzes. In the Web portion of the course the students build a Web application using the MVC design pattern, Servlets, JSPs (JSTL optional), and a MySQL database back end. The standard course includes in-class labs with most lectures. s |
(Customizable) Course Contents: Core Material: Intro material and Introduction to Java applications Hibernate, JSTL, JUnit, Additional Design Patterns ( e.g., Singleton), XML processing (JDOM, SAX). |
Any class examples with any other useful files will be put on a special class Website so you can download them!
If you need a database to store and extract information, but you don't know where to start, this class is for you.
We start by discussing why you'd want to set up a database. We will give examples of commonly used databases.
Once we have the basic database idea we'll move on to thinking about how to set up a database. We will discuss database fields, data types, records and other elements. We will discuss how to set up a collection of tables using proper relational design and explain why you should care about proper design. Then we'll move to understanding how to extract data from our database using SQL. Our project will include setting up a database, entering information into it, learning basic SQL to run queries, and setting up and printing reports.
We will select the database we'll use depending on class background and interest.
This is an excellent first course in databases: it starts from the beginning.
Let's learn SQL!
All class examples and any other useful files will be put on a special class Website so you can download them!
Learn to Program in Basic -- using QBASIC (a very good introductory programming class)
Have you ever wished you could make the computer do EXACTLY what you wanted it to? How about creating a budget for home or some needed utility for school or for the office?
Depending on class interest and background, we will write one (ore more) of the following programs:
- a program that computes and prints wind chill values or the heat index
- a program that computes and prints mortgage payments and how much is still owed month to month
- a program that computes the chance that two people in a class will have the same birthday
- a program that computes biorhythms
- a tic-tac-toe game
If you have never programmed a computer before (or programmed one only a little), this course is for you. You will find that BASIC is simple to learn yet powerful enough to do just about anything you’d ever need to do! Furthermore, BASIC is now the language of choice in many Microsoft products (like VB.NET).
During the course, we’ll program in BASIC but compare what we’re
doing to Visual Basic (it’s the same ‘basic’ language). Visual
Basic now has over 1,000,000 programmers world wide! You’ll find much
of what you learn translates directly to Visual Basic!
A major goal of the course is to
teach you problem solving. Thinking about how to solve a particular problem
is fun too. Once you learn how to solve problems that are well implemented
on
a computer,
you're on your way to becoming a programmer.
You will learn about the QBASIC environment, programming basics and then you will learn about variables, loops, decision constructs, oh yes, and BUGS. You will see many example programs showing how to put each class topic to use. On our first day, we’ll write these programs together and discuss each program in depth (We’ll have a computer in the class on the first day to illustrate the examples). In the Lab, you’ll create a useful and fun class project (the program we’ll write together in the lab will be announced in the first class).
Prerequisites for this course: A strong desire to learn basic programming skills. That's it!
All class examples and any other useful files will be put on a special class Website so you can download them!
No programming experience is necessary.
This is an excellent and FUN course to start learning how to program.
Hurricane