About Course
Learn from Laurence Moroney, former AI lead at Google, as he guides you through a comprehensive pathway to understand and apply generative AI technologies in real-world software development.
What you’ll learn in this course
- Configuration-Driven Development (CDD): Understand and implement CDD principles in software design.
- Database Design and Implementation: Learn to design database schemas, implement CRUD operations, and optimize database performance.
- Design Patterns: Explore and apply Gang of Four design patterns, including Singleton, Factory, Template Method, and Strategy.
- API Integration: Work with external APIs like DALL-E for image generation.
- Data Serialization: Implement file serialization techniques using JSON and Pickle.
- LLM-Assisted Coding: Leverage Large Language Models as pair programming partners throughout the software development process.
Key technologies and concepts you’ll use
- Python: The primary programming language used throughout the course
- SQLAlchemy: ORM for database operations
- SQLite: Lightweight database for prototyping
- JSON: Data format for configuration files
- Pickle: Serialization tool for complex Python objects
- DALL-E API: For image generation tasks
- Design Patterns: Singleton, Factory, Template Method, Strategy
- LLMs (e.g., GPT-4): For code generation and problem-solving assistance
Level up with hands-on projects
- Build a configurable image generation application using the DALL-E API, implementing CDD principles.
- Design and implement an e-commerce database system with full CRUD functionality.
- Develop a financial services application that demonstrates the use of various design patterns.
- Create and query a social network database as part of a graded exercise.
These projects will allow you to apply concepts of software design, database management, and API integration while using an LLM as a coding assistant.
What Will You Learn?
- Integrate Generative AI in Development: Learn to use generative AI tools like GitHub Copilot and ChatGPT from initial design to deployment, enhancing coding efficiency and creativity.
- Optimize Your Code Quality: Improve your coding skills, whether you’re just starting out and need help with bug fixes or an experienced developer trying to break new ground.
- Develop Innovative Solutions: Create advanced software solutions using AI for testing, debugging, dependency management, and documentation.







