Table of Contents
IntroductionNina Zakharenko introduces the course repository, the course website, and how audience members can connect with her via social media.
System RequirementsNina goes over the mandatory prerequisites to be installed before beginning the course.
Opening the Project and Python FileNina demonstrates how to set up a basic file structure, create a python file, and a few handy keyboard shortcuts for VSCode.
Starting the Python REPLNina demonstrates how to start Python's read evaluate print loop.
Using the Python REPLNina introduces the basics of how to use the Python REPL.
Common REPL MistakesNina demonstrates an error that may occur when reassigning reserved variables, how to write comments, and the basics of how to debug in the REPL
Why PythonNina introduces the context of Python, and resources to find best practice principles.
Code SampleNina walks through a piece of code intended to expose students to the language.
VariablesNina introduces variables by speaking to naming conventions, a few "gotchas", as well as NoneType and reassigning variables.
NumbersNina demonstrates how to assign integers, floats, complex numbers. The methods associated with types are also addressed as well as basic mathematical operations.
StringsNina introduces best practices for strings, string concatenation, long strings, and f strings
Practice: Data TypesStudents are instructed to display the type of several variables in their REPL. Nina live codes the solution to the exercise.
FunctionsNina introduces why functions are useful, demonstrates the syntax for a function, and gives examples to demonstrate what returning a value means.
Function ArgumentsNina demonstrates how to add inputs to functions.
Empty Default ListsNina 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 ScopeNina covers the basics of the way that access to variables is handled.
Practice: FunctionsNina live codes the solution to the exercise.
ListsNina introduces how to instantiate lists.
Changing the Order of a ListNina 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 ListNina introduces the append, insert, and extend methods built into python.
List LookupsNina 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 ListNina introduces the remove, pop, and push
List ReviewNina reviews the methods learned in the previous sections.
TuplesNina explains why a tuple might be useful, and how to instantiate them.
Unpacking TuplesNina demonstrates how to assign variables to a tuple's values for use outside of the tuple.
Tuples ReviewNina reviews what was covered in the previous sections.
SetsNina introduces what a set is, and why it's a powerful data structure.
Adding, Removing, & UpdatingNina demonstrates how to add elements, and to remove or replace elements.
Combining, Comparing, & ContrastingNina 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 ReviewNina reviews what was covered in the previous sections.
DictionariesNina 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 ValuesNina demonstrates how to add items, remove items, and access either the keys or values independently from each other using built-in functions.
Dictionaries ReviewNina reviews what was covered in the previous sections.
Mutability ReviewNina briefly reviews what mutability is, and covers reinforced which data structures in Python are mutable.
Practice: Advanced Data TypesStudents 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.
BooleansNina introduces truthyness and falseyness in Python.
ComparisonsNina introduces equality and identity.
and, or, & notNina introduces boolean logic built in to Python.
Practice: Boolean LogicNina live code the exercise with students.
Looping & Control Flow
Looping Over ListsNina introduces "for in" syntax as well as how to utilize the range keyword.
Looping Over DictionariesNina demonstrates how to loop over dictionaries.
Control FlowNina demonstrates how to utilize control flow logic statements.
while & Control StatementsNina demonstrates how to implement while loops, continue, and break.
Python Files & ModulesNina demonstrates how to start a file in Python, and enable syntax highlighting.
Debugging Strategies in PythonNina demonstrates how to debug a python file using print statements.
Importing Modules, & the main MethodNina 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 PIPNina introduces PIP, which is a tool that allows users to install external libraries.
APIs OverviewNina explains what APIs are, responses, status codes, and authentication.
requests LibraryNina 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 APIStudents 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 APINina demonstrates how to apply search parameters to the Github API query, and starts to divide the code into separate functions.
App Solution 3: Error HandlingNina 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.