Introduction to Software Design and Engineering - OOAD and Programming Track requires 60 hours of training to complete the certificate. Most students will take two classes, C++ Programming  (CLA200) and Object-Oriented Analysis and Design with UML (SWD200) to complete the certificate. Other students, based on experience, can elect to substitute courses from this certificate or other certificates including: Software Engineering and Architecture or DevOps for Software Engineers and Architects. Each course counts towards one certificate only.  

ADA Fundamentals for ADA 95 (30 Hours): Ada is a comprehensive high-level programming language designed for the professional development of large or critical programs where correctness and robustness are imperative. This course provides a full introduction to programming in Ada. Classic programming features are discussed, with an emphasis on Ada’s support for constructing modular, portable, and reliable systems.

C++ Programming (30 Hours)
This course teaches the syntax and constructs of the Standard C++ programming language. The student will learn the syntax of the language, as well as how to code and execute object oriented C++ programs.

Fast Track to Java and OO Development (30 Hours)
This course provides a comprehensive introduction to Java. It is suitable for programmers with good working programming experience (no Java experience needed). In addition to covering basic Java programming, the course provides a solid understanding of the core OO and Java concepts and practices needed to create well-designed Java programs. This includes creating well-designed Java classes, encapsulation, composition, and inheritance/interfaces. The material and labs include coverage of useful new Java capabilities such as the new module structure (Java 9), type inference (Java 10-11), and API enhancements. It also introduces important APIs such as the Java Collections Framework, and JDBC/JPA. This course is suitable for environments using Java 9-12. It also covers details of the Java release cycle, and Long Term Support (LTS) releases. Be prepared to work hard and learn a great deal!

Programming in C# and .NET (30 Hours)
C# is the leading object-oriented language used in the development of Microsoft .NET applications for the enterprise. This hands-on workshop provides software developers with a working knowledge of the C# programming language and object-oriented programming concepts. Topics include the .NET Framework, using Visual Studio.NET, the C# language and syntax, basic File I/O, ADO.NET concepts, Windows Forms and enhancing the Windows Forms user interface, and debugging and deploying C# applications. Object-oriented topics include Object-Oriented Design and Programming for C#, indexes, events, inheritance, class libraries, basic File I/O, ADO.NET concepts, and enhancing the Windows Forms user interface.

Python - Introduction (18 Hours)
Python is a dynamic, strongly typed, object-oriented, multipurpose scripting language for the web. In this hands-on course students first learn the basics of writing and running Python scripts and then move into more advanced topics like file operations, regular expressions, working with binary data, and how to use Python modules. Topics include basic Python language components, the IDLE environment, control flow constructs, strings, I/O, collections, classes, modules, and regular expressions.

Software Testing Workshop (12 Hours)
Software Testing is a crucial part of the software development process. It requires a methodical and disciplined approach to preventing, finding and reporting bugs. Needed software testing skills are not commonly taught to software developers, business analysts or project managers. The Software Testing workshop provides a complete picture of the testing process, how it fits into the development life cycle, how to properly scope and prioritize testing activities, and what techniques to use for optimal results.

Object Oriented Analysis and Design (OOAD) with UML (includes Design Patterns) (30 Hours)
In this course students learn how to use object-oriented techniques in software engineering from requirements gathering to implementation. Students will learn how to identify classes and see how software objects can be used to build software systems that are more robust and reusable. Unified Modeling Language (UML) is presented in detail and is used throughout the class. Throughout class, exercises will be introduced where students can apply their Object-Oriented Analysis and Design (OOAD) and UML skills by modeling prospective application solutions. Topics include Objects and Classes, OOAD phases, UML in the OOAD process, Object Design Principles, and OOAD Patterns.

Introduction to OpenGL (18 Hours)
OpenGL is a powerful software interface used to produce high-quality, computer- generated images and interactive applications using 2D and 3D objects and color bitmaps and images. In this course students learn the basics of platform-independent graphics programming using OpenGL. Topics include creating windows, rendering primitives, basic transformations, 3-D viewing and modeling, as well as an introduction to shading, lighting and texturing effects.

Advanced Software Design and Engineering - 90 Hour Certificate

In order to complete the Advanced Software Design and Engineering 90 hour certificate, students must complete class(es) in the Introduction to Software Design and Engineering (CLA200, SWD200) certificate. Students may elect to substitute hours from any of the certificates listed below:

Each course counts towards one certificate only.

Additional Details


Minimum Required

60 Hour(s)

Students are required to take 60 Hours of training to earn this certificate. As noted in certificate description, students with prior experience can elect to substitute classes. 
Required fields are indicated by .
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.