Course Content Lessons
Lesson | Topic |
---|---|
00 | Course Introduction |
01 | Introduction to Programming |
02 | Introduction to Python |
03 | Variables and Types |
04 | Conditionals |
05 | Iterations |
06 | Functions |
07 | Strings |
08 | Files |
09 | Lists |
10 | Dictionaries |
11 | Web Services and API’s |
12 | Data Analysis |
13 | Visualization |
Lesson 00: Course Introduction
Overview
In this lesson we learn:
- What is this course about?
- Course content, how you will be evaluated, course policies and procedures.
- Instructor expectations of students in and out of class and getting help.
- How the technologies we used in the course keep you engaged and help you to learn.
- How to access the components of the course: Zybook, Github, gitter.im, SU Google, Zybook Participationzes, and attendance and class participation.
Resources
- Readings
- Review our Course Syllabus
- Familiarize yourself with our Course Website
- Video to get you inspired!
- Class Resources
What’s Due?
- There are no graded work is due but you must complete the Course Setup Checklist by first recitation. Next we we start programming and your laptop needs to be setup!
Lesson 01: Introduction To Programming
Overview
This lesson we learn: - What is programming? Why do it? Why is it difficult? Why programming is a critical 21st century skill? What does it take to be a good programmer? - The input-process-output model, how computers process programs, interpreters / compilers, syntax /semantics, code and execution. - Source code management with Git and GitHub.
Resources
- Readings
- Video
- IST256.tv:
- Python for Everybody: Ch1 Part 1 | Part 2
- Class Resources
- Slides: Introduction to Programming
What’s Due?
- Coding Lab [L01]
- The lab can be found in part 2 of the Programming walk-through.
- You will turn in your lab as part of the walk-through.
- this lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H01]
- The homework can be found in part 3 of the Programming walk-through.
- Turn in your homework by following the git submission procedure outlined in the document.
- This must be completed by end of the week: Saturday evening 11:59pm
Lesson 02: Introduction to Python
Overview
This lesson we learn:
- What is Python? What are the advantages / disadvantages of the language? How does it compare with other programming languages?
- The Jupyter Notebook environment. How to execute programs from the Jupyter environment.
- Python programming language basics. Print, Assignment and Input statements.
- Writing simple programs in Python following the Input / Process / Output model.
- Python source code management with Git and GitHub.
Resources
- Readings
- ZyBook Ch 1: Introduction (Participation Activities only)
- Python for Everybody Ch 1
- Video
- IST256.tv: Quick Tour of Jupyter Notebook
- Python for Everybody: Ch1 Part 3 | Part 4
- Class Resources
- Slides: Introduction to Python
- Code Samples can be found in your GitHub repository content/Lessons/02.
What’s Due?
- Zybook Participation [Z01]
- Chapter 1 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L02]
- The lab is in your Git repository folder: content/lessons/02/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H02] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/02/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 03: Variables and Types
Overview
This lesson we learn:
- What is a variable? What is its purpose?
- Variable assignment, and access.
- Different data types for variables.
- How to input variables of various types, check types, convert types, and print variables with formatting.
- Arithmetic expressions, arithmetic operators, and operands.
Resources
- Readings
- ZyBook Ch 2: Variables And Types (Participation Activities Only)
- Python for Everybody Ch 2: Variables, Expressions, Statements
- Video
- IST256.tv: End to End Example: Variables and Types
- Python for Everybody: Ch2 Part 1 | Part 2
- Class Resources
- Slides: Variables And Types
- Code Samples can be found in your GitHub repository content/Lessons/03.
What’s Due?
- Zybook Participation [Z02]
- Chapter 2 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L03]
- The lab is in your Git repository folder: content/lessons/03/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H03] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/03/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 04: Conditionals
Overview
In this lesson we learn:
- How to make our code execute in a non linear fashion through the use of conditionals.
- Relational and logical operators for making boolean expressions which form the basis of our decisions.
- Different types of non-linear execution like conditional excution, alternative execution, chaining, and nesting, and their appropriate uses.
- How to handle run-time errors with try..except.
Resources
- Readings
- ZyBook Ch 3: Conditionals (Participation Activities Only)
- Python for Everybody Ch 3: Conditionals
- Video
- IST256.tv: End to End Example: Conditionals
- Python for Everybody: Ch3 Part 1 | Part 2
- Class Resources
- Slides: Conditionals
- Code Samples can be found in your GitHub repository content/Lessons/04.
What’s Due?
- Zybook Participation [Z03]
- Chapter 3 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L04]
- The lab is in your Git repository folder: content/lessons/04/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H04] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/04/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 05: Iterations
Overview
In this lesson we learn:
- How to make our code execute in a non linear fashion through the use of iterations, or loops.
- The while loop for indefinite looping, infinite loops, and the break and continue statements
- How to build complex loops easily.
- Definite loops (for loops) and iterators.
Resources
- Readings
- ZyBook Ch 4: Iterations (Participation Activities Only)
- Python for Everybody Ch 5: Iterations
- Video
- IST256.tv: End to End Example: Iterations
- Python for Everybody: Ch5 Part 1 | Part 2 | Part 3 | Part 4
- Class Resources
- Slides: Iterations
- Code Samples can be found in your GitHub repository content/Lessons/05.
What’s Due?
- Zybook Participation [Z04]
- Chapter 4 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L05]
- The lab is in your Git repository folder: content/lessons/05/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H05] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/05/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 06: Functions
Overview
In this lesson we learn:
- How to use other functions in modules.
- How to inspect module contents and get help on functions.
- The anatomy of custom functions: arguments, named arguments, return values
- How to modularize our code with custom functions.
Resources
- Readings
- ZyBook Ch 5: Functions
- Python for Everybody Ch 4: Functions
- Video
- IST256.tv: End to End Example: Functions
- Python for Everybody: Ch4 Part 1 | Part 2
- Class Resources
- Slides: Functions
- Code Samples can be found in your GitHub repository content/Lessons/06.
What’s Due?
- Zybook Participation [Z05]
- Chapter 5 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L06]
- The lab is in your Git repository folder: content/lessons/06/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H06] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/06/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 07: Strings
Overview
In this lesson we learn:
- Strings as an immutable sequence of characters.
- Index and Slice notation for retrieving sub-strings.
- Built-in string functions to perform operations on strings.
- Techniques for parsing and tokenizing string data.
- How to sanitize input with string functions.
Resources
- Readings
- ZyBook Ch 6: Strings
- Python for Everybody Ch 6: Strings
- Video
- IST256.tv: End to End Example: Strings
- Python for Everybody: Ch6 Part 1 | Part 2
- Class Resources
- Slides: Strings
- Code Samples can be found in your GitHub repository content/Lessons/07.
What’s Due?
- Zybook Participation [Z06]
- Chapter 6 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L07]
- The lab is in your Git repository folder: content/lessons/07/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H07] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/07/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 08: Files
Overview
In this lesson we learn:
- The importance of a persistence layer in programming.
- How to read and write from files.
- Techniques for reading a file a line at a time.
- Using exception handling with files.
Resources
- Readings
- ZyBook Ch 7: Files
- Python for Everybody Ch 7: Files
- Video
- IST256.tv: End to End Example: Files
- Python for Everybody: Ch7 Part 1 | Part 2
- Class Resources
- Slides: Files
- Code Samples can be found in your GitHub repository content/Lessons/08.
What’s Due?
- Zybook Participation [Z07]
- Chapter 7 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L08]
- The lab is in your Git repository folder: content/lessons/08/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H08] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/08/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 09: Lists
Overview
In this lesson we learn:
- Lists as a mutable sequence of values.
- Indexing list values; slice notation.
- List functions and operations like add, remove, update, find
- Common patterns for list management.
Resources
- Readings
- ZyBook Ch 8: Lists
- Python for Everybody Ch 8: lists
- Video
- IST256.tv: End to End Example: Lists
- Python for Everybody: Ch8 Part 1 | Part 2 | Part 3
- Class Resources
- Slides: Lists
- Code Samples can be found in your GitHub repository content/Lessons/09.
What’s Due?
- Zybook Participation [Z08]
- Chapter 8 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L09]
- The lab is in your Git repository folder: content/lessons/09/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H09] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/09/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 10: Dictionaries
Overview
In this lesson we learn:
- Dictionaries as key-value pairs.
- Basic dictionary operations such as getting/setting keys and values
- Common dictionary use cases, such as representing complex objects.
- List of dictionary as an in-memory database of objects.
- Using the json library to load and save dictionaries to files.
Resources
- Readings
- ZyBook Ch 9: Dictionaries
- Python for Everybody Ch 9: Dictionaries
- Video
- IST256.tv: End to End Example: Dictionaries
- Python for Everybody: Ch9 Part 1 | Part 2 | Part 3
- Class Resources
- Slides: Dictionaries
- Code Samples can be found in your GitHub repository content/Lessons/10.
What’s Due?
- Zybook Participation [Z09]
- Chapter 9 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L10]
- The lab is in your Git repository folder: content/lessons/10/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H10] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/10/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 11: Web Services and APIs
Overview
In this lesson we learn:
- How the web works!
- Making HTTP requests using Python requests
- Parsing json into lists of dictionaries
- General procedure for reading and calling API’s on the web.
Resources
- Readings
- Web APIs in Python (Professor’s Notes)
- Python for Everybody Ch 13: Web Services
- Video
- IST256.tv: End to End Example: Web API’s
- Python for Everybody: Ch12 Part 3 | Ch13 Part 1 | Part 4
- Class Resources
- Slides: Web Services and API’s
- Code Samples can be found in your GitHub repository content/Lessons/11.
- Other Resources
What’s Due?
- Coding Lab [L11]
- The lab is in your Git repository folder: content/lessons/11/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 11:59pm before your recitation day.
- Homework [H11] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/11/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 12: Data Analysis
Overview
In this lesson we learn:
- What exactly is Pandas
- What is data analysis?
- How can Pandas help you perform data analysis?
- Managing Pandas data structures.
Resources
- Readings
- Data Analysis With Pandas (Professor’s Notes)
- Video
- Class Resources
- Slides: Data Analysis with Pandas
- How do I do THAT in Pandas? By Dataschool.io
- Master Pandas: The Official Pandas Tutorials
- Code Samples can be found in your GitHub repository content/Lessons/12.
What’s Due?
- Coding Lab [L12]
- The lab is in your Git repository folder: content/lessons/12/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 12:59pm before your recitation day.
- Homework [H12] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/12/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm
Lesson 13: Visualization
Overview
In this lesson we learn:
- Why information visualization is important
- The various ways to visualize information
- The basic requirements for any visualization
- How to plot complex visualizations such as multi-series charts and maps
Resources
- Readings
- Video
- IST256.tv: End to End Example: Mapping Potholes
- Matplotlib Tutorial Series
- Class Resources
- Slides: Visualization
- Code Samples can be found in your GitHub repository content/Lessons/13.
What’s Due?
- Zybook Participation [Z10]
- Chapter 10 Participation Activities
- It must be completed by 3pm on lecture day.
- Coding Lab [L13]
- The lab is in your Git repository folder: content/lessons/13/Class-Coding-Lab
- Turn in your completed lab using the git submission procedure.
- Lab must be completed by the end of the day 13:59pm before your recitation day.
- Homework [H13] Now You Code - as Assigned by your Recitation Instructor
- The homework assignment can be found in your git repository folder content/lessons/13/Now-You-Code/
- Turn in your homework using the git submission procedure.
- Must be completed by end of the week: Saturday evening 11:59pm