Quick Guide & Tips

💻   Accessing Utils File and Helper Functions

In each notebook on the top menu:

1:   Click on "File"

2:   Then, click on "Open"

You will be able to see all the notebook files for the lesson, including any helper functions used in the notebook on the left sidebar. See the following image for the steps above.


🔄   Reset User Workspace

If you need to reset your workspace to its original state, follow these quick steps:

1:   Access the Menu: Look for the three-dot menu (⋮) in the top-right corner of the notebook toolbar.

2:   Restore Original Version: Click on "Restore Original Version" from the dropdown menu.

For more detailed instructions, please visit our Reset Workspace Guide.


💻   Downloading Notebooks

In each notebook on the top menu:

1:   Click on "File"

2:   Then, click on "Download as"

3:   Then, click on "Notebook (.ipynb)"


💻   Uploading Your Files

After following the steps shown in the previous section ("File" => "Open"), then click on "Upload" button to upload your files.


📗   See Your Progress

Once you enroll in this course—or any other short course on the DeepLearning.AI platform—and open it, you can click on 'My Learning' at the top right corner of the desktop view. There, you will be able to see all the short courses you have enrolled in and your progress in each one.

Additionally, your progress in each short course is displayed at the bottom-left corner of the learning page for each course (desktop view).


📱   Features to Use

🎞   Adjust Video Speed: Click on the gear icon (⚙) on the video and then from the Speed option, choose your desired video speed.

🗣   Captions (English and Spanish): Click on the gear icon (⚙) on the video and then from the Captions option, choose to see the captions either in English or Spanish.

🔅   Video Quality: If you do not have access to high-speed internet, click on the gear icon (⚙) on the video and then from Quality, choose the quality that works the best for your Internet speed.

🖥   Picture in Picture (PiP): This feature allows you to continue watching the video when you switch to another browser tab or window. Click on the small rectangle shape on the video to go to PiP mode.

√   Hide and Unhide Lesson Navigation Menu: If you do not have a large screen, you may click on the small hamburger icon beside the title of the course to hide the left-side navigation menu. You can then unhide it by clicking on the same icon again.


🧑   Efficient Learning Tips

The following tips can help you have an efficient learning experience with this short course and other courses.

🧑   Create a Dedicated Study Space: Establish a quiet, organized workspace free from distractions. A dedicated learning environment can significantly improve concentration and overall learning efficiency.

📅   Develop a Consistent Learning Schedule: Consistency is key to learning. Set out specific times in your day for study and make it a routine. Consistent study times help build a habit and improve information retention.

Tip: Set a recurring event and reminder in your calendar, with clear action items, to get regular notifications about your study plans and goals.

☕   Take Regular Breaks: Include short breaks in your study sessions. The Pomodoro Technique, which involves studying for 25 minutes followed by a 5-minute break, can be particularly effective.

💬   Engage with the Community: Participate in forums, discussions, and group activities. Engaging with peers can provide additional insights, create a sense of community, and make learning more enjoyable.

✍   Practice Active Learning: Don't just read or run notebooks or watch the material. Engage actively by taking notes, summarizing what you learn, teaching the concept to someone else, or applying the knowledge in your practical projects.


📚   Enroll in Other Short Courses

Keep learning by enrolling in other short courses. We add new short courses regularly. Visit DeepLearning.AI Short Courses page to see our latest courses and begin learning new topics. 👇

👉👉 🔗 DeepLearning.AI – All Short Courses [+]


🙂   Let Us Know What You Think

Your feedback helps us know what you liked and didn't like about the course. We read all your feedback and use them to improve this course and future courses. Please submit your feedback by clicking on "Course Feedback" option at the bottom of the lessons list menu (desktop view).

Also, you are more than welcome to join our community 👉👉 🔗 DeepLearning.AI Forum


Sign in

Or, sign in with your email
Email
Password
Forgot password?
Don't have an account? Create account
By signing up, you agree to our Terms Of Use and Privacy Policy

Create Your Account

Or, sign up with your email
Email Address

Already have an account? Sign in here!

By signing up, you agree to our Terms Of Use and Privacy Policy

Choose Your Plan

MonthlyYearly

Change Your Plan

Your subscription plan will change at the end of your current billing period. You’ll continue to have access to your current plan until then.

Learn More

Welcome back!

Hi ,

We'd like to know you better so we can create more relevant courses. What do you do for work?

Course Syllabus

DeepLearning.AI
  • Explore Courses
  • Membership
  • Community
    • Forum
    • Events
    • Ambassadors
    • Ambassador Spotlight
  • My Learning
Welcome to this third and final course on generative AI for software development. I'm here again with Laurence Ferroni. In the first two courses, you learn how to partner with an LM to write and analyze code to improve its performance and robustness in production. Then you saw how an LM can help you create test cases, write documentation, and manage dependencies, all of which help your teams work better. In this course, you explore how you can tap the deeper knowledge of LMs beyond just writing code to building better applications and designing better software. Yeah, and this course, it's really about thinking beyond just your code to how it interfaces with other things and the final product. So for example, a lot of times your code might need to read configuration files, read maybe very complex configuration files, write out log files, or deal with like serialization and deserialization of data. And then the second one, of course, would be databases and structured databases. So to be able to use an LLM to help you structure and design most efficient schema, and we even populate it with sample data, and then think about like crosstab queries and those kinds of things and how to build them very, very efficiently. And I think these are very important things as you go to production. But then, as we go into production, then we think about how there are developers out there with many millions of person years of experience in building systems, and then the design patterns that have grown out of that experience, particularly the Gang of Four design patterns. And, you know, I'll be frank that they're often quite opaque if you don't know what they are already. And here's where an LLM can be very, very powerful to help suggest maybe the right design pattern for you, as well as starting you with code for that pattern. Yeah. I find spotting the right design pattern and when to use it to be really difficult. Several weeks ago, I was implementing an interface with multiple pieces of software, and I had cruised it together with a big switch statement. Fortunately, thanks to an LLM, it prompted me to use a design pattern called a factory method design pattern, which, long story short, is an object-oriented programming concept that lets you write code to instantiate objects without needing to specify in advance what class they will be. So pretty complicated design pattern that I kind of understand, but not really. But the fact that the LLM looked at what I did prompted me for a better way to architect the code, and it gave me sample code to tell me how to implement this in Python. That got me going, and resulted in helping me go from a pretty ugly switch statement kind of thing to a much cleaner design that's also much more extensible. So I showed the code to some other people, and I think they were impressed. It was really the LLM helping me get the job done. And that's what they're great at, right? In that case, it sparked inspiration in you to think about using the factory method, but then just didn't leave you hanging there, right? Like you said, it also gave you the sample code. But then you as an engineer were able to take that sample code, solve a problem with it, and solve it in a way that was hopefully more efficient and more maintainable going forward. Yeah, much more extensible. I think I asked the LLM to help me design something more extensible, and they came up with this, and I thought, this is great. So hopefully, I think LLMs will make you look good. I'm sure they will. So with that, let's go on to the next video and dive in to start learning about serialization and deserialization, databases, and design patches.
specialization detail
  • Generative AI for Software Development
  • AI-Powered Software and System Design
  • Module 1
Next Lesson
Module 1: Data Serialization and Configuration-Driven Development
    Course Introduction
  • Conversation between Laurence Moroney and Andrew Ng
    Video
    ・
    3 mins
  • Course 3 downloadable resources
    Reading
    ・
    10 mins
  • Setting up your Jupyter environment
    Reading
    ・
    10 mins
  • Essential reading: Engage directly with our Jupyter and ChatGPT labs
    Reading
    ・
    2 mins
  • Data Serialization and Configuration-Driven Development
  • Module introduction
    Video
    ・
    2 mins
  • Python environment - To be used alongside with the lectures
    Code Example
    ・
    5 mins
  • ChatGPT environment - To be used alongside with the lectures
    Reading with AI Assistant
    ・
    1 hour
  • Configuration-driven development overview
    Video
    ・
    6 mins
  • Choosing a configuration file format
    Video
    ・
    4 mins
  • JSON and pickle
    Video
    ・
    6 mins
  • Quiz 1

    Graded・Quiz

    ・
    15 mins
  • Using the DALL-E API
    Video
    ・
    5 mins
  • Implementing CDD
    Video
    ・
    6 mins
  • Playing with the DALL-E API
    Code Example
    ・
    1 hour
  • Serializing results
    Video
    ・
    5 mins
  • Quiz 2

    Graded・Quiz

    ・
    15 mins
  • [IMPORTANT] Have questions, issues or ideas? Join our Forum!
    Reading
    ・
    2 mins
  • Next
    Module 2: Databases