The question of whether computers can think is just like the question of whether submarines can swim.
- Edgar Dijkstra
Welcome to the website of S. A. Cole. I have twenty-two years of programming experience and training experience. Today I provide software architecture design and implementation services for banking and point-of-sale industries. My areas of expertise include fleet management, image and document archive systems, image quality assurance, POS and RDC/X937 (also known as Check21) processing, as well as back-office banking processes and barcode processing. I also have many years of experience merging and updating production systems where there can be no downtime during the cutover. I also design and implement web-based UIs using HTML and Javascript as well as Java technologies including the completely amazing GWT which finally delivers on the promise of a desktop experience through a web browser.

I also teach for Southern Polytechnic State University's Continuing Education Center. I teach certificate and open-enrollment classes in Java and Java technologies. (Sorry, I no longer teach the Web Certificate through SPSU). The open-enrollment classes cover the Java language; students may be absolute beginners or updating their skills from another programming language. The certificate program covers most of the J2EE technologies and GWT.

In January, 2010 Laura Raines, a reporter for the Atlanta Journal-Constitution interviewed me for an article on Java, Java technologies and Java training available at Southern Polytechnic State University. The article appeared in the the Jobs section of the Atlanta Journal-Constitution on Sunday, January 31, 2010. You may view the article here.

In March, 2012, Laura Raines interviewed me for an article on Google Web Toolkit and the training available at Southern Polytechnic State University. The article appeared in the Jobs section of the Atlanta Journal-Constitution and you can follow this link to view the article.

SPSU Training Courses
XML Development and Processing

Extensible Markup Language, or XML, is one of the core parts of enterprise data delivery systems. XML is a platform- and application-independent method of exchanging data. Its flexibility has also made it ideal as a configuration tool for many enterprise applications such as application servers and web servers.

The following topics are covered in the class: development and processing XML documents, development and use of validation schemas, and development and use of transformations. All programming is done in Java.

This class may be taken individually or as part of the E-Business Solutions in Java Certificate.

2 Saturdays, 8:30 am to 5 pm,
September 29 and,
October 6, 2012
Hibernate

Business run on databases, and that's a fact. Traditional database development techniques are difficult to implement and test effectively and even more difficult to modify after the application is in production. Object Relational Modeling (ORM) systems bridge several paradigm gaps between object-oriented languages, such as Java, and relational databases. The leading ORM for Java development is Hibernate. Hibernate is a framework that solves the paradigm mismatches between programming languages and databases by providing a mapping mechanism between Java and the tables in the database.

The course covers object-to-table mapping, including collection and inheritance, annotations, querying with HQL and criteria, effective data-retrieval techniques, transactions and conversations, and effective program design.

This class may be taken individually or as part of the E-Business Solutions in Java Certificate.

3 Saturdays, 8:30 am to 5 pm,
October 20,
October 27 and,
November 3, 2012
Spring

Spring is a lightweight application container and framework that can replace traditional EJB containers such as WebSphere or JBoss or be embedded inside these containers. Spring provides several core enterprise components such as database access, aspect-oriented programming, web or traditional application environment, and application authentication. It also provides dependency injection, which allows the application to configure which resources are required or available for parts of the application.

Topics covered in the course are good application structure, manual and automatic wiring, working with databases, cross-cutting enterprise concerns with aspect-oriented programming, and web and non-web-based application development. Database work uses Hibernate and MySQL. Hibernate is not covered in this class and students are not expected to know Hibernate or SQL. Java classes needed to work with the database are provided.

This class may be taken individually or as part of the E-Business Solutions in Java Certificate.

4 Saturdays, 8:30 am to 5 pm,
November 3,
November 10,
November 17 and,
December 1, 2012
Thanksgiving week off
Google Web Toolkit

The Google Web Toolkit, GWT, finally delivers on the promise of cross-browser, desktop-like web applications. It is quickly becoming the de facto standard for creating web-based applications. GWT solves the problems of browser differences and removes the need for multiple languages by allowing the UI and the server components to be written in Java. It does not require a browser plugin.

Topics covered include UI components (checkboxes, text fields, etc.), layout managers, event handling, connectivity to remote resources, browser history management, image management, and internationalization.

This class may be taken individually or as part of the E-Business Solutions in Java Certificate.

3 Saturdays, 8:30 am to 5 pm,
July 7,
July 14 and,
July 21, 2012
Android

Android is the application environment for many of today's smart phones and tablet PCs. It is a direct competitor to Apple's iOS operating system used on the iPhone. Android provides a full complement of UI components, event handling, on-device database management, and full integration with the device's hardware capabilities such as GPS and accelerometers.

Course topics include an introduction to micro-platform computing, developing UIs and layouts, menus and dialog boxes, cross-application resource sharing, animation and threading, and deploying applications to Android devices. Development will be performed in Eclipse using the Android simulation platform. An Android device will be available for students to test deploying applications.

This class may be taken individually or as part of the E-Business Solutions in Java Certificate.

4 Saturdays, 8:30 am to 5 pm,
August 18,
August 25,
September 8 and,
September 15, 2012
Labor Day week off
Beginning Java This five-day course provides a gentle introduction to the Java programming language for those who have never programmed before or whose skills are rusty. Topics include classes, objects, control structures, arrays, graphics, class variables and methods, primitive types, and class design. It covers the most recent version of Java. The course features extensive programming labs during which you write and test programs under the supervision of the instructor.
 

5 Saturdays, 9 am to 5 pm,
Next session TBD

Accelerated Java This five-day course is designed to bring you, the experienced programmer, quickly up to speed in Java. Topics include Java fundamentals, objects, arrays, graphical user interfaces, data structures, class design, abstract classes and interfaces, program organization, exceptions, streams, threads, and networking. It covers the most recent version of Java. The course features extensive programming labs during which you write and test programs under the supervision of the instructor.

5 Saturdays, 9 am to 5 pm,
May 5 thru June 2, 2012
 
The Duke® logo denotes a course which is not intended to teach the Java language. Students must have completed SPSU's Accelerated Java or Beginning Java or must have at least 6 months current working experience with the Java language. Students who have completed the Beginning Java class at SPSU may wish to gain practical experience before attempting this course.
 
The star denotes a course for which a student may receive an optional certification. Certification ensures employers that the student has a knowledge of the core principles of the technology covered in the course.

To obtain certification all course labs must be completed and must implement the functional requirements of the lab (they have to work). Students have one calendar week from the last class to complete and turn in their labs. Additionally, students must take an on-line examination. The examination is given during the last hour of the last class. Students may use course and personal notes and refer to their labs during the examination. The examination is graded on-line and the student must answer at least 70% of the questions correctly in order to pass.

Copyright © 2012-2009 S. A. Cole, All rights reserved.