The courses in this track were designed by our experienced and disciplined software engineers and showcase the full lifecycle software engineering capabilities which span multiple business and technology domains, including real-time, embedded, large-scale, integrated, and distributed systems, to modern web, mobile, and cloud-enabled applications.  Our software engineering solutions are architected and built for superior quality, operational efficiency, and extensibility to adapt to future demands.  Mentoring and knowledge transfer are core to our service delivery, helping improve the efficiency and effectiveness of our clients’ teams.

Upcoming Open-Enrollment Offerings

Open-enrollment courses are a great, cost-effective option for organizations that have an immediate need to train a small number of employees, as well as for individuals looking to boost their skills.

Course Date(s) Time Instructor(s) Hours
Introduction to OpenDDS Programming [C++] Feb 28 - Mar 1 Day Simpson 6
Introduction to OpenDDS Programming [Java] Feb 28 - Mar 1 Day Simpson 6
Building OpenDDS Applications with DDS Security [C++] Mar 2 - Mar 3 Day Mitz 6
Building OpenDDS Applications with DDS Security [Java] Mar 2 - Mar 3 Day Mitz 6
OpenDDS Essentials I: QoS, Keys and Instances, and Built-In Topics [C++] Mar 7 - Mar 8 Day Mitz 6
OpenDDS Essentials I: QoS, Keys and Instances, and Built-In Topics [Java] Mar 7 - Mar 8 Day Mitz 6
OpenDDS Essentials II: Configuration, Listeners, Conditions, and Content Subscription [C++] Mar 9 - Mar 10 Day Mitz 6
OpenDDS Essentials II: Configuration, Listeners, Conditions, and Content Subscription [Java] Mar 9 - Mar 10 Day Mitz 6

Introduction to OpenDDS Programming [C++]

C++ Users: Get started with the OpenDDS project, Object Computing's open source implementation of the Object Management Group's (OMG's) data distribution service (DDS).

more…

Dates & Times

Mon, Feb 28, 9:00am to 12:00pm
Tue, Mar 1, 9:00am to 12:00pm

Location

Online

Instructor(s)

Timothy Simpson

Introduction to OpenDDS Programming [Java]

Java Users: Get started with OpenDDS, Object Computing's open source implementation of the Object Management Group's (OMG's) data distribution service (DDS).

more…

Dates & Times

Mon, Feb 28, 9:00am to 12:00pm
Tue, Mar 1, 9:00am to 12:00pm

Location

Online

Instructor(s)

Timothy Simpson

Building OpenDDS Applications with DDS Security [C++]

C++ Users: Gain proficiency with Object Management Group's Data Distribution Service (DDS) security specification and learn how to build powerful, secure distributed applications using the open source OpenDDS™ project.

 
more…

Dates & Times

Wed, Mar 2, 9:00am to 12:00pm
Thu, Mar 3, 9:00am to 12:00pm

Location

Online

Instructor(s)

Adam Mitz

Building OpenDDS Applications with DDS Security [Java]

Java Users: Gain proficiency with Object Management Group's Data Distribution Service (DDS) security specification and learn how to build powerful, secure distributed applications using the open source OpenDDS™ project.

 
more…

Dates & Times

Wed, Mar 2, 9:00am to 12:00pm
Thu, Mar 3, 9:00am to 12:00pm

Location

Online

Instructor(s)

Adam Mitz

OpenDDS Essentials I: QoS, Keys and Instances, and Built-In Topics [C++]

C++ Users: Extend your OpenDDS programming skills and learn how DDS publish/subscribe offers far more than simple topic-based data transfer. Quality of service (QoS) policies, keys and instances, and built-in topics give application developers tools to build scalable and robust distributed systems.

more…

Dates & Times

Mon, Mar 7, 9:00am to 12:00pm
Tue, Mar 8, 9:00am to 12:00pm

Location

Online

Instructor(s)

Adam Mitz

OpenDDS Essentials I: QoS, Keys and Instances, and Built-In Topics [Java]

Java Users: Extend your OpenDDS programming skills and learn how DDS publish/subscribe offers far more than simple topic-based data transfer. Quality of service (QoS) policies, keys and instances, and built-in topics give application developers tools to build scalable and robust distributed systems.

more…

Dates & Times

Mon, Mar 7, 9:00am to 12:00pm
Tue, Mar 8, 9:00am to 12:00pm

Location

Online

Instructor(s)

Adam Mitz

OpenDDS Essentials II: Configuration, Listeners, Conditions, and Content Subscription [C++]

C++ Users: Extend your OpenDDS programming skills with a deep dive into both DDS standard features and configurable aspects of the OpenDDS implementation. Learn how applications can react to events that occur in the middleware with Listeners and Conditions. Explore the advanced Content-Subscription Profile features that enable processing based on the contents of data samples.

more…

Dates & Times

Wed, Mar 9, 9:00am to 12:00pm
Thu, Mar 10, 9:00am to 12:00pm

Location

Online

Instructor(s)

Adam Mitz

OpenDDS Essentials II: Configuration, Listeners, Conditions, and Content Subscription [Java]

Java Users: Extend your OpenDDS programming skills with a deep dive into both DDS standard features and configurable aspects of the OpenDDS implementation. Learn how applications can react to events that occur in the middleware with Listeners and Conditions. Explore the advanced Content-Subscription Profile features that enable processing based on the contents of data samples.

more…

Dates & Times

Wed, Mar 9, 9:00am to 12:00pm
Thu, Mar 10, 9:00am to 12:00pm

Location

Online

Instructor(s)

Adam Mitz

Software Engineering Course Catalog

Training engagements are customized to meet your organization's unique needs. Courses can be adapted, expanded, combined, and tailored to cover the specific skills your team requires to achieve your goals.

Object-Oriented Design Patterns Applied

Developers who wish to utilize advanced object-oriented design techniques. Managers with a strong programming background who will be managing the design and implementation of object-oriented systems.

Details

Refactoring to Design Patterns

This course introduces a sequence of low-level refactorings that allow developers to safely move their designs to patterns. Participants will learn how to recognize code smells that signal a possible pattern implementation, learn relevant design patterns, and learn to safely refactor existing code to implement the patterns, using unit tests to validate the functionality of the resulting refactored code. Through this process, participants will also develop and appreciation for good design and gain confidence in their ability to improve the design of legacy code, even when that legacy code may not have been well designed.

Details

Hands-On Object-Oriented Analysis and Design using UML

Software developers moving to an object-oriented paradigm, or anyone who wishes to effectively communicate using object-oriented models.

Details

Introduction to Git

The course introduces git as a model and tool for distributed version control. Common version control operations such as adding files, committing, branching, and reviewing history are presented using the git command-line tool. The course shows how git is used in a team setting by presenting the gitflow workflow and its rationale. Students will complete individual exercises to learn the git command-line tool and team exercises to practice collaborative activities. The course highlights differences between git and centralized version control systems like Subversion.

Details

Flyway

This one-day intensive workshop presents an in-depth exploration of agile techniques as applied to databases. It focuses on refactoring and automation using the Flyway tools and libraries.

Details

Fundamentals of Software Testing

In this 2-day workshop, students learn to implement a structured testing environment for all phases of the Systems Development Life Cycle (SDLC), with a focus on creating functional and structural test plans, test scripts, and test cases.

Details

Professional Training for Modern Technology Teams

Extensive Catalog

Our course catalog features multiple tracks encompassing common programming languages, multiple modeling and development methodologies, and today's emerging technologies.

Skilled Instructors

Our training courses, workshops, and educational webinars are developed and delivered by team members who work daily with these advanced technologies and can speak with authority as subject matter experts.

Customized Curriculum

Training engagements are customized to meet your organization's unique needs. Courses in our catalog can be adapted, expanded, combined, and tailored to cover the specific skills your team requires to achieve your goals.

Convenient Delivery Options

All courses can be conducted at your location, in our state-of-the-art, Midwest training lab, or online. Regardless of delivery location, all training is delivered live by practicing engineers, allowing students to ask questions and engage with instructors in real time.

Contact us (or email info@ocitraining.com) to arrange for a complimentary consultation to discuss your training needs.

secret