|
|
<!--
|
|
|
title: Welcome to Python Programming!
|
|
|
type: lesson
|
|
|
duration: "01:00"
|
|
|
creator: Brandi Butler
|
|
|
-->
|
|
|
|
|
|
##  {.separator}
|
|
|
|
|
|
<h1>Welcome to Python Programming!</h1>
|
|
|
|
|
|
<!--
|
|
|
|
|
|
## Overview
|
|
|
This lesson serves as the kick-off to your Python Programming class. Whether you’re delivering this course online or in-person, in a 1-week accelerated for 10-week format, take the first hour or so of your time together to get things started on the right foot.
|
|
|
|
|
|
This lesson is designed to introduce yourself, GA, and get the students comfortable and excited to learn. Following that, there's a brief review of the pre-work.
|
|
|
|
|
|
## Learning Objectives
|
|
|
In this lesson, students will:
|
|
|
- Define class expectations and norms.
|
|
|
- Understand key concepts introduced in the pre-work
|
|
|
|
|
|
|
|
|
## Duration
|
|
|
60 minutes
|
|
|
|
|
|
## Suggested Agenda
|
|
|
|
|
|
| Time | Activity |
|
|
|
| --- | --- |
|
|
|
| 0:00 - 0:10 | Welcome |
|
|
|
| 0:10 - 0:12 | About General Assembly |
|
|
|
| 0:12 - 0:14 | The Road to Success |
|
|
|
| 0:14 - 0:16 | Course Structure |
|
|
|
| 0:16 - 0:18 | Your Final Project |
|
|
|
| 0:18 - 0:20 | Tools We'll Use |
|
|
|
| 0:20 - 0:50 | [Pre-Work Recap](#activity-prework-recap-30-min) | Review the pre-work and level set. |
|
|
|
| 0:50 - 1:00 | Q&A + Close |
|
|
|
|
|
|
## Before Class: Preparation
|
|
|
- Update the slides that follow with specific information about you, your class, your city and your local support team.
|
|
|
- Take some time to consider your expectations for learners and be prepared to talk about them.
|
|
|
- Choose an ice breaker to run that will allow learners to get to know one another in a fun, informal, low-stakes way. We have a list [here](https://docs.google.com/presentation/d/1a91IqhzijI_3EqU-trJbZN4vDDSU0rXqgIrqGwsWM7I/edit) of fun activities - and other good slides to copy - for the students for you to choose from. And if you have some good ones, feel free to share your ideas with us!
|
|
|
- Before class, review completion data to understand how far your learners have progressed through the myGA prework.
|
|
|
-- If most of your learners have completed all of the prework, you should be able to breeze through this lesson very quickly.
|
|
|
-- If most of your learners have not completed all of the prework, you might want to spend more time on this lesson and reduce your timings for the rest of the lessons in Unit 1.
|
|
|
|
|
|
|
|
|
|
|
|
## In Class: Materials
|
|
|
- Projector
|
|
|
- Internet connection
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
## Agenda
|
|
|
*Here's what we'll cover:*
|
|
|
|
|
|
- Instructional team and classmate introductions.
|
|
|
- About General Assembly.
|
|
|
- Course structure.
|
|
|
- The final project.
|
|
|
- Key concepts from the myGA prework.
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- We’re so excited to have to you here today.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
## Meet Your Instructor
|
|
|
|
|
|
|
|
|
**{Insert your name.}**
|
|
|
|
|
|
- [{Insert email address.}](link)
|
|
|
- {Insert key facts about yourself and your career:
|
|
|
- Current role.
|
|
|
- Cool companies/brands you’ve worked with.
|
|
|
- One fun fact (Keep it classy!).}
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- Talk about the instructor’s role as the instructional team “lead.”
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Meet Your Support Team
|
|
|
|
|
|
**{Insert IA's name.}**
|
|
|
|
|
|
- [{Insert email address.}](link)
|
|
|
- {Insert key facts about yourself and your career:
|
|
|
- Current role.
|
|
|
- Cool companies/brands you’ve worked with.
|
|
|
- One fun fact (Keep it classy!).}
|
|
|
|
|
|
<aside class="notes">
|
|
|
**Teaching Tips**
|
|
|
|
|
|
- Duplicate this slide for each IA or classroom member you want to introduce.
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Front Lines
|
|
|
|
|
|
Have a question about:
|
|
|
|
|
|
- The campus?
|
|
|
- Lost and found?
|
|
|
- Loaner equipment?
|
|
|
- Free coffee and snacks?
|
|
|
|
|
|
Come here to talk to Front Lines and they will help you out.
|
|
|
|
|
|
{Picture of the local front lines desk}
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Introduce anyone here; see the next slide for a template.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## More Great People
|
|
|
|
|
|
{Bullet list of names and roles}
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- These are common faces on campus the students should know about.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
## Classroom Culture
|
|
|
|
|
|
Let’s all agree to:
|
|
|
|
|
|
- Treat each other with respect
|
|
|
- Avoid bringing distractions into class
|
|
|
- {Add more…}
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- Add any rules you'd like to here.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
## More Great People: You! Meet Your Classmates
|
|
|
|
|
|
Please share:
|
|
|
|
|
|
- Your name.
|
|
|
- Why you’re taking this course.
|
|
|
- Your favorite comfort food.
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Come up with a few icebreakers of your own and add the slides below!
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Icebreakers
|
|
|
|
|
|
{Insert some fun icebreakers here!}
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## What is General Assembly?
|
|
|
|
|
|
- More 20 global campuses across 6 countries.
|
|
|
- Thriving alumni community of 50,000+ full- and part-time graduates.
|
|
|
- Corporate training with 350+ companies, including 39 of the Fortune 100.
|
|
|
- 500,000+ attendees at bootcamps, workshops, and events.
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Go through this section quickly. Students have probably heard this information before in info sessions or via the GA website.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## What is General Assembly's Mission?
|
|
|
|
|
|
> "GA was founded on the principle of empowering people to pursue the work they love. Since we opened our first campus in 2011, we have had the privilege of working with students, governments, and the world’s largest companies to create opportunities to radically transform careers and economic prospects." - Jake Schwartz, Founder + CEO, General Assembly
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
1 MINUTE
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Rather than reading the quotation out loud, take this opportunity to share with students your own reasons for being part of GA’s mission.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Student Experience
|
|
|
|
|
|
Come work on campus!
|
|
|
|
|
|
We’re open:
|
|
|
|
|
|
- {8am - 10pm, Monday to Friday}
|
|
|
- {10am - 6pm, Saturday and Sunday}
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- If this is the five day full time, delete this slide - students won't need to take advantage of this.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Map of the Campus
|
|
|
|
|
|
{If possible; otherwise, remove this slide}
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- Point out restroooms, front lines, the classroom, and the kitchen, and where they could come work, if that slide is left in.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Snack Calendar
|
|
|
|
|
|
There’s a lot of work ahead, and you’re going to need fuel.
|
|
|
|
|
|
{Link to snack calendar}
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Remove this slide if there are no snacks available to them.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Moving on to Course Specifics...
|
|
|
|
|
|
Okay, GA is cool!
|
|
|
|
|
|
The classmates are cool.
|
|
|
|
|
|
Let's talk about the course.
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
1 MINUTE
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Transition to talking about GA in general back to the Python course.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Computer Setup
|
|
|
|
|
|
We are expecting that:
|
|
|
|
|
|
- You are on a Mac, PC, or Linux machine
|
|
|
- You can get to the internet!
|
|
|
- You have Slack.
|
|
|
|
|
|
*Wi-fi: GA-GUEST*
|
|
|
*pw: yellowpencil*
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Make sure all students are set up on Slack and connected to the network.
|
|
|
- Change the wifi if needed!
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Office Hours
|
|
|
|
|
|
Help us help you!
|
|
|
|
|
|
{Mondays / Wednesdays}:
|
|
|
{5:30pm - 6:30pm}
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- You won't have these in the 5 day delivery! Delete this slide if so.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## How to get a certificate of completion
|
|
|
|
|
|
1. Complete 80% of the homework
|
|
|
2. Don’t miss more than 3 classes
|
|
|
3. Complete the final project
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- This slide is on how to get a certificate of completion. If it's different, change it!
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Course Materials
|
|
|
|
|
|
{Instructor note: This is your call! Choose ONE of the below}.
|
|
|
|
|
|
- Lessons for the day will be linked at the beginning of the day.
|
|
|
or
|
|
|
- Lessons for the course will can be viewed here - don't go too far ahead!
|
|
|
or
|
|
|
- Each lesson will be shared before the lesson.
|
|
|
|
|
|
The lessons are interactive to give as much programming practice as possible, so be sure you get the links and follow along!
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Choose one of the above. Then, take this time to give out the links if necessary.
|
|
|
- If you're using Heroku, you should have a landing page with all slide links! You can share that.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Homework
|
|
|
|
|
|
|
|
|
Homework:
|
|
|
|
|
|
- Isn't graded, but is good practice.
|
|
|
- We will go over it the next class!
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Homework notes are in the specific course details doc.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Your Final Project
|
|
|
|
|
|
- Each day, you’ll build skills in Python and understand different ways in which you can use it to build applications.
|
|
|
- At the end of {Day 4 or the 9th week}, you’ll choose a final project focus.
|
|
|
- On {Day 5 or the 10th week} in class, you’ll build an application in Python based on your project focus area.
|
|
|
- At the end of {Day 5 or the 10th week}, you’ll demo your project for the class.
|
|
|
|
|
|
<aside class="notes">
|
|
|
2 MINUTES
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Explain details of the final project, {updating this slide to reflect your own expectations if needed}.
|
|
|
- Encourage students to think throughout the course of what they want to build.
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Okay - Let's get to it! Prework Review
|
|
|
|
|
|
- Did everyone complete it?
|
|
|
|
|
|
- Let's review it!
|
|
|
|
|
|
We learned:
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
1 MINUTE
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- There are slides on each concept following this.
|
|
|
- These are basic concepts to you, but potentially brand new to some students. Take your time to make sure everyone understands them.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Programming and Programming Languages
|
|
|
|
|
|
**Programming**:
|
|
|
- Writing step-by-step instructions in a way a computer can understand.
|
|
|
|
|
|
**Programming Languages**
|
|
|
|
|
|
- How we can give computers instructions.
|
|
|
- There are thousands! But we're learning **Python**.
|
|
|
- Specifically, Python 3.
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- On this and all below, don't just read the slides. Add in your own interpretation.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Key Features of Python
|
|
|
|
|
|
- It's simple.
|
|
|
- It's versatile.
|
|
|
- It's always improving.
|
|
|
- It's popular!
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- On this and all below, don't just read the slides. Add in your own experience and thoughts.
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## When to Use Python
|
|
|
|
|
|
- Putting up websites.
|
|
|
- Analyzing data.
|
|
|
- Building robots.
|
|
|
|
|
|
Most use cases!
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- If you know of any specific examples, talk about them!
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## When NOT to Use Python
|
|
|
|
|
|
Other programming languages exist - Python isn't great for everything!
|
|
|
|
|
|
- Mobile apps
|
|
|
- Huge programs
|
|
|
- Python is interpreted - the computer reads it as it goes.
|
|
|
- Other programming languages are read in advance!
|
|
|
- Sometimes too easy
|
|
|
- Easy to expect things to work that don't!
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- If you know of any specific examples, talk about them!
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Pseudocode
|
|
|
|
|
|
- Writing out your program in simple, step-by-step instructions using plain English.
|
|
|
- Not a programming language!
|
|
|
- Something you should always do.
|
|
|
|
|
|
```
|
|
|
First, open the fridge.
|
|
|
Then, take out the cheese.
|
|
|
Then, close the fridge.
|
|
|
```
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- Ask students what they think pseudocode is good for; then tell them.
|
|
|
- (e.g. to make sure you don't miss a step)
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Group Exercise: Programming in Pseudocode
|
|
|
|
|
|
Let's write pseudocode that gives instructions on how to {give someone a high five}.
|
|
|
|
|
|
Include every step required. Remember, computers are very literal!
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
5 MINUTES
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
|
|
|
- Feel free to change the example to some other simple task.
|
|
|
- Write on the board, here. Come up with nothing yourself!
|
|
|
- Encourage students to come up with the steps, and write them as students come up with them.
|
|
|
- You should end up with something like:
|
|
|
- "Raise arm"
|
|
|
- "Open hand; keep fingers together"
|
|
|
- "Wait for the other person to raise their arm and open their hand."
|
|
|
- "Swing your arm forward to slap their raised open hand with yours."
|
|
|
- "Lower your arm again."
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Comments
|
|
|
|
|
|
- Programmer notes in code.
|
|
|
- The computer ignores them.
|
|
|
- Write your pseudocode here!
|
|
|
|
|
|
```python
|
|
|
# This is a comment!
|
|
|
```
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- Ask students what they think comments are good for; then tell them.
|
|
|
- (e.g. for your pseudocode; so others know what your program does; so you on Monday morning still know!).
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Our First Line of Code
|
|
|
|
|
|
|
|
|
```python
|
|
|
print("Hello")
|
|
|
```
|
|
|
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Teaching Tips**:
|
|
|
- Ask students what they think this does. If you deem it necessary, open a repl.it and demo it.
|
|
|
|
|
|
https://repl.it/@GAcoding/blank-repl
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
---
|
|
|
|
|
|
## Q&A and Summary
|
|
|
|
|
|
Any other questions?
|
|
|
|
|
|
Let's rock!
|
|
|
|
|
|
<aside class="notes">
|
|
|
|
|
|
**Talking Points**:
|
|
|
|
|
|
- Check to see if there are any lingering questions on the pre-work.
|
|
|
- Mention that next up, we'll explore something new in Python - variables.
|
|
|
|
|
|
</aside>
|