Logo

Mastering CS with Python L2

Course Description

In this course, students dive deep into computer science principles using the Python language. They explore advanced topics like Object-Oriented Programming, recursion, and complex data structures including NumPy arrays. The curriculum covers essential software engineering practices such as the Software Development Life Cycle (SDLC), Agile development, and version control with GitHub. Students also gain practical skills in database management using SQL and cryptography. Through hands-on projects like game development and banking systems, learners develop robust problem-solving abilities and prepare for professional-level coding challenges.

Course Learning Goals
  • Master Object-Oriented Programming concepts including classes, objects, inheritance, and polymorphism.

  • Implement advanced data structures such as dictionaries, sets, and NumPy arrays for efficient data manipulation.

  • Apply collaborative software development practices using GitHub, Agile methodologies, and the SDLC.

  • Design and analyze algorithms for sorting, searching, and graph traversal like Dijkstra's algorithm.

  • Develop secure applications by understanding cryptography principles, including RSA encryption and decryption.

  • Construct and manage relational databases using SQL queries, normalization, and joins.

  • Utilize recursion to solve complex mathematical and logic problems efficiently.

  • Build interactive applications and games using GUI libraries like PySimpleGUI and Turtle.

Lessons by Units
Classes, Objects and Functions
  • Class and Objects

  • Higher Order Functions

  • Modules, Packages, and Libraries

Collaborative Development
  • Planning and Collaboration

  • Designing the Game Environment

  • Adding Paddle to the Game

  • Game Completion

Data Structure
  • Dictionaries and Sets

  • Arrays

  • NumPy Arrays

  • Comparison of Data Structures

Algorithms
  • Algorithm Design and Applications

  • Sorting Alogrithms

Program Development with Python
  • Programming Languages

  • Caesar Cipher

  • Breaking the Cipher

  • Testing the Code

  • Debugging Strategies

Recursion
  • Recursion

  • Applications of Recursion

Cryptography
  • Requirement Analysis, and Design

  • Github and Project Management

  • Git Workflows

  • Implementation

  • Testing, Deployment, and Maintenance

Software Development Cycle
  • Requirement Analysis, and Design

  • Github and Project Management

  • Git Workflows

  • Implementation

  • Testing, Deployment, and Maintenance

Object Oriented Programming
  • Inheritance and Polymorphism

  • Banking Classes

  • Inheritance

  • Encapsulation and Method Overriding

Agile Development
  • Agile Foundations, GitHub, and User Stories

  • Sprint Planning, GUI Basics, and GitHub Branching

  • Project Development

Databases
  • Introduction to Databases

  • Structured Query Languages

  • Databases

  • Database Normalization and Anomalies

  • Advanced SQL Concepts: Joins and Views

Applications of Algorithm
  • Graph Theory Basics

  • Dijkstra's Algorithm

Capstone: AI Gaming Agent
  • Tic Tac Toe Game

  • Playing With the Computer

  • The Minimax Algorithm

  • Tic Tac Toe AI Agent

Classes, Objects and Functions
  • Class and Objects

  • Higher Order Functions

  • Modules, Packages, and Libraries

Collaborative Development
  • Planning and Collaboration

  • Designing the Game Environment

  • Adding Paddle to the Game

  • Game Completion

Data Structure
  • Dictionaries and Sets

  • Arrays

  • NumPy Arrays

  • Comparison of Data Structures

Algorithms
  • Algorithm Design and Applications

  • Sorting Alogrithms

Program Development with Python
  • Programming Languages

  • Caesar Cipher

  • Breaking the Cipher

  • Testing the Code

  • Debugging Strategies

Recursion
  • Recursion

  • Applications of Recursion

Cryptography
  • Requirement Analysis, and Design

  • Github and Project Management

  • Git Workflows

  • Implementation

  • Testing, Deployment, and Maintenance

Software Development Cycle
  • Requirement Analysis, and Design

  • Github and Project Management

  • Git Workflows

  • Implementation

  • Testing, Deployment, and Maintenance

Object Oriented Programming
  • Inheritance and Polymorphism

  • Banking Classes

  • Inheritance

  • Encapsulation and Method Overriding

Agile Development
  • Agile Foundations, GitHub, and User Stories

  • Sprint Planning, GUI Basics, and GitHub Branching

  • Project Development

Databases
  • Introduction to Databases

  • Structured Query Languages

  • Databases

  • Database Normalization and Anomalies

  • Advanced SQL Concepts: Joins and Views

Applications of Algorithm
  • Graph Theory Basics

  • Dijkstra's Algorithm

Capstone: AI Gaming Agent
  • Tic Tac Toe Game

  • Playing With the Computer

  • The Minimax Algorithm

  • Tic Tac Toe AI Agent

Classes, Objects and Functions
  • Class and Objects

  • Higher Order Functions

  • Modules, Packages, and Libraries

Collaborative Development
  • Planning and Collaboration

  • Designing the Game Environment

  • Adding Paddle to the Game

  • Game Completion

Data Structure
  • Dictionaries and Sets

  • Arrays

  • NumPy Arrays

  • Comparison of Data Structures

Algorithms
  • Algorithm Design and Applications

  • Sorting Alogrithms

Program Development with Python
  • Programming Languages

  • Caesar Cipher

  • Breaking the Cipher

  • Testing the Code

  • Debugging Strategies

Recursion
  • Recursion

  • Applications of Recursion

Cryptography
  • Requirement Analysis, and Design

  • Github and Project Management

  • Git Workflows

  • Implementation

  • Testing, Deployment, and Maintenance

Software Development Cycle
  • Requirement Analysis, and Design

  • Github and Project Management

  • Git Workflows

  • Implementation

  • Testing, Deployment, and Maintenance

Object Oriented Programming
  • Inheritance and Polymorphism

  • Banking Classes

  • Inheritance

  • Encapsulation and Method Overriding

Agile Development
  • Agile Foundations, GitHub, and User Stories

  • Sprint Planning, GUI Basics, and GitHub Branching

  • Project Development

Databases
  • Introduction to Databases

  • Structured Query Languages

  • Databases

  • Database Normalization and Anomalies

  • Advanced SQL Concepts: Joins and Views

Applications of Algorithm
  • Graph Theory Basics

  • Dijkstra's Algorithm

Capstone: AI Gaming Agent
  • Tic Tac Toe Game

  • Playing With the Computer

  • The Minimax Algorithm

  • Tic Tac Toe AI Agent

Course Information

Feature

Grade Level:

High School

Feature

Grade Level:

High School

Feature

Grade Level:

High School

BookMark

Unit:

13

BookMark

Unit:

13

BookMark

Unit:

13

BookMark

Lessons:

46

BookMark

Lessons:

46

BookMark

Lessons:

46

Watch

Contact Hours:

126 Hours

Watch

Contact Hours:

126 Hours

Watch

Contact Hours:

126 Hours

Watch

ISBN:

978-1-68495-245-8

Watch

ISBN:

978-1-68495-245-8

Watch

ISBN:

978-1-68495-245-8

Watch

Course ID:

VCR099

Watch

Course ID:

VCR099

Watch

Course ID:

VCR099

Book
Tools and Programming Languages:

Python, SQL, GitHub, PySimpleGUI, Turtle, NumPy, NetworkX, Pytest, PyInstaller

Book
Tools and Programming Languages:

Python, SQL, GitHub, PySimpleGUI, Turtle, NumPy, NetworkX, Pytest, PyInstaller

Book
Tools and Programming Languages:

Python, SQL, GitHub, PySimpleGUI, Turtle, NumPy, NetworkX, Pytest, PyInstaller

Cap
Instructional Models:

Project-based learning, Inquiry-based learning, Direct Instructions, Gradual Release of Responsibility

Cap
Instructional Models:

Project-based learning, Inquiry-based learning, Direct Instructions, Gradual Release of Responsibility

Cap
Instructional Models:

Project-based learning, Inquiry-based learning, Direct Instructions, Gradual Release of Responsibility

Material
Supported Learning Models:

Classroom, Blended, Hybrid, Synchronous, Asynchronous

Material
Supported Learning Models:

Classroom, Blended, Hybrid, Synchronous, Asynchronous

Material
Supported Learning Models:

Classroom, Blended, Hybrid, Synchronous, Asynchronous