
C Programming
Master the fundamentals of C programming by learning to build efficient programs, manage memory, use pointers and structs, and complete a hands-on file compression project.
Explore core programming languages, essential computer science principles, and emerging technologies in this curated collection of beginner to advanced courses. Cover C, C++, Go, Java, Python, quantum computing, algorithms, hardware, and more to prepare for careers in software development, systems engineering, data science, and AI.

Master the fundamentals of C programming by learning to build efficient programs, manage memory, use pointers and structs, and complete a hands-on file compression project.

Learn C++, a high-performance programming language used in the world's most exciting engineering jobs -- from self-driving cars and robotics to web browsers, media platforms, servers, and video games.

Stand out in backend development by learning Go. This course covers core language features and teaches you how to build fast, reliable servers that power modern cloud-based applications.

Dive into the core components of modern computing, including software, hardware, programming, and networks, while gaining the essential foundational skills to prepare for opportunities in tech-central organizations.

Learn the basic concepts in theoretical computer science. Discover what they imply for solving tough computational challenges.

Discover how quantum computing is redefining what’s possible in science, technology, and problem solving. This beginner-friendly course explains core principles, real-world potential, and key risks of this groundbreaking emerging field.

Decode the digital world around you. Using tools like Google Docs, Google Translate, Blockly, and Python, this course helps beginners understand how programs think, predict, and process information.

This class will give you an introduction to the design and analysis of algorithms, enabling you to analyze networks and discover how individuals are connected.

Sharpen your problem-solving skills in this Nanodegree program. Practice over 100 algorithm and data structure challenges, learn Python-based techniques, and prepare for interviews with mentor guidance and real coding scenarios.

Sharpen your understanding of scalable systems with advanced Java topics like serialization, dependency injection, and multithreading. Ideal for developers pursuing roles in architecture, backend engineering, or technical leadership.

Explore the foundations of computer hardware, memory, operating systems, file systems, and physical networks. Learn how these components work together to power modern computing in this beginner-friendly course.

Combine cutting-edge reinforcement learning techniques with deep learning architectures. Use Q-networks and experience replay to train agents capable of navigating and adapting to real-time environments.

Master Java fundamentals through practical lessons on classes, inheritance, collections, and exceptions. Cement your knowledge by building a working hotel reservation system to showcase your new skills.

Get started with Python through fun, beginner-friendly exercises. Learn programming basics, loops, and control flow by writing code that guides a virtual turtle to draw creative shapes on the screen.
Take your foundational programming skills further. These complementary collections strengthen your abilities in Python, full-stack development, and web design, equipping you to create practical, scalable, and thoughtfully built software solutions across platforms and industries.

Broaden your development expertise with courses in Python, DevOps, and machine learning. Strengthen your foundation in automation, cloud workflows, and scalable systems. These collections support deeper fluency in programming and infrastructure, helping you build, refine, and deploy high-performing applications across diverse tools, platforms, and challenges.

Expand your web development and design expertise with supporting skills that amplify your technical and creative impact. Explore animation and multimedia for richer user experiences, agentic AI for smarter interfaces, and Python programming to strengthen back-end logic. These courses equip you to build interactive, intelligent, and visually engaging web applications.

Move from Python basics to building intelligent systems in production. Complement your skills with courses in ML, deployment, and cloud to handle every stage of the development pipeline. From early prototyping to live application delivery, you’ll be ready to build and scale with confidence.

Explore all of Udacity’s Schools, consisting of hundreds of career-driven programs and courses that are designed to teach practical skills and help you learn to your full potential.