English
Log In
Project Based Python (Level 3) for High School
Class Experience
In this advanced 10-day Python programming course, students develop skills necessary for working with APIs, data analysis, socket connections, and file systems through fun and challenging project-based lessons. The tkinter library is taught to allow students to create more complex projects with graphical elements. Students are introduced to the concepts of recursion, encryption, data persistence, server-client connections, and multithreading. Projects completed in this course reinforce...
10 lessons//10 Weeks
Week 1Lesson 1GUI with TkinterStudents learn to use Tkinter to produce more professional and advanced user interfaces for future projects. Skills learned: ○ Use the tkinter library to create GUI applications with widgets ○ Create a basic text editor program ○ Read and write text files in pythonWeek 2Lesson 2Tic-Tac-ToeStudents learn to make the game of Tic-Tac-Toe in Tkinter. Skills learned: ○ Create tk buttons and assign button commands ○ Store and access data from a two dimensional grid represented as nested python lists ○ Use functions and flow controls to handle a turn based-game ○ Apply lambda functions ○ Understand how to use the destroy() function of tkinter ○ Check win states using compound conditional statementsWeek 3Lesson 3Cipher AppStudents learn about cryptography and use tkinter to make a simple cipher solver app. Skills learned: ○ Encrypt and decrypt messages with simple alphabetic ciphers ○ Understand the modulo operator ○ Design a Python class to save the state of widgets in a tkinter application ○ Save data about a Python object as a .json file ○ Read data from a .json file into a Python object to load the saved state of an applicationWeek 4Lesson 4Directory Manipulation and RecursionStudents learn to write a python script that organizes all files in a directory into labeled folders, and use recursion to further organize files within folders and subfolders. Skills learned: ○ Make directories and move files using the os module ○ Use the os module to check if items are files or directories ○ Sort files based on their file type extension ○ Apply recursion to solve problems ○ Understand the termination condition of a recursive programWeek 5Lesson 5Google APIStudents learn about the Google Developer Console and create an app that uses a Google API to add a task to the Taskboard app. Skills learned: ○ Create and manage a project in the Google Developer console ○ Configure settings for allowing users to log in with Google and authorize account access ○ Create credentials for a desktop application ○ Allow users of an application to log in with Google ○ Use the Google Tasks API to add tasks to a user’s task boardWeek 6Lesson 6AudioStudents learn how to load, manipulate, save, and play audio in Python, and create a musical scale from an audio sample to make music with pygame Sounds. Skills learned: ○ Use Python libraries to read and write .wav audio ○ Playback audio files in Python ○ Change the pitch of an audio file ○ Understand and apply the map() function ○ Make music from any .wav file ○ Create and use a pygame Sound object from an audio fileWeek 7Lesson 7TCP/IP Socket ConnectionsStudents learn to create client and server programs that connect over localhost. The server program receives any message sent and echoes it back to the client. Skills learned: ○ Understand the basics of sockets and internet communication protocols ○ Use sockets to create a client-server connection over localhost ○ Run python code from the terminal ○ Apply try-except blocks ○ Send and receive data in byte arraysWeek 8Lesson 8Multithreading and Multiple ClientsStudents expand their server programs to be able to handle multiple clients at once. Skills learned: ○ Add commands to a client and server program ○ Learn how to use multithreading to do tasks simultaneously ○ Run python code in multiple terminal windows ○ Understand the basics of how threads access variables and thread locksWeek 9Lesson 9Review and Final Project WorkshopStudents play live competitive review games to reinforce all concepts taught. Class time is dedicated to helping students while they work on final projects and answering any questions they have.Week 10Lesson 10Final Project PresentationsStudents demonstrate what they’ve learned by sharing their creation with the class. They can get feedback from peers and the instructor, and get suggestions on how to make the project even better.
- In this 10-day Python course, students explore APIs, data analysis, socket connections, and tkinter for graphical projects.
- They tackle recursion, encryption, server-client connections, and multithreading, culminating in a final project presentation and preparation for advanced Python studies like Machine Learning with Big Data.
2 - 4 hours per week outside of class
Projects
Frequency: 1-2 throughout the classFeedback: includedDetails: Projects are not mandatory but we strongly encourage students to complete them.Assessment
Frequency: includedDetails:
Reviews
Group Class
$239
for 10 classes1x per week, 10 weeks
60 min
Completed by 62 learners
Live video meetings
Ages: 14-18
4-10 learners per class