Cool Kids Coding School
Course Syllabus: Introductory Python
Fall 2019
-
Lesson 1: Background and Introduction to Development Environment
Discuss some of the concepts behind computer science and programming. Familiarize the class with software and hardware terms.
- What are programs and programming languages?
- How does a computer use a program?
- What language does a computer speak?
- What are we going to learn in this course?
- How is knowing this going to help me?
Discuss and demonstrate the tools we are going to use:
- Python3
- Jupyter Notebook
- Jupyter Hub
How is this course going to be structured?
- Instruction
- In class exercises
- Homework
- Review
- Final Test
Discuss how to get help
- Ask questions if you don't understand
- Built in help system
- Email instructor
- Ask after class
In Class: Demonstrate tools and programs
- Login to JupyterHub, open a notebook
- Demo development environment
Homework: Login to JupyterHub. Navigate to InClassAndHomework->Lesson01 folder find the homework notebook. This homework will help you practice environment manipulation.
-
Lesson 2: Variables and Operators (Part1)
Review important items from 1st class
- Python3
- Algorithms
- Structure of a program
Discuss the use and importance of variables.
- Types of variables
- float
- int
- string
- boolean
- Naming variables
- Reserved words
- Intuitive names
- Invalid names
Discuss what operators are and how they are used
- Arithmetic operators
- addition
- subtraction
- multiplication
- exponentiation
- modulo (remainder)
- Comparison operators
- greater than
- less than
- not equal to
- Operator precedence
- Built-in Functions
- Briefly discuss the concept of a function
- Type Identification
- type()
In Class: Login to JupyterHub. In the InClassAndHomework->Lesson2 folder find the VariablesAndOperators_InClass notebook. You will Use python as a calculator.
Homework: Login to JupyterHub. In the InClassAndHomework->Lesson2 folder find the VariablesAndOperators_Homework notebook. This is a homework where you can start understanding how a programming language can be used to solve analytical problems.
-
Lesson 3: Variables and Operators (Part2)
Spend entire lesson working on:
- Data types
- Variables
- Operators
In Class: Login to JupyterHub. There will be various in-class assignments that we will go over. In addition to the programming exercises from the Operators and Variables class we will also complete a worksheet where the questions and test the student's understanding of the theoretical material we went over.
Homework: Login to JupyterHub. This homework is due at the beginning of the next class and should be completed online. The student will login to the Jupyter Hub and load the homework assignment under Lesson3. Completion of this homework will solidify the understanding of the Operators and Variables lesson.
-
Lesson 4: Data Structures (Part1)
What is the motivation behind data structures?
- Discuss what a data structure is.
Discuss different types of data structures
- List
- Dictionary
Discuss creation of data structures
- Different bracket types
- Empty versus populated
Discuss adding elements to data structures
- append function
- adding with indices
Discuss accessing elements in data structures
- indexing by number
- indexing by key
- slicing
Discuss searching for elements in data structures
In Class: Various exercises that will give the student a comfort level with data structures. In these exercises the student will create, populate, search, access, and generate other information about the data structure.
Homework: Login to JupyterHub, navigate to the class materials for Lesson4 and open the notebook related to this lesson. This is a homework where you can practice data structure manipulation. Follow the instructions in the notebook.
-
Lesson 5: Data Structures (Part2)
Continue discussion of data structures
- Tuple
- Set
Discuss creation of data structures
- parentheses
- brackets
Discuss adding elements to data structures
- add
Discuss searching for elements in data structures In Class: Various exercises that will give the student a comfort level with data structures. In these exercises the student will create, populate, search, access, and generate other information about the data structure.
Homework: Login to JupyterHub, navigate to the class materials for Lesson4 and open the notebook related to this lesson. This is a homework where you can practice data structure manipulation. Follow the instructions in the notebook.
-
Lesson 6: Loop Statements (Part1)
Discuss code blocks and indentation
- what does it mean to be in a code block
Discuss the various looping constructs
- for loops
In Class: Various exercises using looping.
Homework: Login to JupyterHub and open the notebook called "Lesson6Homework". Various exercises to reinforce the concepts of looping. -
Lesson 7: Loop Statements (Part2)
Discuss the various looping constructs
- while loops
Discuss how to break out of loops early
- break statements
Discuss how to ignore elements in a loop
- continue statements
In Class: Various exercises using looping.
Homework: Login to JupyterHub and open the notebook called "Lesson7Homework". Various exercises to reinforce the concepts of looping. -
Lesson 8: Conditional Statements
Discuss flow of control and conditional statements
- if statements
- elif
- else
In Class: Various exercises using conditional statements.
Homework: Login to JupyterHub and open the notebook called "Lesson8Homework". Various exercises to reinforce the concepts of looping and flow control.
-
Lesson 9: Functions and Packages
Describe reusable code
- What is a function?
- Why do we need functions?
- What can we do with functions?
In Class: Various exercises creating functions.
Homework: Login to JupyterHub and open the notebook for Lesson9Homework. Follow the instructions in the notebook. -
Lesson 10: Review (Part1)
Review the material we have covered so far in preparation for the final exam.
- variables and operators
- data structures
Homework: Login to JupyterHub and open the notebook for Lesson10Homework. Follow the instructions in the notebook.
- Lesson 11: Review (Part2)
Review the material we have covered so far in preparation for the final exam.
- loops and conditionals
- functions and packages
Homework: Login to JupyterHub and open the notebook for Lesson11Homework. Follow the instructions in the notebook.
In Class: Various in class exercises to to reinforce what we have learned in class so far. Homework: Login to JupyterHub and open the notebook called "Lesson11Homework".
- Lesson 12: Final Exam
A short exam to reinforce the material we have learned in this course.