Courses

Ever thought of developing new software, web, numeric, or even gaming applications? Programming is a vastly expanding world where you can code a program to perform any task you can imagine. It's made up of numerous languages that formulate these programs. We are inviting you to join us this fall for our coding courses! We provide a wide range of course levels in Python, Scratch and a few other languages, and we accept people of all ages from around the world.

The Python Club’s fall cycle starts October 22th and ends December 18th. In these eight weeks, we plan to offer 18 programming courses in a wide variety of languages and levels. We are offering classes at multiple different times on either Saturdays or Sundays. After each lesson, there will be a short homework assignment. Most instructors of our club are teenagers. The price of the course is $104-$200 (for eight 60 min long classes; we accept credit/debit cards and Paypal).

Our fall schedule is now open. You can find it here.

We usually provide Scratch, Python, Data Science: machine learning and data analytics courses, but our list of courses changes each season/cycle in response to demand for that course. Each course is 8 lessons long with 1 lesson per week where each lesson is $13, making a whole course $104. As one exception, our Data Science: machine learning and data analytics course is $200 and is taught by a professor. Each class has about 5-20 students and is 60 minutes long. After each lesson, one hour worth of homework is assigned on the topics covered in class.

Fall 2022 Courses:

Scratch 1

Python 1

Python 2

Python 3

R

Data Science: machine learning and data analytics

Python: Introduction to game development

Continue reading below for more information on each course. After reading the course descriptions below, choose which one best describes the level you are at or click below to take a diagnostics test to check which class you are ready for.

Java 1

Scratch_2.0_Screen_Hello_World.png

This course will provide an introduction to the Java programming language. This class is recommended for intermediate level coders that are familiar with object-oriented-programming concepts (eg. have taken Python level 3 or C++), though others are welcome as well.

Javascript/HTML

Scratch_2.0_Screen_Hello_World.png

This course will provide an introduction to Javascript and HTML and basic CSS. The students will learn how to write simple webpages in HTML and programmatically manipulate their elements using Javascript. They will create multiple projects and webpages along the way.

The course is more focused around Javascript than webpage aesthetics and design.

The students will need to have Notepad++ for Windows or some Mac equivalent (Atom for instance) installed before class. Please also take the time to familiarize yourself with the software's use before the course.

Python 1

Scratch_2.0_Screen_Hello_World.png

This course is designed to introduce the python programming language to students. This is for people who have never seen, or may have seen very little Python. We go over basic syntax, data types, operations, functions, loops, and modules.

In the first few weeks we cover data types, operations, and strings. Then we introduce lists and how to use them. During the fourth week we go over if statements and conditions. For weeks five and six we cover for and while loops. Lastly, we cover basic usage of turtle and the random module to create simple pictures and generate random numbers, respectively.

Python 2

Scratch_2.0_Screen_Hello_World.png

This course is for students who already have a basic knowledge of python data types, operations, commands, functions, loops, and modules. In this course we further strengthen these basic tools and apply them to problems that not only use these beginner tools, but also introduce new ones. 

For the first two weeks, we make sure to properly review materials from Python 1 to be able to use them in the later weeks. After the first two weeks we cover new modules, lambda expressions, tuples, dictionaries, sets, files, errors, and exceptions. During the last class, a small project will be worked on to sum up everything that has been covered during this course.

Python 3

Scratch_2.0_Screen_Hello_World.png

This course is designed for more intermediate, but close to advanced learners. Students prepared for this course have a strong knowledge of functions, modules, loops, lists, files, dictionaries, and tuples. It centered around object oriented programming. Each class dives a little deeper into new object oriented concepts that exist not only in python but in other languages as well.

The first week starts with review of all the basic python material such as variable types, collections (lists, dictionaries, tuples, sets), if statements, for loops, while loops, and functions. The next week starts with the explanation of concepts such as class, object, instance, instance variable, and method. The third week includes class variables and class methods. The fourth week is for static variables and static methods. The fifth week is used to compare the terms instance, class, and static when defining variables and methods. Inheritance as a concept is also explained. The sixth week provides a rundown of how inheritance is used while also diving into concepts such as polymorphism, overloading, and overriding. The seventh week is used to learn how to write to and read from files by learning the difference between modes and functions that can be used to write and read. The eighth and final week is used to handle exceptions by creating try-except blocks while also learning how one can make their own exception. The point of the class is to learn object oriented programming concepts with some file and exception handling that can be used to make coding more efficient.

Python 4

Scratch_2.0_Screen_Hello_World.png

This course will include advanced topics that will help one solve problems and accomplish tasks that are more practical than theoretical. The class previous to this one was centered around the concept of object oriented programming, but this class, while still using aspects of object oriented programming will revolve heavily around advanced tools, modules, and techniques useful in practical coding. 

The first week will consist of review of the object oriented programming concepts that were taught in the previous class. The second week will be centered around file and exception handling with new concepts such as regular expressions which will be used to read files. The third week will be for the concept of logging, which can be useful when trying to find exactly where and when errors occurred as well as just printing messages for yourself as your code runs. The fourth week will be for dunder or magic methods which are methods in python that allow us to override operators and other built in types very easily. The fifth week will be for Itertools which will allow us to more effectively loop through collections such as lists. The sixth week will be for Lambda expressions which is a way to use a function without having to define one which makes some processes cleaner and simpler. The seventh week will be spent on Decorators which are functions that allow us to extend the functionality of other functions which can save a lot of time and can be extraordinarily useful when multiple functions need to be slightly changed. The eighth and final week will be spent on Generators which are functions and objects that can be used as an iterator when looking at large data files because a generator only stores one iteration at a time meaning less memory is used and the program becomes simpler to write.

If we end up covering all these topics before the eight classes are over, the remaining classes will consist of using Tkinter and Matplotlib. Tkinter is a module that allows the creation of very simple GUIs, while Matplotlib is a module that can be used to create various charts, graphs, and other visuals.

Python: Intoduction to game development

Scratch_2.0_Screen_Hello_World.png

In this course we will cover the fundamentals of game development using Pygame. You will be able to take the concepts you learn in this class and apply them to nearly any language you want to develop games in. The course will span 2 game projects: Pong, and Chrome Dino

R

Scratch_2.0_Screen_Hello_World.png

R is a language often used by data scientists and statisticians. This new course will provide an introduction to the R language and is open to both beginner and advanced programers. It does not have any prerequisites and is recommended for those interested in real-world data science and modeling.

Scratch 1

Scratch_2.0_Screen_Hello_World.png

The course is targeted for the young learners who are new to coding and game design. Students will learn fundamental programming concepts by creating animations and exciting games with interacting characters using Scratch's visual block coding language, while gaining the skills they'll need to make the jump to text-based coding.


We will code directly on the site https://scratch.mit.edu which is supported by most modern browsers.

Scratch 2

Scratch_2.0_Screen_Hello_World.png

In the first level, we got acquainted with the basic commands that are used in Scratch. At the second level, the acquaintance continues! The focus is on programming games: creating a scenario, generating levels, working out algorithms, details and elements.