Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udacity

AI-Powered Software Engineer

via Udacity Nanodegree

Overview

AI can generate code fast. This Nanodegree program teaches you how to ship it. You’ll learn the engineering workflow that keeps AI speed from turning into bugs, messy architecture, or long-term maintenance pain: test-driven development to verify correctness, design patterns to enforce clean structure, and architecture patterns to keep systems scalable. Then you’ll bring it all together in Vibe Engineering, where you use Claude Code, in a fully hosted development environment to plan, generate, review, test, and refactor a real project. By the end, you won’t just write more code, you’ll ship software you can stand behind.

Syllabus

  • Test-Driven Development
    • Gain confidence in your software with Test-Driven Development (TDD). Practice the red-green-refactor loop with Python and pytest—writing tests before you write your code. Learn how unit, integration, and end-to-end tests fit together to provide a comprehensive safety net. Organize clean test suites using advanced techniques: fixtures, mocking, and parameterization. Deploy with confidence at scale by incorporating testing into CI/CD and pre-flight checklists. Leverage TDD to use AI tools the right way—encode your requirements as tests, then let AI help implement the code that passes them. By the end of this course, you will be able to refactor with confidence, catch regressions early, and ship features faster with less risk.
  • Design Patterns
    • Build a strong foundation in object-oriented design by applying proven software design patterns in Python. Explore creational, structural, and behavioral patterns, and see how each category addresses common challenges in building flexible, reusable, and scalable systems. Learn why these patterns go beyond "common sense" and represent decades of accumulated engineering wisdom. Practice translating abstract ideas into clear, maintainable code. By the end of this course, you will understand how design patterns connect to SOLID principles, dependency injection, and modern AI-assisted development workflows.
  • Software Architecture Patterns
    • Design systems that scale beyond a single codebase. Learn how to think like a software architect by exploring proven architectural patterns, cloud-native design, and real-world system tradeoffs. Model applications using monolithic and event-driven architectures, diagram complex systems, and understand the foundations of microservices and serverless computing. Design data pipelines and storage strategies, reason about machine learning system architecture, and make informed choices around caching, CDNs, IoT, and blockchain systems. By the end, you’ll be equipped to move from "working code" to well-designed, resilient architectures fit for modern software systems.
  • Vibe Engineering
    • Master the professional discipline of Vibe Engineering: the transition from ad-hoc prompting to systematic AI orchestration. Working in a fully hosted, AI-enabled development environment, you will build production-ready projects using Claude Code, the world’s top Agentic coding assistant. Learn to apply engineering rigor to AI-generated systems through structured prompting, failure mode detection, and security guardrails. You’ll practice integrating agents into the full development lifecycle, from planning through release-ready code, with guardrails for security and reliability.

Taught by

Liam Stevens, Laura Morinigo, Afreen Aliya and Bruce Cantarim

Reviews

Start your review of AI-Powered Software Engineer

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.