© Coding4Youth.org. All rights reserved.
CS201: Intro to Python
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. Below is just tentative class content. Class paces are individual based. 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 ● FloatingPoint Numbers ● Sets ● Expressions ● Arithmetic Expressions ● MixedMode 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 ● CountControlled Loops ● Augmented Assignment ● Loop Errors: OffbyOne Error ● Traversing the Contents of a Data Sequence ● Specifying the Steps in the Range ● Loops That Count Down ● Selection: if and ifelse Statements ● The Boolean Type, Comparisons, and Boolean Expressions ● ifelse Statements ● Multiway if Statements ● Logical Operators and Compound Boolean Expressions ● ShortCircuit 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 ● HigherOrder Functions (Advanced Topic) ● Functions as FirstClass 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 TwoDimensional Shapes ● Taking a Random Walk ● Colors and the RGB System ● Setting up a cfg File and Running IDLE ● ImageManipulation Operations DESIGN WITH CLASSES ● Getting Inside Objects and Classes ● Methods ● Input of Objects and the tryexcept 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.