/python-programming-621

Primary LanguageJupyter NotebookMIT LicenseMIT

Python Programming


This course introduces beginners to the Python programming language, with a brief working intro to a special topic: Data Science (Pandas).

Instructor: Diego Rodriguez

Overview

In this one-week Python Programming course, students will walk away with a foundation in Python programming. Students will also get an 8 hour dive into the Python library for data analysis, Pandas, and walk away with a project of their choosing they've built using that library, thus, being able to confidently manage data collection, data manipulation, data analysis, data visualization, and data presentation using Python and Pandas.

Quick Links

About This Guide

This guide contains course information, links to course material, and links to additional resources. It should be used for the duration of this course - when in doubt, check this guide out!

After the end of the program, this repository will be made private. Students are encouraged to clone this repository at the end of the course for future use and reference (don't worry, we'll go over how to do that).

Course Details

Python Programming is a 40-hour course. This course is open to and encouraged for absolute beginners, delivered in a 5 day full-time format, with a sixth day used for final project preparation and presentation.

Once enrolled, students complete 3.5 hours of pre-work on the myGA platform.

In order to graduate and earn a course completion certificate, every student must complete a final project that meets or exceeds the minimum standards outlined in the project rubric.

Learning Objectives

The high-level learning objectives for this course are:

  • Create a Python script, using control flow, classes, and try/catch statements. Incorporate APIs, modules, and user input into Python script as-needed.
  • Use Pandas to conduct an analysis of a dataset, and develop visualizations.

Students cannot graduate unless they demonstrate mastery of the above learning objectives before the end of the course. Mastery is measured through assessment: homeworks, in-class activities and final projects.

Homework

The homework assignments for this course are listed below. Homework is distributed at the end of the day, and reviewed at the start of the following day. Given the class size, your instructor can review your homework assignment and provide feedback, if requested.

Labs

Links to the five lab assignments for this course are included in the Course Schedule in the section below. Each day, the students will receive a lab to complete. During lab time, the instructor will introduce the lab, and then approximately 1-1.5 hours will be alloted for students to complete the labs independently (depending on the class size, breakout sessions may be utilized instead, so students can work on the lab together in groups). Afterward (or during Kickoff sessions), the class will review each lab.

Course Schedule

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6
[:30] Course Introductions [:30] Day 2 Office Hours [:30] Day 3 Office Hours [:30] Day 4 Office Hours [:30] Day 5 Office Hours [:30] Day 6: Summary Kickoff
[:30] GA Introductions (Erica and David) [:30] Day 2 Kickoff [:30] Day 3 Kickoff [:30] Day 4 Kickoff [:30] Day 5 Kickoff [2:00] In-Class: Final Project Workshop
[:30] Final Project [1:30] Functions, Decorators [:30] Inheritance [:15] Intermediate Python Discussion [1:00] Pandas 2 Intro, Pandas 2 Notebook [1:00] Extended Break
[:30] Google Colaboratory [:15] Break [:15] Break [:30] Intro to Python for Data [:15] Break [2:00] Project Presentations, Data
[1:00] Defining Variables [:45] Advanced Arguments [1:30] Lab #3: OOP, Intro [:30] Modules & Libraries [1:00] Plots and Charts Intro, Notebook [:30] Wrap-up & Celebrations, Data
[:15] Break [1:00] Extended Break [:15] Mid-Week Check-in [1:00] Extended Break [1:00] Extended Break ---
[1:00] Lab #1: Fundamentals [1:30] Lab #2: Control Flow [1:00] Extended Break [1:00] Pandas Intro, Pandas Notebook [:45] Pandas Datetime Intro, Notebook ---
[1:00] Extended Break [:30] Dictionaries [:30] Variable Scope [:15] Break [1:00] Pandas Joins, Notebook ---
[1:00] Conditionals [:15] Break [:15] Break [1:15] Lab #5: Intermediate Python [:15] Break ----
[:15] Break [:45] Sets & Tuples [:45] Debugging Principles [:15] Final Project Discussion [1:15] Lab #6: Weather Forecast ---
[:30] Lists [:15] Break [1:00] Lab #4: Debugging [:30] End-of-Day Recap [:30] End-of-Day Recap ---
[:30] Loops [:45] Classes [:30] In-class HW/Review Time --- [:15] Optional: Final Project Discussion ---
[:30] End-of-Day Recap [:30] End-of-Day Recap [:30] End-of-Day Recap --- --- ---
[:30] Office Hours -- -- -- -- --
Day Suggested Homework
1 Lists, if/elif/else, and for/while
2 Functions, Dictionaries, Bonus: Kwargs
3 Inheritance, Debugging

Copyright 2021, General Assembly Space. Licensed under CC-BY-NC-SA, 4.0