Course Overviews
UMBC Training Centers delivers high quality software development training for those new to programming and to experienced developers learning a new programming language. Courses are highly interactive and hands on and are led by instructors who combine significant experience in software development and computer science with a passion for teaching. View upcoming programming & software development Courses
Certificate Programs
-
Python for Beginners
This course introduces participants to essential elements of computer programming and features significant hands-on coding opportunities to learn the Python programming language. Click for more information
Python Courses
-
Python Programming
This course introduces the student to the Python language. Upon completion of the course, the student will be able to write non trivial Python programs dealing with a wide variety of subject matter domains. Topics include language components, the IDLE environment, control flow constructs, strings, I/O, collections, classes, modules, and regular expressions. The course is supplemented with many hands on labs using either Linux or Windows. Click for more information
-
Advanced Python
This course teaches many advanced concepts and capabilities of the Python programming language. Some of the topics include the Python object model, packaging and distributing projects, asynchronous I/O, distributed computing, message passing and idiomatic data handling. Upon completion of the course students will be able to write Python programs that utilize many of the advanced features of the language. Click for more information
-
Python for Data Science
This course introduces the Python language to students who want to use Python as a tool for their data science initiatives. The goal is to become proficient enough with the Python language to leverage powerful Data Science packages such as Pandas and matplotlib. Click for more information
-
Machine Learning & Data Science With Python
In recent years industry, not just academia, has found that creating powerful data models provides the next level of value past traditional business intelligence. This course focuses on state of the art machine learning techniques combined with a practical approach designed to teach you to process your data and build models using Python’s scikit-learn. In this class you will learn to load and analyze your data with Pandas (a data analysis library), build visualizations with pyplot, and create predictive models using scikit-learn. Click for more information
C, C++ & Assembly Language Courses
-
Introduction to C Programming
This course introduces the students to the C programming language using the C-99 standard. Daily activities include both lecture and hands-on programming exercises. The core C language features covered in this course includes functions, arrays, strings, pointers, structures and file I/O. Related programming techniques such as modularity, abstraction and top-down design are incorporated throughout the course. Click for more information
-
Intermediate C Programming
This course continues the students’ study of the C programming language using the C99 standard. The core C language features covered in this course include functions, arrays, strings, pointers, dynamic memory allocation, library functions, structures, and file I/O. Programming techniques covered by this course include modularity, top-down design, documentation, debugging, and testing. Click for more information
-
C++ Programming
C++ is the object oriented superset of ANSI C. This course provides students with a comprehensive study of the C++ Programming Language. The course stresses the object paradigm including classes, inheritance, virtual functions, and templates in the development of C++ programs. Lab exercises reinforce the lectures. Click for more information
-
Introduction to x86 Assembly Language Using C
The purpose of this course is to introduce computer science majors to computing systems below that of a high-level programming language. The material covered can be broadly separated into the categories of assembly language programming and Computer Organization. Under the heading of assembly language programming students will be introduced to the i386 instruction set, low-level programming, the Linux memory model, as well as the internal workings of compilers, assemblers and linkers. Topics under computer organization include digital logic design (combinational circuits, sequential circuits, finite state machines) and basic computer architecture (system bus, memory hierarchy and input/output devices). Click for more information
-
ARM Assembler Programming Language
This course introduces the student to low-level software development using ARM assembly language. The course will cover Arm Architecture, instruction set, data movement, various addressing modes, arithmetic and logic operations, using loop structures, basic data structures including tables, lists, stacks and strings. Course activities include setting up the development environment, using cross compilers and off-chip debugging techniques, writing new programs as well as reverse engineering and modifying existing programs without access to the source code. Click for more information
-
Data Structures and Algorithms I
This course introduces students to standard data structures and algorithms. It is suitable for students who have some knowledge of C syntax, yet have little or no training in software architecture and development. The course prepares students to design and implement software modules. Click for more information
-
Data Structures and Algorithms II
This course expands students’ knowledge of standard data structures and their algorithms. It is suitable for students who have some knowledge of C syntax and have completed Data Structures and Algorithms I. The course prepares students to design and implement more complex software modules. Click for more information
-
Operating Systems
This course trains students to understand and programmatically utilize the resources of an Operating System to build larger programs. This course is suitable for students who have some knowledge of the C language and wish to become stronger software developers. Click for more information
-
Network Programming in C
This course trains students to write networked software, services, and tools. This course is suitable for students who have some command of the C language, some Python experience, and wish to write networked software. Click for more information
-
Assembly Language Programming for Intel/AMD
The purpose of this course is to introduce students to computing systems below that of a high-level programming language. The material covered can be broadly separated into the categories of assembly language programming and Computer Organization. Under the heading of assembly language programming students will be introduced to the i386 instruction set, low-level programming, the Linux memory model, as well as the internal workings of compilers, assemblers and linkers. Click for more information
Web and JavaScript Development Courses
-
JavaScript Programming
This course teaches the fundamentals of JavaScript, the language of the Web. The material of the course covers everything you need to know to become proficient using JavaScript. You will learn JavaScript’s core elements, as well as some popular JavaScript libraries, such as jQuery, Underscore and others. The course also covers such topics as JavaScript best practices, program debugging and testing. Click for more information
-
Comprehensive JavaScript for Web 2.0 Development
JavaScript is the Lingua Franca of the front-end Web development. In order to support agile business requirements for the “Next Generation” Web, developers need to be intimately familiar with JavaScript’s capabilities and best practices. Click for more information
-
Advanced JavaScript
Node, Angular, React, React Native, Vue, and similar frameworks demand a deep understanding of JavaScript for developers to be successful in them. This 5-day course is specifically designed to build the foundations needed for students to code in them. Click for more information
-
React JavaScript Programming
This React training course will provide an introduction to the benefits of the React JavaScript framework, so course participants can start to develop applications quickly using the framework. Click for more information
-
Node.js Software Development
Our Node.js class introduces Node.js as a platform. Node.js is an open source framework which runs on various platforms, such as Windows, Linux, Unix, Mac OS X, etc. It is build on Chrome’s JavaScript runtime for easily building fast and scalable network applications. Node.js uses JavaScript on the server. Node.js can be used to create console, desktop, web services, and web applications. Node.js provides a rich library of various JavaScript modules which simplifies the development of web applications using Node.js to a great extend. Click for more information
-
MEAN JavaScript Technology Stack
MEAN [MongoDB, Express, AngularJS, and Node.JS] represents a new breed of software platforms that creatively leverage a stack of production-ready technologies centered on JavaScript. This intensive training course introduces the students to the essential concepts, design principles, idioms, and techniques behind the efficient use of the MEAN JavaScript Technology Stack. Upon completion of this training course, students will have solid understanding of MEANS’ value proposition; they will also gain practical experience working with all the components of the MEAN stack. This high-octane training course is supplemented by hands-on labs that help the students reinforce their theoretical knowledge of the learned material. Click for more information
-
MERN-STACK Training
MERN [MongoDB, Express, React, and Node.JS] represents a new breed of software platforms that creatively leverage a stack of production-ready technologies centered on JavaScript. This intensive training course introduces the students to the essential concepts, design principles, idioms, and techniques behind the efficient use of the MERN JavaScript Technology Stack. Upon completion of this training course, students will have solid understanding of MERNS’ value proposition; they will also gain practical experience working with all the components of the MERN stack. This high-octane training course is supplemented by hands-on labs that help the students reinforce their theoretical knowledge of the learned material. Click for more information
-
Responsive Web Development with HTML5, CSS3, JavaScript and jQuery
Our Responsive Web Design Course trains students in the core technologies of modern responsive web design: HTML5, CSS3, and JavaScript. HTML is used for semantic markup, CSS3 defines presentation, and JavaScript implements behavior. Many web sites use the jQuery JavaScript library to simplify coding. The Response Web Design course shows students how to apply these technologies together, combined with the popular jQuery utility framework, to create rich web sites that adapt to a wide range of client devices, using the techniques of Responsive Web Design. Click for more information
-
PHP Fundamentals
This course teaches the fundamentals of the PHP programming language. Industry best practices such as how to create maintainable, secure, efficient code is taught through the 130+ included code examples. At least half the course time is spent in the nearly 50 lab exercises. Lab time is carefully balanced between the skills of: reading code, modifying existing code, creating new code, and debugging code. Click for more information
-
Introduction to PHP
This is a 4 day course where students will learn to create database-driven websites using PHP and MySQL or the database of their choice. PHP is a versatile server-side programming language that works hand-in-hand with front-end Web languages such as HTML and JavaScript. PHP can be used to create all types of dynamic web interfaces and has become one of the most widely used programming languages. Click for more information
-
Mastering JavaScript and jQuery
Mastering JavaScript + jQuery provides an introduction to and experience working with the JavaScript programming language in the environment it’s used in the most: the browser. JavaScript is simple and elegant, but is often difficult to work with because it’s so different from the programming languages most developers are used to. This course also covers jQuery and provides practical and hands-on experience with the preferred JavaScript library for building rich web applications. If you are building for the web, learning jQuery will change the way you write JavaScript, working across multiple browsers and platforms. Click for more information
-
Web Essentials: JavaScript
Web Essentials: JavaScript is an in-depth JavaScript training course geared for software developers who need to understand what JavaScript is and how to use it with today’s systems and architectures, expanding their knowledge and skills in architecting and developing sophisticated web interfaces. This comprehensive course provides a balanced mixture of theory and practical labs designed to take students from the fundamentals of JavaScript and its related technologies through to the use of tools and libraries to ease the development of advanced web applications. Click for more information
-
HTML5 Programming
Responsive Web Development is more than just HTML. The core technologies are: HTML5, CSS3 and JavaScript. HTML is used for semantic markup, CSS3 defines presentation, and JavaScript implements behavior. This five day class gives students the opportunity to explore these crucial technologies. It starts with HTML5, continues with CSS3 and concludes with JavaScript fundamentals. Additionally, we explore Representational State Transfer (REST) topics that are important to website architects. The class includes numerous hands-on labs allowing students to use all of these technologies together to build web sites. Click for more information
-
HTML5 and CSS
Mobile-enabled web applications are important for modern websites. Therefore, today’s websites require deeper technical knowledge to produce a more interactive experience. To accomplish this, we need the new features that HTML5 and CSS3 have to offer. This course will teach basic web concepts alongside modern HTML5 tools starting with the very first lecture, making it appropriate for all skill levels. Whether you want a beginner’s HTML course, a refresher for a long time HTML coder, or a class that will challenge you with the latest HTML5 and CSS3 capabilities to prepare you for Angular, React, or Vue, this course is for you. Click for more information
-
Angular Framework
The Angular Framework Training course offered by UMBC Training Centers covers all the essential topics found in the introductory course as well as additional topics typically encountered while developing real-world applications. The course is designed to get students up and running with basic Angular development and provide the knowledge needed for more challenging tasks. Click for more information
-
Mobile UI Design Essentials and UI Design Patterns
Proper UI design is extremely important for mobile applications. If your app is competing for attention in an app store, it has to capture users immediately. If you have competition, your app has to be more user friendly. Click for more information
-
MERN JavaScript Technology Stack
MERN [MongoDB, Express, React, and Node.JS] represents a new breed of software platforms that creatively leverage a stack of production-ready technologies centered on JavaScript. This intensive training course introduces the students to the essential concepts, design principles, idioms, and techniques behind the efficient use of the MERN JavaScript Technology Stack. Upon completion of this training course, students will have solid understanding of MERNS’ value proposition; they will also gain practical experience working with all the components of the MERN stack. This high-octane training course is supplemented by hands-on labs that help the students reinforce their theoretical knowledge of the learned material. Click for more information
Java Programming Courses
-
Java Programming
This course teaches students how to develop Java applications. Topics covered include the Java programming language syntax, OO programming using Java, exception handling, file input/output, threads, collection classes, and networking. Students will develop and test Java applications (typically) using Eclipse. This course is a pre-requisite to all Application Server courses, and specialty Java Technology courses such as Struts, Spring, and Hibernate. Click for more information
-
Introduction to Java and Java Enterprise Using Eclipse
This course introduces the Java programming language and how to develop Java applications using eclipse and JBoss. Students learn the syntax of the Java programming language, object-oriented programming using Java, exception handling, file input/output (I/O), along with servlets and JavaServer Pages. During the course, students will develop and test Java applications using eclipse with JBoss. Click for more information
-
Introduction to Java Using Eclipse
This course introduces the Java programming language and how to develop Java applications using Eclipse. Students learn the syntax of the Java programming language, object-oriented programming using Java, exception handling, generics, collections, and file input/output (I/O). During the course, students will develop and test Java applications using Eclipse. Click for more information
-
Spring Developer
In this course, students will learn about important key concepts, such as dependency injection and inversion of control which are used throughout the Spring Framework. Within the Spring Framework, the student will have the option of using the traditional XML configuration or the new Java-based configuration. We show step-by-step how to configure Spring Beans using best practices in XML and Java. Students will learn how to use Spring to persist data into a database and then display database content on a webpage using Spring MVC. Click for more information
-
Spring Framework
This course covers Spring’s Core module to reduce coupling and increase the flexibility, ease of maintenance, and testing of your applications. It also covers many important capabilities of Spring, including easing configuration with Spring Boot, integrating Hibernate and JPA persistence layers with Spring and Spring Data, and using Spring’s declarative transaction capabilities. The course includes integration of Spring with Java EE Web applications, a solid introduction to Spring MVC, building RESTful resources with Spring MVC, and an overview of Spring’s reactive programming model for repositories and Web resources. Click for more information
-
Java EE Web Programming with Servlets and JSPs
Students will learn to develop and test server-side web applications based on the Java Platform, Enterprise Edition (Java EE) component model using Eclipse tools. Develop and test server-side applications that use Servlets and JavaServer Pages (JSPs) for the control and flow of e-business applications. Click for more information
-
Java Web Programming using Eclipse and Tomcat
Students will learn to develop and test server-side web applications based on the Java Platform, Enterprise Edition (Java EE) component model using Eclipse tools. Develop and test server-side applications that use Servlets and JavaServer Pages (JSPs) for the control and flow of e-business applications. Click for more information
-
Developing RESTful Services with REST/JAX-RS
This course provides in-depth coverage of REST principles and building RESTful services using the JAX-RS 2.0 API. It includes a brief overview of SOAP-based services and WSDL, to provide a contrast to RESTful services. You will emerge from the course with a full understanding of the HTTP protocol and its vision of the “original web,” and how these ideas are implemented in RESTful applications. Click for more information
-
Intermediate/Advanced Java
This is a fast-paced course suitable for developers with some previous experience in working with Java and Object-Oriented (OO) programming. The course can also be delivered to developers experienced in other OO languages (Python, C++, C#) but with limited Java exposure, as well as used as an advanced Java course for more experienced developers. Click for more information
-
Red Hat Application Development I: Programming in Java EE
Red Hat Application Development I: Programming in Java EE (JB183) exposes experienced Java Standard Edition (Java SE) developers to the world of Java Enterprise Edition (Java EE). In this course, you will learn about the various specifications that make up Java EE. Through hands-on labs, you will transform a simple Java SE command line application into a multi-tiered enterprise application using various Java EE specifications, including Enterprise Java Beans, Java Persistence API, Java Messaging Service, JAX-RS for REST services, Contexts and Dependency Injection (CDI), and JAAS for securing the application. Click for more information
-
Java EE (JEE6/JEE7) with JSF2, EJB3, and JPA2
Java Enterprise Edition (Java EE/JEE) is a powerful platform for building enterprise applications. This hands-on course is an accelerated course that covers the core technologies of JEE. It includes in-depth coverage of using JSF2 (JavaServer Faces 2), EJB3 (Enterprise JavaBeans 3), and JPA2 (Java Persistence API 2) to design and build your own multi-tier applications, as well as overview of other important technologies such as JAX-WS for building Java-based Web services. Click for more information
-
Developing Java EE Web Applications (JEE6/JEE7), plus JPA and REST
Java Enterprise Edition (JEE) is a powerful platform for building web and database-driven applications. This course provides the information you need to design and build your own data-driven web applications. You’ll learn the details of the core JEE Web and database technologies and how to leverage the strengths of each. You’ll also be introduced to other important web-based technologies such as creating REST services with JEE. Click for more information
-
Securing Java Web Applications
This course shows Java web developers how to secure their applications and to apply best practices with regard to secure enterprise coding. Authentication, authorization, and input validation are major themes, and students get good exposure to basic Java cryptography for specific development scenarios, as well as thorough discussions of HTTPS configuration and certificate management, error handling, logging, and auditing. Click for more information
-
Develop Microservice-based Applications in Java EE with MicroProfile and OpenShift
You will build on Java EE application development fundamentals and focus on how to develop, monitor, test, and deploy modern microservices applications. Many enterprises are looking for a way to take advantage of cloud-native architectures, but many do not know the best way to go about it. These enterprises have monolithic applications written in Java Enterprise Edition (JEE). Click for more information
-
Building Advanced Red Hat Enterprise Applications
The course is based on a case study. Several Red Hat Middleware products are utilized in the solution including Red Hat JBoss Data Grid, Red Hat JBoss Enterprise Application Platform, Red Hat JBoss BPM Suite, Red Hat JBoss Fuse, and Red Hat JBoss A-MQ. The student will use Java™ EE 6, Java Persistence API (JPA), business processes, business rules, Camel routes, caching, and queuing in the integrations. Click for more information
C# & .NET Programming Courses
-
C# and .NET Programming
C# as a language is elegant and powerful. But to utilize its capabilities fully, you need to have a good understanding of how it works with the .NET Framework. This course explores several important interactions between C# and the .NET Framework, and it includes an introduction to major classes for collections, delegates, and events. It includes a succinct introduction to creating GUI programs using Windows Forms. Click for more information
-
ASP.NET Using C#
This five-day course provides a comprehensive and practical hands-on introduction to developing Web applications using ASP.NET 3.5 and C#. It includes an introduction to using ASP.NET AJAX to build rich client applications. ASP.NET is introduced as a Web programming platform that overcomes a number of limitations of ASP. Its architecture is outlined, including the role of compilation, the Page class and code-behind. Web Forms are introduced, including server controls, viewstate, life cycle, and the event model. Request/response HTTP programming using ASP.NET is covered. Click for more information
-
Web Services Using C# and ASP.NET
This course provides a realistic, hands-on, comprehensive coverage of developing Web services using ASP.NET and C#. Web services are an evolving series of standards that enable programs on various computers to communicate with other programs on similar or disparate computers transparently over the Internet. This course teaches in detail the skills needed to program Web services using ASP.NET. It also examines the fundamentals of SOAP and WSDL essential for creating interoperable Web services. The course is current to .NET 3.5 and Visual Studio 2008, with coverage of newer features such as the WS-I Basic Profile 1.1, SOAP 1.2, event pattern for calling Web services asynchronously, and more. It also includes an introduction to Windows Communication Foundation (WCF), Microsoft’s modern unified framework for creating distributed applications. Click for more information
-
C# Programming
C# as a language is elegant and powerful. But to utilize its capabilities fully, you need to have a good understanding of how it works with the .NET Framework. This course explores several important interactions between C# and the .NET Framework, and it includes an introduction to major classes for collections, delegates, and events. It includes a succinct introduction to creating GUI programs using Windows Forms. Click for more information
-
ADO.NET Using C#
This intensive course teaches the essential elements of ADO.NET such that at the end of the course the programmer is able to utilize its tremendous database manipulation powers to build effective database applications. The course includes a major case study demonstrating the use of ADO.NET in a realistic setting. Click for more information
-
Windows Forms Using C#
This course provides a practical, hands-on introduction to GUI development using Windows Forms and C#. The course introduces database programming in Windows, including use of Language Integrated Query (LINQ). The course covers powerful newer Windows Forms features, such as controls, data binding, and ClickOnce deployment for creating smart client applications. It covers interoperability with the next-generation Windows client framework, Windows Presentation Foundation (WPF). Click for more information
-
.NET Core Frameworks
Microsoft .NET is a programming technology that greatly simplifies application development, both for traditional, proprietary applications and for web-based applications and services. The original .NET was a complete restructuring of Microsoft’s whole system infrastructure and represented a major learning challenge for programmers developing applications on Microsoft platforms. Part of .NET included a major new object-oriented programming language, C#. Click for more information
-
Windows Communication Foundation Using C#
Windows Communication Foundation (WCF) is Microsoft’s new framework for building distributed systems. It unifies and builds on the diverse set of existing distribution mechanisms, which include ASP.NET Web services and .NET Remoting. WCF enables developers to produce highly configurable, secure, reliable and transactional services using a single simplified programming model. And since WCF supports the WS-* series of Web service standards, it enables simple interoperation with other platforms and technologies. Click for more information
-
Windows Presentation Foundation Using C#
This course introduces Windows Presentation Foundation or WPF, the .NET technology from Microsoft for building rich Windows applications. It was originally part of .NET 3.0, previously called “WinFX” by Microsoft. WPF includes an XML-based markup language for defining program elements, Extensible Application Markup Language (XAML). WPF applications can be created using only code or a combination of code and XAML pages. This course covers the essentials of WPF, providing an orientation to this technology and a firm foundation for creating applications. Click for more information
-
Windows Workflow Foundation Using C#
Microsoft’s Windows Workflow Foundation (WF) provides a framework for creating scalable applications consisting of independent program units called activities. WF 4 was a major rewrite of this technology, offering significantly higher performance and making it easier to create and execute workflow applications. WF 4.5 contains new activities, designer capabilities, and a new workflow development model (state machines). It also supports the use of C# expressions in C# workflows. Click for more information
-
ASP.NET Core MVC
This course provides a practical hands-on introduction to developing Web applications using ASP.NET Core MVC 6 and C#. This Web development framework from Microsoft emphasizes separation of concerns in the architecture and testability of applications. This course covers development on Microsoft’s new .NET Core platform. The course is current to .NET Core 2.0, which is a major update of the original .NET Core 1.0. Click for more information
Mobile Development
-
Introduction to Programming for Android Using Android Studio
The main focus of this Android Programming course is to tech students how to develop the GUI for an Android based application. This Android Programming course is ideal for Java developers to get a quick entry into the Android platform. Click for more information
-
Advanced Programming for Android Using Android Studio
This Android Programming course teaches more advanced programming topics for the Android platform. Students will learn to use database and network in their programs. This Android Programming course is ideal for developers who want to take their Android skills to the next level. Click for more information
-
Programming for Android Using Android Studio
Android is an open source platform for mobile computing. Applications are developed using the official Android development tool, Android Studio. This Android training course teaches students the architecture, API and techniques to create robust, high performance and appealing applications for the Android devices. While many classes focus on the mobile device, this Android development training course also deals with the server side architecture. This makes this Android development training course ideal for enterprise class businesses. After taking this Android training course, students will be able to build robust and high performance applications for the enterprises. Click for more information
Perl, & Ruby Courses
-
Perl Programming
This course teaches both the programming interface and the techniques that can be used to write scripts and applications in Perl. This course also covers advanced concepts and capabilities, including object-oriented features, file and network I/O, and database interfaces. Upon completion, students will be able to use Perl techniques and commands to write scripts to perform various user and administrative tasks, and to utilize advanced features of the language. Click for more information
-
Ruby Programming
This course covers the fundamental components of the Ruby Programming Language. Emphasis is placed on the object oriented aspects of Ruby. Topics include arrays, hashes, regular expressions, io, exceptions, modules, and applications areas. Click for more information
-
Advanced Ruby
This course expands upon the Ruby Programming course. Using Ruby’s rich feature set, the course focuses on utilizing custom classes, objects, modules, and processing data in various formats such as a SQL database, JSON, and XML. Additional topics related to threading, network programming, and message processing are also covered. Click for more information
-
Django Framework
This is a comprehensive course in Django development. Participants will create, build, and test a Django application. Topics include Deployment, RESTful services, Templates, Models, Forms, and Unit Testing. Upon completion of the course students will be able to create and maintain Django applications using well-tested techniques. Click for more information
-
Django RESTful Services
This course dives right into Django, then moves on to teach students how to develop REST APIs. Students start the basics of creating web apps, then moving on to serializing data and creating endpoints. Along the way, students will be introduced to many convenience modules that make programming easier and apps more professional. Click for more information
Other Software Development Courses
-
Introduction to Programming
In this course, you will be introduced to programming concepts that are critical to all programming languages. You will use the Python programming language as a first programming tool. Click for more information
-
Reverse Engineering
This course is an introduction to the basic concepts of reverse engineering. Emphasis is placed on methodologies and tools. This course will not go in-depth on any specific tool, but will serve as a more general introduction to the skills required for reversing. Students will use various tools to accomplish multiple reversing labs. Click for more information
-
Discrete Math
This course introduces the fundamental tools, topics and concepts of discrete mathematics. This course emphasizes counting methods, proof techniques and problem solving strategies. Click for more information
-
Data Structures
This 1-week course investigates the characteristics and performance of common operations and related algorithms on a variety of data structures implemented with the C programming language. This course will examine the underlying structure of the major data structures and the performance of common operations and algorithms. The utility of data structures in various situations and factors that affect their performance will be considered. Click for more information
-
Gathering and Documenting Requirements with Use-Cases
Learn best practices for gathering and documenting user requirements based on the use-case approach. Over the course of a case-study project, trainees gain experience facilitating requirements-gathering workshops and creating textual use-case documentation with supporting diagrams. The course covers what the Business Analyst needs to know to plan and execute each requirements gathering session as the project progresses, including, for each session: meeting goals, agenda, who to invite, artifacts, etc. The course walks the trainee through the project starting from business use-case sessions that focus on the business context through to system use-cases that focus on user-IT interactions. Trainees also learn advanced techniques for structuring use-cases (extending, generalized and included use-cases) that result in requirements documentation that is easy to revise as business rules change. Click for more information
-
Introduction to DevOps
The DevOps approach grew out of companies like Google, Amazon, and Facebook who were challenged with building and operating systems at enormous scale, while evolving and competing at Internet velocity. DevOps derives many concepts from Agile Software Development, but breaks down the traditional barriers between developers and operations by including both throughout the entire system lifecycle, hence the name “DevOps”. Click for more information
-
Introduction to UML and Visual Modeling
Students are introduced to OOAD and UML in this course. The most common UML diagrams used to capture design decisions are explained. Click for more information
-
Secure Programming Best Practices
The primary objective of this course is to teach professional computer programmers about the common methods used by hackers to exploit vulnerabilities in computer programs, and how to program defensively to avoid introducing such vulnerabilities into their own programs. Click for more information
-
Go Programming
This course introduces the Go programming language to students who want to use Go to create utilities and services. The goal is to become proficient enough with the Go language to facilitate additional learning and competency. Click for more information