
A 4 day introduction to Python Programming for software developers that covers basic language constructs, file I/O, OO programming, command line processing, managing processes and web clients. The focus is on using best practices and techniques to develop professional quality programs and scripts. Optionally this course can be customized by adding modules on data processing, machine learning, and Web application development.

This course aims to extend and solidify your Python experience by exploring structural techniques and common Python APIs. You'll learn how to write object oriented and functional code, implement GUIs, create Web sites backed up by relational databases, implement multithreaded code, and more.

This course is designed as a conversion course for students who have considerable experience in programming in other high-level languages, and who need to start writing or maintaining professional code in C. ANSI Standard C is a general-purpose programming language that is widely used in areas as diverse as operating systems and games. This course will teach you how to write professional ANSI Standard C code, and how to use the functionality provided by the ANSI Standard C library. The course explores concepts and syntax through lectures, discussion and hands-on lab exercises.

Scala is an object-oriented language that runs on the Java Virtual Machine. Scala is also a functional language, and combines the features and benefits of OO and functional programming. This course provides a fast-paced introduction to the language for developers with experience in similar languages (e.g. Java, C#, or C++), and then delves deeper into idiomatic uses of Scala in practice.

This course is intended to teach C++ programmers more about the language and how to use it properly. This course is divided into four sections.

This course is designed to teach ANSI Standard C to programmers in other high-level languages. ANSI Standard C is a general-purpose programming language that is widely used in areas as diverse as operating systems and games. This course will teach you how to read and write ANSI Standard C code. The course explores concepts and syntax through lectures, discussion and hands-on lab exercises.

This course is designed to teach ISO Standard C++ to programmers in other high-level languages. C++ is a general-purpose programming language that is widely used in areas as diverse as operating systems and games, typically where performance is critical. The course explores concepts and syntax through lectures, discussion and hands-on lab exercises.

This training course covers the core components of the Java Programming Language. The training course is designed to teach programmers of other languages the skills needed to learn how to write robust, industry standard, platform independent Java applications leveraging the power and flexibility of the Java platform. The course can be delivered with a variety of IDEs including IntelliJ, VisualStudio Code, or Eclipse as the development environment.

A Pattern-Based Approach to Effective Application Design. Many developers go through their career without being familiar with design patterns. This workshop is designed to equip developers with the confidence and ability to apply design patterns within the applications that they develop. Patterns are introduced through real world problems that need to be solved, and students are encouraged to solve the problem after which they are introduced to a design pattern that could be used to address the requirement. This approach to teaching design patterns works really well as the patterns are not learned in some sterile way, but in the context of real software problems that are solved through appropriate pattern application. The course is not specific to any programming language or platform, and would be very beneficial to developers who wish to improve and develop their design skills.

This course, written by Nick Todd, the author of JavaServer Pages 2.0 Developers Handbook from Sams Publishing, teaches you how to create enterprise applications using the latest versions of the very popular Spring framework with a focus on SpringBoot and the creation of microservices. The training course can be delivered using either Visual Studio Code, IntelliJ or Eclipse, and Maven or Gradle as the core development and build environments. In addition to teaching all the major aspects of Spring, the course also covers best practice integration between Spring and other technologies such as databases, Kafka, Cloud environments, and Docker. Various modules can be dropped / replaced, for example, NoSQL or SQL based back ends, and modules on SpringMVC for Thymeleaf and JMS can also be included if desired.

This advanced training course is for experienced Java developers who need to go into more depth into the core features of the language that are not typically covered on basic Java programming courses. The course details subjects that get cursory coverage in most books and courses, like generics, multithreading, socket programming, synchronization, and annotation development and looks at how the Java platform can be used to develop applications using these libraries and features.


