Outschool
Open currency, time zone, and language settings
Log In

Python Coding | Level-3 | Advanced Projects and Algorithm Design Techniques!

In this 8 week class, students will learn algorithm design techniques and logics to build some real-world projects and games!
Faruk Hasan
Average rating:
4.8
Number of reviews:
(145)
Popular
Class

What's included

8 live meetings
7 hrs 20 mins in-class hours

Class Experience

Welcome to level-3 of Python programming! In this level, you will learn how to design algorithms using Python programming concepts. 
Before you sign-up for this class, check my other two Python classes and if you think you need to work on your basics, please sign-up for level 1 and level 2 first! 

1. Level - 1: Coding in Python| Real-World Project Experience for Beginners!
2. Level - 2: Coding in Python| Logical Game Projects for Beginners!

==========> What is an algorithm? 
 An algorithm is a set of  instructions in sequence that allows to solve a problem. In Algorithm, a problem is broken down into smaller pieces that are easy to understand. Once you have smaller pieces, it becomes lot easier for the programmer to convert the pieces into an actual program. The purpose of this class is to help you break down a problem into smaller pieces so that you can code easily and at the end of this class, you will become a better problem-solver! 

==========> List of Concepts 
1. Boolean 
2. Python Dictionaries 
3. Python While Loop (nested loop)
4. Python For Loop (nested loop)
5. Python Iterators
6. Python Functions
7. Python Arrays
8. Files Input/Output
9. Tuples
10. Lists

==========> Algorithms
*** Algorithm 1: Bubble Sort
*** Algorithm 2: Merge Sort

==========> List of Projects
*** Project 1: Smartphone security pin code setup
*** Project 2: Secret message generator and decoder
*** Project 3: Tic Tac Toe 

==========> Project 1: Smartphone pin code setup
In this project, students will need to use the concepts of loop, condition, and logic to setup a secure system to unlock a smartphone. 

Summary: Smartphones have the feature to setup a pin code so that only the user can use the phone. To unlock the phone, users need to type the correct pin code. However, if you forget your pin code or some unauthorized users try to unlock your phone, your/they will only get 3/5 chances to unlock the phone. If you/they cannot unlock the phone within 3/5 chances, the phone will be locked for 30 sec. After 30 sec, you/they can again try to type in the correct pin code. However, if you/they are still typing the wrong pin code, the phone will be locked! You will then need to contact the service provider or try a different approach to unlock  the phone.

==========> Project 2: Create a Secret message and decode it!
In this project, students will need to use the concepts of Python functions to create a secret message and a key to decode the message.

Summary: To make sure hackers cannot read an important message, messages are always encrypted. Encrypted messages can only be read when they are decrypted by the end user. To encrypt a message, a key is used. For example, Let's say I am sending a message and the message says, "hi". Now using a key, the message will be changed to "kl". This new form is called a ciphertext. This simple ciphertext is created just by shifting each of the letters by 3. So, h becomes k and i becomes l. The message can be read once the receiver knows the key used to encrypt the message. In this project, you will encrypt and decrypt a message using Python. 

==========> Project 3: Tic Tac Toe Game
I am pretty sure you have played Tic-Tac-Toe game! This will be a two- player game and the players will able to play the game using the repl IDE. This game requires building a game board first. The board will be kept empty at the beginning and we will be taking inputs from the users and check the winning conditions. If no one wins, then we will display that this is a tie and ask the players whether they want to restart! 

==========> Weekly Agenda:

Week 1
======
Review the concepts taught in the 2nd part of this Python series. Students will be given some review questions to answer. We will discuss the answers in groups. 
Week 2
=====
In this week, students will learn how nested loop works. After the guided practice, they will be given some problems that can be solved using nested loop. We will review the answers to make sure everyone understands the concepts of nested loop. Homework will be assigned which require to use the concept of nested loop. 
Week 3
======
The first project will be introduced to the students. They will need to break down the problem into smaller pieces using the concept of algorithm. Once all the pieces are ready, they will need to write a pseudocode for the project. Using the pseudocode, students will start coding. Students will also start learning the basics of algorithm

Week 4
=====
In this week, students will be able to complete their first project and demonstrate it in the class. They should able to explain how pincode setup process works using the concept of Python. Student will understand how a bubble sort algorithm works. They will need to write the pseudocode. 
Week 5
======
In this week, student will start their second project. First, they will review how functions work and how functions can be used to encrypt a message. Once they understand how encryption works, they will start designing their program. 
Week 6
======
Students should able to complete their encryption and decryption project using the concepts of functions. They will also start merge sort algorithm design. 
Week 7 & 8
=========
In the last two weeks, students will be engaged in coding to finish the final project- Tic Tac Toe! In the last day of the class, they should able to explain how the project works and explain the concepts used.

Other Details

External Resources
Learners will not need to use any apps or websites beyond the standard Outschool tools.
Joined May, 2020
4.8
145reviews
Popular
Profile
Teacher expertise and credentials
Master's Degree from Loyola Marymount University
Hello Future Engineers, Scientists, and Innovators!

I'm Faruk, a passionate Software Test Engineer (SDET) and STEM instructor based in New York, with over 12 years of experience in software development and teaching. My goal is to make learning fun, interactive, and hands-on while helping students build real-world problem-solving skills.

With a Bachelor’s and Master’s in Electrical Engineering, I bring technical expertise and a deep understanding of coding, algorithms, and project development. Through engaging, project-based learning, my classes aim to equip students with the essential skills to succeed in tech careers.

Classes I Offer:

Python Classes:

- Level-1: Real-World Python Projects – Learn coding with hands-on projects that mimic real-world applications.

- Level-2: Advanced Python Projects – Dive deeper into Python with advanced project-based learning.

- Level-3: Python Algorithms – Master algorithm design and logical problem-solving in Python.

- Beginner Python Coding: Year-Long Project-Based Programming Class for Kids – A year-long class designed for younger students to learn Python through fun projects.

- Level 5: Python Flex – Algorithms and Projects with Object-Oriented Programming – Learn advanced Python techniques and object-oriented programming with flexible learning.

- Python Coding GUI Mastery: From Basics to Intermediate Tkinter (Flex, Level 4) – Dive into graphical user interfaces with Tkinter for Python.

- Python and Artificial Intelligence Projects: Build, Train, and Deploy AI Models – Learn how to build, train, and deploy AI models using Python.

Java Classes:
- Level-1: Java for Beginners – A beginner's project-based approach to learning Java.

- Advanced Java Programming – Explore algorithm design and real-world Java applications.

- Java Object-Oriented Programming – Learn Java OOP through real-world projects in software testing.

Web Development Classes:
- Beginner Web Development Bootcamp: Javascript, HTML, and CSS for Kids! – An introductory bootcamp designed for kids to learn web development using JavaScript, HTML, and CSS.

Math Classes:
- Algebra 1 for Middle Schoolers – Algebra concepts taught in a fun, approachable way for middle school students.


Why Choose My Classes?

- Real-World Experience: I apply industry knowledge to make complex concepts easy and relatable.

- Hands-On Projects: Each class is designed around projects that help students build practical coding skills.

- Engaging Learning Environment: I foster a fun and supportive environment where learning and creativity thrive.

Education:

- Bachelor’s in Electrical Engineering – Queen Mary, University of London, UK

- Master’s in Electrical Engineering – Loyola Marymount University, Los Angeles, CA

Professional Background:
With over 12 years in the tech industry, I have experience delivering cutting-edge technology services and am excited to share those insights with my students.

Hobbies:
When I’m not coding, I love traveling, cycling, reading, and gaming. My diverse hobbies inspire creativity in my teaching and make each class dynamic and enjoyable.

Join Me!
Let’s embark on a fun and educational STEM journey together! Whether you’re just starting or want to take your skills to the next level, I’m here to help you succeed.

Reviews

Live Group Class
Share

$150

for 8 classes
1x per week, 8 weeks
55 min

Completed by 20 learners
Live video meetings
Ages: 11-14
4-6 learners per class

This class is no longer offered
About
Support
SafetyPrivacyCA PrivacyLearner PrivacyYour Privacy ChoicesTerms
Financial Assistance
Get The App
Download on the App StoreGet it on Google Play
© 2025 Outschool