Advanced Python

Prework and Introductory Review

 

Hello!  This course in Advanced Python presumes familiarity with a specific set of practical skills.  Although we will review and practice all of these concepts in the first two sessions (along with new material), it’s recommended that you spend some time (re-)familiarizing yourself with these skills before the class begins to ensure that you aren’t faced with too many new concepts as we get started. 

 

 

Below you’ll find links to the material you can use to review these concepts.  Start with the Advanced Python Course Slides, then review the Introduction to Python slides, or the Videos as you prefer.  Finally, review the projects we’ll be building and see if you can begin work on them (projects will be due one week after the first class)

 

Advanced Python Course Slides:  a succinct discussion

Original Intro to Python Course Slides: original presentation of the concepts in more detail

Videos:  my original content videos discussing each topic

Projects:  the projects we will be doing in our first week to demonstrate each skill (due one week after the first class)

 

The projects listed below will make up the first week’s homework assignments (due one week after the first class).  Feel free to get started on them if you have time – there are several assignments in the first week and it could help for you to take a “first pass” at some of them. 

 

 

File Parsing

The ability to loop through a file line-by-line, use ‘if’ to determine if a line is to be used, split out desired values, convert values to proper type, and summarize the result through a counting or summing variable.   

 

Advanced Python Course Slides

Tabular File Parsing:  CSV

 

Original Intro to Python Slides

Sequences:  Strings, Lists and Files

 

Videos

File Parsing

 

Projects

File looping and counting (see Projects and Project Discussion)

 

 

Building Lists and Sets from a File, Using Them to Summarize Data

The ability to extend the above skill by adding values to a list or set object in order to be able to summarize using functions like sum() and len(), the in operator, and list slicing.   

 

Advanced Python Course Slides

Containers:  Lists, Sets, Tuples, Dicts

 

Original Intro to Python Slides

Containers:  Lists, Sets and Tuples

 

Videos

Summarizing Data with Lists and Sets

 

Projects

File looping and collecting; building a set from a file (see Projects and Project Discussion)

 

 

Building a Lookup or Aggregating Dictionary from a File

The ability to create a simple dictionary of key/value pairs, or an “aggregating” dictionary that sums up or counts values associated with a unique key. 

 

Advanced Python Course Slides

Containers:  Lists, Sets, Tuples, Dicts (repeat from above)

 

Original Intro to Python Slides

Dictionaries and Sorting

 

Videos

Dictionaries

 

Projects

Building a dict lookup from file; dict aggregation (see Projects and Project Discussion)

 

 

Writing Basic Function Definitions

The ability to write functions that can take argument(s) and/or return return value(s). 

 

Advanced Python Course Slides

User-Defined Functions

 

Original Intro to Python Slides

Introduction to User-Defined Functions

 

Videos

Introduction to Functions

 

Projects

(above projects will be required to be written in functions)