

Our Courses
Arm Cortex-M Architecture and Software Development
This Specialization is designed to help anyone involved in developing software for Arm Cortex-M processors. Over four courses you will develop your knowledge of this popular microcontroller variant used in a plethora of devices throughout the world. Whether you're a computing/engineering professional, student, or hobbyist, the training aims to give you the essential knowledge and interactive experience required to get your Cortex-M software project up-and-running, avoiding costly mistakes.
-
Course by
-
Self Paced
-
English
Software Engineering: Modeling Software Systems using UML
Software Development Life Cycle (SDLC) is the process of developing software through planning, requirement analysis, design, implementation, testing, and maintenance. This course focuses on the requirement analysis phase of SDLC, and you will learn how to use UML models to capture the system requirements and to facilitate communication between client/users and developers. UML is a general purpose visual modeling language for systems. It can be used to highlight different aspects of the system that are of interest to different stakeholders.
-
Course by
-
Self Paced
-
28 hours
-
English
Hands-on with AWS: Software Development Practices
Being and excelling as a software engineer means knowing and following software development practices. Working efficiently with teammates through continous integration and continuous delivery will help shorten the time it takes to get applications in the hands of your customers.
-
Course by
-
12
-
English
Global Software Development
Develop the technical and organizational skills you need to practice software engineering in a globally distributed environment.
-
Course by
-
50
-
English
Open Source Software Development: Linux for Developers
Start your open source software (OSS) adventure today by learning the key concepts of developing open source software and how to work productively in a Linux environment.
-
Course by
-
Self Paced
-
11
-
English
Linux Tools for Software Development
Learn the tools you need to confidently work in Linux development environments and beyond.
-
Course by
-
11
-
English
Git for Distributed Software Development
Get a thorough introduction to Git, the source control system that arose out of the Linux kernel community, that enables widely distributed software development to operate efficiently.
-
Course by
-
11
-
English
IT Fundamentals for Business Professionals: Software development
Working with Information Technology (IT) without the necessary background? Learn the fundamentals of software development
-
Course by
-
11
-
English
Secure Software Development: Requirements, Design, and Reuse
Learn the security basics that allow you to develop software that is hardened against attacks, and understand how you can reduce the damage and speed the response when a vulnerability is exploited.
-
Course by
-
Self Paced
-
English
Secure Software Development: Implementation
Learn the practical steps software developers can take, even if they have limited resources, to implement secure software.
-
Course by
-
Self Paced
-
English
Secure Software Development: Verification and More Specialized Topics
Learn how to verify software for security, and take a deeper dive into the basics of applying threat models and cryptography.
-
Course by
-
Self Paced
-
English
Understanding Technology and Data
Welcome to the course Understanding Technology and Data. This course is designed to provide a foundation on how technology and data are applied in everyday life. It will help you learn to succeed in a digital work environment.
-
Course by
-
Self Paced
-
17 hours
-
English
Python Programming Fundamentals
This introductory course is designed for beginners and individuals with limited programming experience who want to embark on their software development or data science journey using Python. Throughout the course, learners will gain a solid understanding of algorithmic thinking, Python syntax, code testing, debugging techniques, and modular code development--essential skills for a successful career in software engineering, development, or data science.
-
Course by
-
Self Paced
-
24 hours
-
English
Generative AI in Software Development
In this course, you'll explore Generative AI's role in software development. You'll start with an overview to understand its capabilities. Next, you'll dive into specific tools like Amazon CodeWhisperer, where you'll learn to automate tasks such as code completion and bug detection. By the end, you'll evaluate Generative AI's benefits and limitations.
-
Course by
-
20 hours
-
English
Linear Algebra - Foundations to Frontiers
Learn the mathematics behind linear algebra and link it to matrix software development.
-
Course by
-
Self Paced
-
English
Data Structures & Backend with Java
This comprehensive course delves deep into the nuances of data structures and backend development with Java. The curriculum is strategically designed across three core modules, seamlessly bridging the understanding of theory with practical application. In the first module, we delve into Java-based data structures, focusing on arrays, multi-dimensional arrays, the String class, and the Java Collections Framework.
-
Course by
-
Self Paced
-
20 hours
-
English
Cybersecurity and Its Ten Domains
This course is designed to introduce students, working professionals and the community to the exciting field of cybersecurity. Throughout the MOOC, participants will engage in community discourse and online interaction. Participants will gain knowledge and understanding of cybersecurity and its domains.
-
Course by
-
Self Paced
-
24 hours
-
English
Microsoft Azure Management Tools and Security Solutions
Microsoft Azure offers a wide range of services to deploy your applications. To keep control of your environment and to make deployments easier, it also offers a wide array of management tools and services. In this course, you will be introduced to these tools and services and you will be asked to help choose the best one for a given business scenario. Some modules cover software development processes and services. You will learn about cloud monitoring solutions for your applications and infrastructure.
-
Course by
-
Self Paced
-
9 hours
-
English
M2M & IoT Interface Design & Protocols for Embedded Systems
This course can also be taken for academic credit as ECEA 5348, part of CU Boulder’s Master of Science in Electrical Engineering degree. M2M and IoT Interface Design and Protocols is the third of three classes in the Embedded Interface Design (EID) specialization, an online version of the on-campus EID class taught in graduate embedded systems design. This course is focused on connecting devices to each other and to the cloud to create prototypes and actual systems that flow data from devices to consumers.
-
Course by
-
Self Paced
-
9 hours
-
English
Rapid Prototyping of Embedded Interface Designs
This course can also be taken for academic credit as ECEA 5347, part of CU Boulder’s Master of Science in Electrical Engineering degree. Rapid Prototyping is the second of three classes in the Embedded Interface Design (EID) specialization, an online version of the on-campus EID class taught in graduate embedded systems design. This course is focused on rapid prototyping of devices and systems and the related methods, practices, and principles that will help ensure your embedded interface designs are what your users both need and want.
-
Course by
-
Self Paced
-
10 hours
-
English
DevOps on AWS: Code, Build, and Test
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market. DevOps process can be visualized as an infinite loop, comprising these steps: plan, code, build, test, release, deploy, operate, monitor.
-
Course by
-
Self Paced
-
4 hours
-
English
Real-World Cloud PM 3 of 3: Security, AWS Well-Architected
Sponsored by AMAZON WEB SERVICES (AWS). Learn real-world technical and business skills for product managers or any job family involved in the rapidly expanding cloud computing industry. Ace the AWS Certified Cloud Practitioner Exam. This course is the 3rd in a 3-course Specialization.
-
Course by
-
Self Paced
-
10 hours
-
English
Machine Learning Data Lifecycle in Production
**Starting May 8, enrollment for the Machine Learning Engineering for Production Specialization will be closed.
-
Course by
-
Self Paced
-
22 hours
-
English
Python for Data Science, AI & Development
Kickstart your learning of Python with this beginner-friendly self-paced course taught by an expert. Python is one of the most popular languages in the programming and data science world and demand for individuals who have the ability to apply Python has never been higher. This introduction to Python course will take you from zero to programming in Python in a matter of hours—no prior programming experience necessary! You will learn about Python basics and the different data types.
-
Course by
-
Self Paced
-
27 hours
-
English
Microservices and Deployment by using ASP.NET
In this comprehensive course, we delve deep into the concept of microservices using ASP.NET Core, effectively dockerizing .NET Core applications, and utilizing DevOps practices. This course is divided into three core modules. The 'Microservices with .NET Core' module immerses you into the world of microservices, teaching you how to design and develop them, create RESTful APIs, and integrate these services with databases and messaging systems. The 'Dockerize .NET Core Applications' module elaborates on Docker's pivotal role in containerizing .NET Core applications.
-
Course by
-
Self Paced
-
13 hours
-
English