AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers

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 all programming & software development Courses

Certificate Programs

  • Certificate in Cyber Development

    UMBC Training Centers created the Certificate in Cyber Development to address the tremendous need for skilled computer programmers and software developers in the Cyber workforce. The Certificate in Cyber Development is available to organizations who need to prepare their employees for roles as computer programmers and software engineers within government and industry.

    Click for more information

Python, Perl, & Ruby 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

  • Python Programming (Online, Self-Paced)

    This course is an introduction to the Python programming language. Programming techniques covered by this course include modularity, abstraction, top-down design, specifications, documentation, debugging, and testing. Selected topics in computer science are introduced through programming projects in the Python language. The core material for this course includes functions, strings, loops, and files. Students learn how to develop, test, and debug Python programs. Example programs are used extensively to illustrate object-oriented programming. Students complete numerous hands-on exercises to reinforce programming concepts.

    Click for more information

  • Python Programming (Extended)

    Once students have mastered the basics of Python by taking Core Python or on their own, it’s time to move on to applying Python to daily programming needs. This course picks up where Core Python leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development. This is a hands-on programming class. All concepts are reinforced by informal practice during the lecture followed by lab exercises. Many labs build on earlier labs, which helps students retain the earlier material.

    Click for more information

  • 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

  • Perl Programming (Online, Self-Paced)

    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

  • Software Development for Non-Programmers With Python

    This course is an introduction to computer programming and software development using the Python programming language. Python is perhaps the most powerful and versatile programming language today. It is used to run websites, perform scientific and statistical analyses, and automate a wide variety of computer and system administration tasks. It is also used widely in various cybersecurity applications.

    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

C, C++ & Assembly Language Courses

  • C Programming

    This course provides students with a comprehensive study of the C programming language. Classroom lectures stress the strengths of C, which provide programmers with the means of writing efficient, maintainable, and portable code. The lectures are supplemented with non-trivial lab exercises.

    Click for more information

  • 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

  • Introduction to C Programming (Online, Self-Paced)

    This course introduces the student to computer programming using the C99 standard of the C programming language. The core C language features covered in this course include variables, control structures, functions, arrays, strings, pointers, and structures. Programming techniques covered by this course include modularity, top-down design, documentation, debugging, and testing.

    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

  • Intermediate C Programming (Online, Self-Paced)

    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, higher dimensional 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

  • C++ Programming (Online, Self-Paced)

    This course continues the development of programming and problem-solving skills, focusing on the C++ programming language, object-oriented programming and design (OOP/OOD), and improved programming practices. Daily classes will be divided between lecture and hands-on programming exercises.

    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

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

  • Introduction to AngularJS Programming

    AngularJS Programming introduces the AngularJS framework, which has become a popular JavaScript framework for the development of “single page” Rich Internet Applications. The AngularJS framework augments applications with the “model-view-controller” pattern which makes applications easier to develop and test because there is a separation of responsibilities within the code. Although there are many benefits to using the AngularJS framework it is fairly different than the way “typical” web applications involving JavaScript have been designed.

    Click for more information

  • Comprehensive AngularJS Programming

    AngularJS training introduces the AngularJS framework, which has become a popular JavaScript framework for the development of “single page” Rich Internet Applications.  The AngularJS framework augments applications with the “model-view-controller” pattern which makes applications easier to develop and test because there is a separation of responsibilities within the code.  Although there are many benefits to using the AngularJS framework it is fairly different than the way “typical” web applications involving JavaScript have been designed.

    Click for more information

  • Introduction to Angular 2 Programming

    Introduction to Angular 2 training covers everything you need to know to get started with this next generation of the Angular framework. Angular 2 makes the creation of single page applications even easier that before. In this course developers will learn to use Angular Directives and to create Angular Components and Services to develop applications based on the Model-View-Controller (MVC) architecture. You will learn to use HTML Templates to define views and to connect views with code using output, two-way, event and property bindings. The course reviews the benefits and challenges of Single Page Applications and how to overcome those challenges using the Angular Router. The course also covers everything you need to know about Typescript – a programming language based on JavaScript that is used to create Angular 2 applications.

    Click for more information

  • Introduction to Angular 4 Programming

    Our Introduction to Angular 4 offering introduces everything you need to know to get started with this next generation of the Angular framework. Angular 4 makes the creation of single page applications even easier that before. In this course developers will learn to use Angular Directives and to create Angular Components and Services to develop applications based on the Model-View-Controller (MVC) architecture. You will learn to use HTML Templates to define views and to connect views with code using output, two-way, event and property bindings. The course reviews the benefits and challenges of Single Page Applications and how to overcome those challenges using the Angular Router. The course also covers everything you need to know about Typescript – a programming language based on JavaScript that is used to create Angular 4 applications.

    Click for more information

  • Comprehensive Angular 4 Programming

    Comprehensive Angular 4 training covers all major topics required to fully use this next generation of the Angular framework. Angular 4 makes the creation of single page applications even easier that before. In this course developers will learn to use Angular Directives and to create Angular Components and Services to develop applications based on the Model-View-Controller (MVC) architecture. You will learn to use HTML Templates to define views and to connect views with code using output, two-way, event and property bindings. The course reviews the benefits and challenges of Single Page Applications and how to overcome those challenges using the Angular Router. The course also covers everything you need to know about Typescript – a programming language based on JavaScript that is used to create Angular 4 applications.

    Click for more information

  • Advanced Angular 4 Programming

    Advanced Angular 4 training covers advanced topics of this next generation of the Angular framework. This course is intended for those that already have a basic understanding of the Angular 4 fundamentals and now want to cover more advanced features the Angular 4 framework offers.

    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

  • Responsive Web Development: AngularJS and Bootstrap

    AngularJS has become a popular JavaScript framework for the development of “single page” Rich Internet Applications. The AngularJS framework augments applications with the popular “model-view-controller” pattern which helps make applications easier to develop and test because there is a separation of responsibilities within the code. Although there are many benefits to using the AngularJS framework it is fairly different than the way “typical” web applications involving JavaScript have been designed. This training course will provide an introduction to the benefits of AngularJS so course participants can start to develop responsive applications quickly using the framework.

    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

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

  • Java Programming (Online, Self-Paced)

    This course is an introduction to the Java programming language. Topics include: creating Java projects in the Eclipse integrated development environment, console application input and output, primitive data types and standard operators, variables, selection (conditional) and looping constructs, basic debugging techniques, methods (functions), standard Java Platform packages (libraries), arrays, class design using abstraction and encapsulation, object communication, strings, inheritance, polymorphism, exceptions, abstract classes, interfaces, inner and anonymous classes.

    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

  • 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

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

  • C# and .NET Programming (Online, Self-Paced)

    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

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

Other Software Development Courses

  • 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

Contact Us