CS201: Introduction to Python programming

  • Coding & Tech (Ages 7 - 18)
  • Hardware/Software/Books Required?

    You will need a PC or Mac computer as well as a headphone with a mic.

Course Description

An introduction to programming basics through the Python language, a powerful yet easy to learn programming language. 

The Python programming language has quickly become one of the most utilized programming languages over the past few years in a variety of fields, including artificial intelligence and data science. Students will be introduced to Python and general programming concepts through a combination of interactive lessons and the creation of multiple game projects that will reinforce the students’ Python knowledge as well as program design fundamentals. 

Scope:
Getting Started with Python Programming
● Running Code in the Interactive Shell
● Input, Processing, and Output
● Editing, Saving, and Running a Script
● Behind the Scenes: How Python Works
● Detecting and Correcting Syntax Errors
● Data Types
● String Literals
● Escape Sequences
● String Concatenation
● Variables and the Assignment Statement
● Program Comments and Docstrings
● Numeric Data Types and Character Sets
● Integers
● Floating­Point Numbers
● Sets
● Expressions
● Arithmetic Expressions
● Mixed­Mode Arithmetic and Type Conversions
● Using Functions and Modules
● Calling Functions: Arguments and Return Values
● Program Format and Structure
● Running a Script from a Terminal Command Prompt
● Definite Iteration: The for Loop
● Executing a Statement a Given Number of Times
● Count­Controlled Loops
● Augmented Assignment
● Loop Errors: Off­by­One Error
● Traversing the Contents of a Data Sequence
● Specifying the Steps in the Range
● Loops That Count Down
● Selection: if and if­else Statements
● The Boolean Type, Comparisons, and Boolean Expressions
● if­else Statements
● Multi­way if Statements
● Logical Operators and Compound Boolean Expressions
● Short­Circuit Evaluation
● Testing Selection Statements
● Conditional Iteration: The while Loop
● The Structure and Behavior of a while Loop
● Count Control with a while Loop
● The while True Loop and the break Statement
● Random Numbers
● Loop Logic, Errors, and Testing
STRINGS AND TEXT FILES
● Accessing Characters and Substrings in Strings
● The Structure of Strings
● The Subscript Operator
● Slicing for Substrings
● Testing for a Substring with the in Operator
● Data Encryption
● Strings and Number Systems
● The Positional System for Representing Numbers
● Converting Binary to Decimal
● Converting Decimal to Binary
● Conversion Shortcuts
● Octal and Hexadecimal Numbers
● String Methods
● Text Files
● Text Files and Their Format
● Writing Text to a File
● Writing Numbers to a File
● Reading Text from a File
● Reading Numbers from a File
● Accessing and Manipulating Files and Directories on Disk

Optional Advanced Topics
LISTS AND DICTIONARIES
● List Literals and Basic Operators
● Replacing an Element in a List
● List Methods for Inserting and Removing Elements
● Searching a List
● Sorting a List
● Mutator Methods and the Value None
● Aliasing and Side Effects
● Equality: Object Identity and Structural Equivalence
● Using a List to Find the Median of a Set of Numbers
● Defining Simple Functions
● The Syntax of Simple Function Definitions
● Parameters and Arguments
● The return Statement
● Boolean Functions
● Defining a main Function
● Dictionaries
● Dictionary Literals
● Adding Keys and Replacing Values
● Accessing Values
● Removing Keys
● Traversing a Dictionary
DESIGN WITH FUNCTIONS
● Functions as Abstraction Mechanisms
● Functions Eliminate Redundancy
● Functions Hide Complexity
● Functions Support General Methods with Systematic Variations
● Functions Support the Division of Labor
● Design with Recursive Functions
● Defining a Recursive Function
● Tracing a Recursive Function
● Using Recursive Definitions to Construct Recursive Functions
● Recursion in Sentence Structure
● Infinite Recursion
● The Costs and Benefits of Recursion
● Gathering Information from a File System
● Managing a Program’s Namespace
● Module Variables, Parameters, and Temporary Variables
● Scope
● Lifetime
● Default (Keyword) Arguments
● Higher­Order Functions (Advanced Topic)
● Functions as First­Class Data Objects
● Mapping
● Filtering
● Reducing
● Using lambda to Create Anonymous Functions
● Creating Jump Tables
SIMPLE GRAPHICS AND IMAGE PROCESSING
● Simple Graphics
● Overview of Turtle Graphics
● Turtle Operations
● Object Instantiation and the turtle Module
● Drawing Two­Dimensional Shapes
● Taking a Random Walk
● Colors and the RGB System
● Setting up a cfg File and Running IDLE
● Image­Manipulation Operations
DESIGN WITH CLASSES
● Getting Inside Objects and Classes
● Methods
● Input of Objects and the try­except Statement
● Structuring Classes with Inheritance and Polymorphism
● Inheritance Hierarchies and Modeling
GRAPHICAL USER INTERFACES
MULTITHREADING, NETWORKS, AND CLIENT/SERVER PROGRAMMING

Project Concepts Taught
Rock-Paper-Scissors Game
Conditional statements
Random number generation
Creation of helper functions
Use of different loop types
Tic-Tac-Toe Game
Multidimensional Lists
Nested For loops
Validating user input
Hangman Game
Use of the Set data structure
Advanced conditional structures
Complex function design

FAQ

You will need a PC or Mac computer as well as a headphone with a mic.

Please contact us through email at admin@coding4youth.org

There is only ONE free make up lesson available. Please coordinate with instructors on scheduling.

Our instructor team includes students and graduates of Bachelor’s and Master’s Degree in Computer Science or Computer Engineering from Accredited Institutions.