

Our Courses

Software Architecture
The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved.
-
Course by
-
Self Paced
-
10 hours
-
English

Introduction to Software Testing
After completing this course, you will have an understanding of the fundamental principles and processes of software testing. You will have actively created test cases and run them using an automated testing tool.
-
Course by
-
Self Paced
-
30 hours
-
English

HTML and CSS in depth
In this course, you’ll use software development tools like HTML to build attractive web pages that work well—and you’ll use structured semantic data to control how websites appear to the end user. You will then dive deeper into CSS by applying increasingly specific styling to various elements. You’ll learn to use Bootstrap’s grid system to create layouts and work with components and themes.
-
Course by
-
Self Paced
-
29 hours
-
English

Introduction to Machine Learning in Production
In the first course of Machine Learning Engineering for Production Specialization, you will identify the various components and design an ML production system end-to-end: project scoping, data needs, modeling strategies, and deployment constraints and requirements; and learn how to establish a model baseline, address concept drift, and prototype the process for developing, deploying, and continuously improving a productionized ML application.
-
Course by
-
Self Paced
-
12 hours
-
English

Introduction to Containers w/ Docker, Kubernetes & OpenShift
Take the next step in your software engineering career by getting skilled in container tools and technologies! The average salary for jobs that require container skills is $137,000 in the US according to salary.com, making Devops professionals and developers with these skills highly in demand. More than 70 percent of Fortune 100 companies are running containerized applications. But why? Using containerization, organizations can move applications quickly and seamlessly among desktop, on-premises, and cloud platforms.
-
Course by
-
Self Paced
-
13 hours
-
English

Version Control
Learn how modern software developers collaborate across the world without messing up each other's code. You will look at the different version control systems and how to create an effective software development workflow. You will be introduced to some of the most commonly used Linux commands that you can use to work with files on your hard drive and create powerful workflows that will automate your work, saving you time and effort. Finally, you will see how Git can be used in software development projects to manage team files. And you will create a repository that can manage code revisions.
-
Course by
-
Self Paced
-
13 hours
-
English

Agile Software Development
Software industry is going crazy on agile methods. It is rapidly becoming the choice for software development where requirements are unpredictable or is expected to change over time. This course will help you gain knowledge on what is agile? Why agile is better suited for these situations? We will also cover some of the most common agile frameworks like scrum and XP in depth. Prerequisite: You need basic knowledge of software development process and software development methodologies.
-
Course by
-
Self Paced
-
12 hours
-
English

Software Development Processes and Methodologies
Software is quickly becoming integral part of human life as we see more and more automation and technical advancements. Just like we expect car to work all the time and can't afford to break or reboot unexpectedly, software industry needs to continue to learn better way to build software if it were to become integral part of human life. In this course, you will get an overview of how software teams work? What processes they use? What are some of the industry standard methodologies? What are pros and cons of each?
-
Course by
-
Self Paced
-
22 hours
-
English

Data Structures and Performance
How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science, and in particular, we recommend that you have taken the first course in this specialization (which also requires some previous experience with Java).
-
Course by
-
Self Paced
-
42 hours
-
English

Agile Planning for Software Products
This course covers the techniques required to break down and map requirements into plans that will ultimately drive software production. Upon successful completion of this course, you will be able to: - Create effective plans for software development - Map user requirements to developer tasks - Assess and plan for project risks - Apply velocity-driven planning techniques - Generate work estimates for software products
-
Course by
-
Self Paced
-
12 hours
-
English

Pressure, Force, Motion, and Humidity Sensors
"Pressure, Force, Motion, and Humidity Sensors" can also be taken for academic credit as ECEA 5342, part of CU Boulder’s Master of Science in Electrical Engineering degree. This is our third course in our specialization on Embedding Sensor and Motors. To get the most out of this course, you should first take our first course entitled Sensors and Sensor Circuits. Our first course gives you a tutorial on how to use the hardware and software development kit we have chosen for the lab exercises.
-
Course by
-
Self Paced
-
24 hours
-
English

Programming Fundamentals
Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class. This course will introduce you to a powerful problem-solving process—the Seven Steps—which you can use to solve any programming problem.
-
Course by
-
Self Paced
-
18 hours
-
English

Software Processes and Agile Practices
This course delves into a variety of processes to structure software development. It also covers the foundations of core Agile practices, such as Extreme Programming and Scrum.
-
Course by
-
Self Paced
-
8 hours
-
English