Beginner Python with wolfshirtz

Start Programming in Python with Instructor and National Cyber League Managing Player Ambassador Tristan “wolfshirtz” Messner!

Tristan “wolfshirtz” Messner’s “Beginner Python” bootcamp is composed of two webcast series hosted on Crowdcast, which you can access by clicking the links below:

  1. Beginner Python: Up & Running
    Session 1: Dec. 5, 2020
    Session 2: Dec. 12, 2020
    Session 3: Dec. 19, 2020
  2. Beginner Python: Start Scripting
    Session 4: Jan. 9, 2021
    Session 5: Jan. 16, 2021
    Session 6: Jan. 23, 2021

Part One focuses on teaching basic developmental concepts and simple programming, while Part Two teaches students how to build small applications and real world projects.

Don’t worry if you miss the live broadcasts—all sessions are recorded and made available to replay at your leisure!

All slides and course materials will also be graciously open-sourced by wolfshirtz at this repo:

Below is the course outline:

Session 1 – Dec. 5, 2020
   1. An introduction to the course 
   2. Common software development practices and terminology
      a. Dependencies
      b. Code style guide
      c. Commenting 
      d. Documentation
   3. Installing courseware
      a. Your preferred text editor
      b. Python 3.5+ 
      c. Pip with pipenv
After session work: Getting your python environment set up.

Session 2 – Dec. 12, 2020
   4. Getting started with python
      a. Creating a workspace for a project or script
         i.   Creating a directory structure for your code
         ii.  Using pipenv to ensure project dependencies are correctly 
      b. Hello world
         i.   Add a file to our previously created workspace
         ii.  Adding hello world code to the file
         iii. Explain variables, types and functions
      c. Operations and comparisons
         i.   Basic math in python
         ii.  If and else
      d. Looping
         i.   While
         ii.  For
After session work: Write a script to calculate how much the tax on an 
item is.

Session 3 – Dec. 19, 2020
      e. Lists, Dictionaries, and iterables
         i.   Lists
         ii.  Dictionaries
         iii. Iterables
      f. Objects and types continued
         i.   A simple overview of objects
              1. Methods
         ii.  All types are objects
         iii. Parent child inheritance
After session work: Create a system for recording keeping by using a 
dictionary. Bonus points if each entry is a self defined object. This 
system will keep track of names, phone numbers and home addresses.

Session 4 – Jan. 9, 2021
      g. Modules
         i.   Importing modules 
              1. Usage structure
         ii.  The standard library
              1. File and other I/O
              2. Functional programming
         iii. Installing third party modules with pip and pipenv
              1. Researching third party documentation
              2. Best practices for using third party modules
         iv.  Writing modular code
After session work: Create a script that interacts with a file. Pick 
a library from the python standard library and use it in a script 
(Os, sys, JSON, or CSV are recommended). Read the documentation for 
a popular third party module.

Session 5 – Jan. 16, 2021
      h. Project 1 - A mini flask REST api and client
         i.   Rest APIs, web apps, and http
         ii.  What is flask
         iii. The basic structure of a flask app
              1. A quick aside to decorators
         iv.  What is requests
         v.   Making a request
After session work: Create a REST api that returns values from a JSON 
file on disk and then also implement a client using requests. 

Session 6 – Jan. 23, 2021
      i. Project 2 - Making a clone of grep
         i.   What is grep?
         ii.  Re: regular expressions in python
         iii. Argparse: Parsing command line arguments in python
         iv.  Using sys to readlines like a pipe
After session work: Implement case insensitivity, inverse matching, 
and any other grep features desired.

– Session 6 is subject to change.
– A Session 7 may be added to include Jupyter Notebooks.

Please share your feedback in the comments!
If you have your own area of expertise and would like to mentor through the website, please apply for Feature Friday and let us know!