Motivation for Prerequisite

A key learning goal in this course is the technical skills required to implement simple generative AI applications. To that end, in the technical assignments and final project for this course, you will leverage AI libraries in order to implement AI systems that integrate LLMs (or other AI models) with business data.

In order to be confident that all students will able to do this during the course, there is a python prerequisite for the course:

<aside>

Python proficiency at the level of CS 1301 or MGT 3745. Students should be able to independently set up a programming environment, install Python packages, read technical documentation, and debug code.

I will not strictly enforce this prerequisite — many of you are in your last semester at GA Tech and are interested / motivated in this topic. I love that! Therefore, I will not stop you from enrolling if you are willing to do the work.

However, I will warn you that this course will be much harder if you have to learn both coding concepts and AI concepts. Therefore, based on feedback from the first lecture, I’ve developed this page to help you self-assess your own knowledge and gauge how much work would be needed to succeed in this class.

Do You Have Enough Coding Experience for the Course?

Conceptually, the python background that you will need for this course is to be able to work with open source libraries and “stitch together” the various library functions and classes in order to implement your desired functionality. This includes being comfortable (with the help of LLMs) setting up your own development environment, instantiating objects and calling their methods, reading documentation, and debugging code.

  1. If you can already do one of the following, you probably are at this level already and can pick up the relevant python syntax with ease:
  2. If you understand most of the following (core) python concepts, you should do well in the course. (If you understand these concept but in a different programming language, you should be fine as well.)
  3. If not, do you feel that you can learn the concepts independently and are willing to put in the work to do so?

What additional resources will be offered in this course to help me learn python?

  1. You are free to use LLM Chatbots, which are phenomenal programmers for the type of code that we need for this class. Frankly, I expect that they are better teachers than me for basic programming concepts (with the right prompting). (We will discuss why that is the case in the first few lectures.)

    Here’s a quick trick that you may not have tried before. Copy the list of python concept above into the following prompt, and paste it into ChatGPT:

    Using simple examples in code, please illustrate and explain the following python concepts to me as someone that has no previous coding background. Please point out common mistakes and misconceptions as well. 
    
    {paste concepts here}
    

    ChatGPT can also help you figure out how to set up a python environment to run the python code on your own computer.

    Hi ChatGPT, can you help me to figure out how to run python code on Google Colab from on my own computer? I'm someone with zero programming experience.
    
  2. I have compiled several beginner-oriented resources that are all intended to teach Python basics. (Personally, I feel they are much more complicated and lengthy than is required to convey the material, but that’s my subjective taste.)

    1. A Whirlwind Tour of Python (A Whirlwind Tour of Python | A Whirlwind Tour of Python) - The content is available on GitHub with a Jupyter notebook here: GitHub - jakevdp/WhirlwindTourOfPython.
    2. **Python Data Science Handbook (Python Data Science Handbook | Python Data Science Handbook)**The full text is available on GitHub in the form of Jupyter notebooks here: GitHub - jakevdp/PythonDataScienceHandbook.
    3. Professor Jonathan Fan’s course Business Programming (MGT 3745). The slides are available on his course’s GitHub page https://jonathanatuscpsu.github.io/Business-Programming/. The Jupyter notebooks are linked on the last slide of each lecture deck.
    4. LinkedIn Learning has tons of awesome Python resources, especially for beginners. Here’s the link: https://linkedinlearning.gatech.edu/
  3. During weeks with technical assignments for this course, my Teaching Assistants Qixin Ye and Anmol Singhal have agreed to host office hours to help less technically inclined students to work through the assignments. We can implemented additional office hours of this type if they are useful to you all for working on the final project.

  4. You can come to my (Daniel’s) office hours as well. However, note that I will prioritize questions related to AI concepts over pure coding questions if there is limited time.