Skip to content

Official syllabus for AIPI 503 - Python Bootcamp for Data and AI

Notifications You must be signed in to change notification settings

heychhavi/python-bootcamp-duke

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Python Bootcamp syllabus

Python Bootcamp for Data and AI

Course Description

In this course, you will learn about the essential Python skills required for success in an MLOps (Machine Learning Operations) role. You will explore the fundamentals of the Python programming language, including data types, functions, modules, and testing techniques. Additionally, you will discover how to effectively work with datasets and perform data science tasks using Pandas and NumPy.

Through a series of hands-on exercises, you will gain practical experience applying Python within the context of an MLOps workflow.

This course is ideal for aspiring MLOps professionals looking to enter the field, as well as beginner programmers that want to know more about Python.

Faculty

Table of Contents

Course Objectives

By the end of this course, you will be able to:

  • Write Python scripts to automate common MLOps tasks
  • Utilize Python's core features and syntax effectively
  • Implement functions and modules to organize your code
  • Apply testing techniques to ensure code reliability
  • Manipulate and analyze data using Pandas and NumPy
  • Integrate Python skills into an MLOps workflow
  • Deploy a Python-based solution to the cloud
  • Develop a non-linear life-long learning skill

Note

Diversity Statement: As educators and learners, we must share a commitment to diversity and equity, removing barriers to education so that everyone may participate fully in the community. In this course, we respect and embrace the unique experiences that brought each person here, including backgrounds, identities, learning styles, ways of expression, and academic interests. The broad spectrum of perspectives represented by our students enrich everyone’s experiences, and we strive to meet each perspective with openness and respect.

Prerequisites

This course requires basic programming skills, Git, and an understanding of the GitHub platform. You will use GitHub repositories with version control. You can complete all coursework without the need to acquire specialized compute resources and just using your browser.

Note

This course will use Codespaces, a GitHub technology that allows you to use Visual Studio Code in the browser. This is optional as you can still use Visual Studio Code locally on your computer or any other text editor you feel comfortable with.

GitHub Codespaces If you want to learn what Codespaces is and how it works, use this O'Reilly introductory video course as a reference. Alternatively, you can use this freely-available playlist on YouTube.

Additional Resources

Although this course is for learning foundational Python knowledge for Data Science and AI, you can use these additional resources as supporting material:

Courses:

Books:

4 week Syllabus

These are all the resources you need for this course.

Important

You are not required to watch and read every single resource. You aren't graded on consumption of content or memorization of facts. Use the content as support for your learning.

Week 0 (Optional): Refresh basic Python knowledge

Use this week if you haven't use Python before or if you need a quick refresher on how Python works.

This week, you will learn how to effectively use variables, logic, and Python’s data structures to load, persist, and iterate over data. You will apply these data structures to solve different problems as well as extract data from them.

The course videos are on the Coursera platform. Every week has 3 lessons, and each lesson has several videos, practice quizzes and supporting reading material. Review the reference GitHub repository for practicing, examples and linked resources. Every week has a different repository.

Week 1: Python functions and classes

This week, you will learn how to create functions, classes, and methods. These are the basis of almost any program you might create with Python. Functions and classes are useful for organizing code, increasing maintainability and code reuse.

Reference GitHub repository: https://github.com/alfredodeza/python-functions-and-classes

Week 2: Testing in Python

This week, you will learn the basics of Python testing. From a brief overview of the standard library to using a more modern approach with Pytest, one of the most popular testing libraries in Python. By the end of this week, you should be comfortable working with existing tests, creating new tests, and debugging test failures.

Reference GitHub repository: https://github.com/alfredodeza/python-testing/

Week 3: Introduction to Pandas and Numpy

This week, you will learn how to work with data using Pandas and NumPy. From loading and reading datasets from different sources to plotting graphs and exploring common problems in data. Pandas will allow you to perform transformations and export your data into different formats, and NumPy will boost your ability to work with numerical data.

Reference GitHub repository: https://github.com/alfredodeza/pandas-and-numpy

Week 4: Applied Python for MLOps

This week, you will learn how to package a Python API into a container using automation for cloud deployment. You will use Docker technologies, GitHub Actions for automation, and of course, Python. You will learn how to containerize an application, setup an account and necessary keys with the Azure cloud, and automatically deploy new changes.

Reference GitHub repository: https://github.com/practical-bootcamp/azure-deploy-template

Week 5: Buffer week

Use this week to review your work and ensure you haven't missed any assignments. Remember your passing of this class requires all assignments to be completed.

Machine Learning References

AutoML References

Python References

Referenced Media and Resources

Optional Supplementary Readings & Media

AWS
GCP
Python
  • Data Science, Pandas, and Colab

https://learning.oreilly.com/videos/python-for-data/62062021VIDEOPAIML/

Linux and Systems Engineering

Assignment Overview and Grading Breakdown

Grading and feedback turnaround will be one week from the due date. You will be notified if the turnaround will be longer than one week.

The discussion forums, written assignments, demo videos, and final project will be graded based on specific criteria or a rubric. The criteria or rubric for each type of assessment will be available in the course. To view the discussion forum rubric, click the gear icon in the upper right corner of the page and choose Show Rubric. The Written Assignment Rubric and Final Project Rubric will automatically appear on the page.

Late Work Policy

Late work will be accepted only in the event of an instructor-approved absence. Contact your instructor as soon as possible, at least 24 hours in advance.

Online Communication and Interaction Expectations

Discussion Forums

The purpose of the discussion boards is to allow students to freely exchange ideas. It is imperative to remain respectful of all viewpoints and positions and, when necessary, agree to respectfully disagree. While active and frequent participation is encouraged, cluttering a discussion board with inappropriate, irrelevant, or insignificant material will not earn additional points and may result in receiving less than full credit. Frequency matters, but contributing content that adds value is paramount. Please remember to cite all sources—when relevant—in order to avoid plagiarism. Please post your viewpoints first and then discuss others’ viewpoints.

The quality of your posts and how others view and respond to them are the most valued. A single statement mostly implying “I agree” or “I do not agree” is not counted as a post. Explain, clarify, politely ask for details, provide details, persuade, and enrich communications for a great discussion experience. Please note, there is a requirement to respond to at least two fellow class members’ posts. Also, remember to cite all sources—when relevant—in order to avoid plagiarism.

Online Communication Etiquette

Beyond interacting with your instructor and peers in discussions, you will be expected to communicate by Canvas message, email, and sync session. Your instructor may also make themselves available by phone or text. In all contexts, keep your communication professional and respect the instructor’s posted availability.

Just as you expect a response when you send a message to your instructor, please respond promptly when your instructor contacts you. Your instructor will expect a response within two business days. This will require that you log into the course site regularly and set up your notifications to inform you when the instructor posts an announcement, provides feedback on work or sends you a message.

Participation and Attendance

This course will not meet at a particular time each week. All course goals, session learning objectives, and assessments are supported through classroom elements that can be accessed at any time. To measure class participation (or attendance), your participation in threaded discussion boards is required, graded, and paramount to your success in this course. Please note that any scheduled synchronous meetings are optional. While your attendance is highly encouraged, it is not required and you will not be graded on your attendance or participation.

Course Technology

This course will involve a number of different types of interactions. These interactions will take place primarily through Microsoft Teams. Please take the time to navigate through the course and become familiar with the course syllabus, structure, and content and review the list of resources below.

Required Technical Skills

Students in an online program should be able to do the following:

  • Communicate Teams discussion forums.
  • Use web browsers and navigate the World Wide Web.
  • Use the learning management system Teams.
  • Use Teams
  • Use applications to create documents and presentations (e.g., Microsoft Word, PowerPoint).
  • Use applications to share files (e.g., Box, Google Drive).

Required Digital Literacy Skills

In order to be successful in an online course, students should be able to locate, evaluate, apply, create, and communicate information using technology.

Students in this online course should be able to do the following:

  • Create, name, compose, upload, and attach documents.
  • Download, modify, upload, attach document templates.
  • Create, name, design, and upload presentations.
  • Access and download Course Reserve readings; read and review PDF documents.
  • Access and use a digital textbook.
  • Record and upload video taken with a webcam or smartphone.
  • Use the library website for scholarly research tasks.
  • Search the Internet strategically and assess the credibility of Internet sources.
  • Participate in threaded discussions by contributing text responses, uploading images, sharing links.
  • Coordinate remote work with peers, which may include contacting each other by e-mail, phone, video conference, or shared document.
  • Edit and format pages in the course site using a WYSIWIG (What You See is What You Get) editor or basic HTML.
  • Using a quizzing tool to answer multiple choice, true/false, matching, and short response questions within a given time period.
  • Follow directions to engage with a remote proctor by text, webcam, and audio.
  • Use a video player to review content, including pausing and restarting video.

Associated Certifications

You may want to complement this course with the following certifications:

About

Official syllabus for AIPI 503 - Python Bootcamp for Data and AI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published