Logistical information about the class!
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md Add recording for class 11 Jun 12, 2019
development-environment.ipynb Add Python path edit instructions May 30, 2019
git-instructions.md Add Python path edit instructions May 30, 2019
python-test.pdf Add Python path edit instructions May 30, 2019


Python Programming Remote 5/7

Welcome to Python Programming Remote!


  1. Master Schedule
  2. Your Team
  3. Class Meetings
  4. Course Overview
  5. Homework Submissions
  6. What We Expect From You
  7. Project Structure
  8. Installation Instructions
  9. Python Practice Resources

Master Schedule

Zoom Room: https://generalassembly.zoom.us/j/239930665

Post-class exit ticket: https://forms.gle/CFnbjsiznpCPSSvC6

Office Hours:

  • Dan - Tues/Thurs (the hour before class)
  • Supriya - Tues/Thurs (the hour after class)
  • We are also available by appointment!
Class Day Date Class Topic & Recording Post-Class Resources
- - - Unit 1: Programming and Python Fundamentals - -
1 T 5/7 Welcome, Installing Python, Git, Github, and the Command Line
• Install Python.
• Contact tech support about any work computer issues.
Classroom Culture
Prework Review
Python Installation
2 Th 5/9 Variables, Lists, Unit Lab 1
In-class notebook
Submit the Unit 1 Lab.

• Try the practice problems.
• Look ahead at the List slides.
• Complete the optional Python prework on MyGA.
Variable Slides
List Slides
Unit 1 Lab
- - Unit 2: Control Flow - -
3 T 5/14 More Lists and Loops
• Recording was accidentally not created.
• Instead, please reference the very comprehensive in-class notebook.
• Re-try the three in-class exercises at the end of the in-class notebook.
• Try the last lesson's practice problems.
• Complete the optional Python prework on MyGA.
List Slides
Conditional Slides
Loop Slides
4 Th 5/16 Conditionals and More Loops
In-class Notebook
• Complete the loop homework.

Conditional Slides
Loop Slides
Function Slides
5 T 5/21 Functions, Dictionaries, Unit Lab 2
In-class Notebook
Unit 2 Lab - Due Tues May 28!

Unit 2 Practice Problems
• Look ahead at the dictionary slides
Function Slides
Dictionary Slides
- - - Unit 3: Object-Oriented Programming - -
6 Th 5/23 Dictionaries, Sets and Tuples, Beginning OOP
In-class Notebook
Unit 2 Lab - Due Tues May 28!

Unit 2 Practice Problems
Tuples Practice Problem
• Look ahead at the OOP slides
Dictionary Slides
Tuples & Sets Slides
Beginning OOP Slides
7 T 5/28 Classes, Inheritance, Unit Lab 3
In-class Notebook
Due Thurs June 6:
Unit 3 Lab
State Capitals Lab
Beginning OOP Slides
Inheritance Slides
- - - Unit 4: Common Python Troubleshooting - -
8 Th 5/30 Command Line, Variable Scope, Intermediate Variables
first.py - scope.py
Due Thurs June 6:
Unit 3 Lab
State Capitals Lab

Dev Environment Notebook
Scope Slides
More Variables Slides
Debugging Slides
9 T 6/4 Using Git, Debugging Principles & Techniques, Intro to Intermediate Python, Scripting, Code Abstraction, Unit Lab 4
Due Thurs June 6:
Unit 3 Lab
State Capitals Lab

Dev Environment Notebook
Git Instructions
Debugging Slides
List Comprehension Slides
Scripting Slides
Module Slides
- - - Unit 5: Intermediate Python - -
10 Th 6/6 Using Git (Part 2), Code Abstraction, Modules & Libraries
Submit Unit 3 Project as a pull request!

io Practice
Look ahead at the API slides
Scripting Slides
Module Slides
11 T 6/11 APIs, Review
Advanced Python Homework - Due Tues 6/18

Debugging Practice
APIs Practice
Module Slides
Intro to API Slides
12 Th 6/13 More APIs, Review - -
- - - Unit 6: Introduction to Data Science - -
13 T 6/18 Data Track: Intro to Data Science, Pandas I - -
14 Th 6/20 Data Track: Data Visualization, Plotting with Pandas and Matplotlib - -
15 T 6/25 Data Track: Pandas II, Unit Lab 6 - -
- - - Unit 7: Python Project - -
16 Th 6/27 Data Track: Lab Review, Next Steps with Data Science - -
17 T 7/2 Data Track: Overall Review, Q&A, Introduce Project - -
- Th 7/4 No Class (Independence Day) - -
18 T 7/9 Work on Project - -
19 Th 7/11 Work on Project - -
20 T 7/16 Project Presentations, Class Summary - -

Your Instructional Team

Lead Instructor:

Instructional Associate (IA):

Communication. We typically respond fastest via Slack. We strive to respond as soon as possible to each message. That said, outside of class and office hours we are not as active so may take longer to reply.

Class Meetings

  • Dates: Tues/Thurs May 7 - July 16, 2019 (excluding July 4)
  • Time: Tues/Thurs 8:00-10:00pm EST
  • Before class:
  • In class:
    • Review where we are in the course.
    • Work through lesson modules.
    • Preview upcoming projects/homework.
    • Fill out exit ticket.
  • After class (optional):
    • Ask additional questions on Zoom, in Slack, or during office hours!

Course Overview

Welcome to Python Programming Remote!

  1. We’ll start with the fundamentals of programming: loops, data structures, conditionals, object-oriented programming, and functions -- all in Python.
  2. Then, we’ll move to some intermediate concepts, like reading from files, APIs, and modules.
  3. Finally, we’ll move into data science and data visualization in Pandas. We’ll finish the class by working on a final project you can use for your portfolio and to strengthen your skills!

Throughout this course, you will:

  • Learn programming fundamentals and Python basics that get you coding from day one.
  • Build a Python program and add on increasing complexity throughout the course.
  • Learn the essentials of object-oriented programming.
  • Troubleshoot Python code.
  • Push your skills to the next level by adding scripting, modules, and application programming interfaces (APIs) to your Python toolkit.
  • Dive into data science.
  • Apply Python skills to data science and visualization with Pandas.
  • Complete a cumulative final project.

Homework Submissions

We will use GitHub Enterprise for submitting homework. We'll go over the process together the first few times!

We will be working in groups throughout class times -- many of the exercises will be completed in small groups or pairs. It’s also strongly encouraged to work with your co-students outside of class on homework and assignments.

What We Expect From You

Graduation Requirements

  • Attend at least 17 of 20 class sessions.
  • Meet expectations on all projects on time.

You may have up to a three-day grace period period on a project for extenuating circumstances if you get approval before the due date.

Unexcused absences are not allowed. If you will have to miss a class, notify the IA via Slack ahead of time so that we can mark your absence as excused. You may have a 48-hour grace period for notifying the IA/LI in case of emergency. Acceptable excuses include illness, death or critical illness to a family member of significant other, critical life emergency, and religious observances.

Additional Expectations

  • Take initiative.
  • Ask for help.
  • Practice, practice, practice.
  • Do the homeworks.

Project Structure

This course will ask you to complete a series of projects in order to practice and apply the skills covered in-class.

Unit Projects

At the end of each unit, you'll work on short structured projects. These activities will test your understanding of each unit’s most important concepts with in-class practice and instructor support.

  1. Project 1: Variables & Lists
  2. Project 2: Control Flow & Dictionaries
  3. Project 3: Object-Oriented Programming
  4. Project 4: Troubleshooting
  5. Project 5: Intermediate Python

Final Project

You'll also complete a final project, asking you to apply your skills to a problem of your choice.

You will have about two weeks to work on your final project. The final day of class, you will present your results!

Installation Instructions

Follow the below steps to install and test the course software:

1. Text editor.

We recommend either:

  • Sublime Text 3. I will be using this in-class. It is popular among Python developers, and the free version is unrestricted.
  • Visual Studio Code. VS Code is another popular choice for Python developers.

2. Anaconda Python 3.7.

This class follows the Data Science track. So, we will be using the Anaconda Python 3.7 distribution. This distribution includes Python and many commonly used data science packages and tools! Here are some brief installation instructions:

  1. Go here - https://www.anaconda.com/distribution/.

    • Click on your operating system (Windows, macOS, or Linux).
    • Then, press the Download button for Python 3.7 (this downloads the 64-bit Graphical Installer by default).
  2. Run the downloaded installation file and follow the prompts. I recommend:

    • Install it for "Just Me".
    • Install to the default location.
    • Check the box for "Add Anaconda to my PATH environment variable," even though the installer does not recommend it. This option will allow you to run Python directly from your Terminal or Command Prompt.

If you already have a non-Anaconda Python installed, please still install Anaconda following the above steps. Doing this will not affect your existing Python installation, and you can remove Anaconda at any time. Anaconda includes many of the tools we will use later in the class; otherwise, you will have to manually install them all!

3. Test Python

  1. Open your Terminal.
    • Windows: Open the Start Menu. Type cmd, then select the Command Prompt to open it.
    • MacOS: Press Cmd-Space to open Spotlight. Type Terminal, then select Terminal to open it.
  2. Test Python.
    • In your Terminal, type python --version then press Enter. You should see Python 3.7.3.

Python Practice Resources

Here are some great resources for daily practice problems: