We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details

  
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 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 Software Development and Data Analytics

    This program provides candidates with the skills and knowledge to successfully apply data analytics concepts to complement students’ academic fields as well as provide an overview of the different paths to obtain credentials that should be pursued (e.g., Python Institute PCEP™ – Certified Entry-Level Python Programmer and PCED™ – Certified Entry-Level Data Analyst with Python). 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

  • Python for Java Developers

    Python for Java Developers is designed to help Java developers transition to Python efficiently by building on their existing programming knowledge. Over the course of three days, participants will learn the fundamentals of Python, including its syntax, data types, flow control, and function definitions, while also exploring collections, comprehensions, and lambda expressions for concise coding. 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

  • 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

  • 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

  • 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

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

  • 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

C# & .NET Programming Courses

  • 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

  • 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

  • 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

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 Foundation

    Go Foundation is designed to provide software engineers with an comprehensive overview of the Go programming language. 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

  • Rust Foundation

    This course is designed to provide software engineers with an introduction to the Rust programming language. Click for more information

  • Rust Programming

    This hands‑on, instructor‑led course introduces systems programmers, backend engineers, and DevOps professionals to the Rust programming language. Click for more information

  • Cloud Native Design Patterns

    This two-day hands-on course is designed to provide engineering staff with a detailed overview of the most important cloud native design patterns. Click for more information

  • Cloud Native Development Boot Camp

    This course is designed to provide engineers new to modern distributed systems with an in-depth and intensive introduction to the principles and practices of cloud native software development and operation. Click for more information

  • Developing Agentic AI Systems (with LangChain)

    Developing Agentic AI Systems (with LangChain) will help you stay on the cutting edge of AI. This course is an intensive four-day workshop designed for developers already proficient with LLM systems who are ready to take their skills to the next level. Participants will transcend conventional LLM applications, learning to architect, build, and deploy sophisticated autonomous agents. Click for more information

Contact Us