Table of Contents
Introduction
Introduction
Nina Zakharenko introduces the course repository, the course website, and how audience members can connect with her via social media.System Requirements
Nina goes over the mandatory prerequisites to be installed before beginning the course.Opening the Project and Python File
Nina demonstrates how to set up a basic file structure, create a python file, and a few handy keyboard shortcuts for VSCode.Starting the Python REPL
Nina demonstrates how to start Python's read evaluate print loop.Using the Python REPL
Nina introduces the basics of how to use the Python REPL.Common REPL Mistakes
Nina demonstrates an error that may occur when reassigning reserved variables, how to write comments, and the basics of how to debug in the REPLWhy Python
Nina introduces the context of Python, and resources to find best practice principles.Code Sample
Nina walks through a piece of code intended to expose students to the language.
Data Types
Variables
Nina introduces variables by speaking to naming conventions, a few "gotchas", as well as NoneType and reassigning variables.Numbers
Nina demonstrates how to assign integers, floats, complex numbers. The methods associated with types are also addressed as well as basic mathematical operations.Strings
Nina introduces best practices for strings, string concatenation, long strings, and f stringsPractice: Data Types
Students are instructed to display the type of several variables in their REPL. Nina live codes the solution to the exercise.
Functions
Functions
Nina introduces why functions are useful, demonstrates the syntax for a function, and gives examples to demonstrate what returning a value means.Function Arguments
Nina demonstrates how to add inputs to functions.Empty Default Lists
Nina warns the audience against using empty default lists as a default parameter, due to the mutability rules that will be discussed later in the course.Function Scope
Nina covers the basics of the way that access to variables is handled.Practice: Functions
Nina live codes the solution to the exercise.
Lists
Lists
Nina introduces how to instantiate lists.Changing the Order of a List
Nina introduces methods to change the order of lists, given their contents, then goes on to view all the methods available to lists, and how to see what a particular method does from the REPL.Adding Items to a List
Nina introduces the append, insert, and extend methods built into python.List Lookups
Nina demonstrates how to determine if specific objects are in a list, the index of the first time the object is found in a list, and the number of times an object appears in a list.Removing Items from a List
Nina introduces the remove, pop, and pushList Review
Nina reviews the methods learned in the previous sections.
Tuples
Tuples
Nina explains why a tuple might be useful, and how to instantiate them.Unpacking Tuples
Nina demonstrates how to assign variables to a tuple's values for use outside of the tuple.Tuples Review
Nina reviews what was covered in the previous sections.
Sets
Sets
Nina introduces what a set is, and why it's a powerful data structure.Adding, Removing, & Updating
Nina demonstrates how to add elements, and to remove or replace elements.Combining, Comparing, & Contrasting
Nina demonstrates how to create a set with elements from two sets, how to find the similarities between sets, and how to find how two sets differ. Frozen sets are also briefly covered.Set Review
Nina reviews what was covered in the previous sections.
Dictionaries
Dictionaries
Nina introduces how dictionaries are composed in Python, then goes on to demonstrate how to access values, and set default values if the value specified is null.Adding, Removing, & Accessing Keys or Values
Nina demonstrates how to add items, remove items, and access either the keys or values independently from each other using built-in functions.Dictionaries Review
Nina reviews what was covered in the previous sections.Mutability Review
Nina briefly reviews what mutability is, and covers reinforced which data structures in Python are mutable.Practice: Advanced Data Types
Students are instructed to try typing out their own lists, dictionaries, tuples, and sets using the instructions on the course website. Nina live codes the exercise with students.
Boolean Logic
Booleans
Nina introduces truthyness and falseyness in Python.Comparisons
Nina introduces equality and identity.and, or, & not
Nina introduces boolean logic built in to Python.Practice: Boolean Logic
Nina live code the exercise with students.
Looping & Control Flow
Looping Over Lists
Nina introduces "for in" syntax as well as how to utilize the range keyword.Looping Over Dictionaries
Nina demonstrates how to loop over dictionaries.Control Flow
Nina demonstrates how to utilize control flow logic statements.while & Control Statements
Nina demonstrates how to implement while loops, continue, and break.
Real-World
Python Files & Modules
Nina demonstrates how to start a file in Python, and enable syntax highlighting.Debugging Strategies in Python
Nina demonstrates how to debug a python file using print statements.Importing Modules, & the main Method
Nina demonstrates how to import files into another file, how to create a module using dunder name, and briefly gives an example of how to include an error message in your log.External Modules with PIP
Nina introduces PIP, which is a tool that allows users to install external libraries.APIs Overview
Nina explains what APIs are, responses, status codes, and authentication.requests Library
Nina demonstrates how to utilize a library that specializes in helping with API requests to get pictures of dogs from an API.App Solution 1: Fetching the Github API
Students are instructed to utilize the Github API to query for popular courses and sort them by the number of stars that they have. Nina begins live-coding the solution by showing how to begin using Github API.App Solution 2: Searching the Github API
Nina demonstrates how to apply search parameters to the Github API query, and starts to divide the code into separate functions.App Solution 3: Error Handling
Nina demonstrates how to add error handling to the code so that the user is given a useful error should the API not return the correct response.