Programming classes taught by real programmers.
Join our email list to be notified when registration opens, and of upcoming class schedules.
For more information email firstname.lastname@example.org
Introduction To Computer Programming With Python, Level 1
The class is a 15 weeks course (over 4-5 months), taught by a software developer. We will cover the basics of "real" computer programming in Python, an easy to learn language that is used today in many companies. The children will learn how to read, write, and modify basic Python programs. We will learn about variables, loops, if-then-else statements, and functions. Some of the topics we will cover include how to use Python to do math problems, draw pictures, write a quiz, make secret messages, and do cool things in Minecraft (Pi Edition).
Previous typing experience is very beneficial. Previous programming experience is not expected. The class material is challenging and is best suited for students who like computers and enjoy problem solving.
Programming With Python, Level 2
** This class is for students who have completed Introduction To Computer Programming With Python, Level 1
Programming with Python Level 2 will continue where the Introduction to Computer Programming Python Class left off. Initially we will do a review of what was covered last year. After that we will continue to introduce new concepts such as dictionaries, for loops, ranges, sorting, and reading/writing files. We will make heavier use of functions and will introduce some basic object oriented programming concepts. Some of the projects we are going to program include Snake, Xs and Os, Memory Game and Minecraft Maze Game.
Programming With Python, Level 3
** This class is for students who have completed Programming With Python, Level 2.
We will continue where the Programming With Python Level 2 Class left off. Initially we will do a review of what was covered last semester. After that we will continue to introduce more concepts like sorting, searching for data in a CSV file, and more about object oriented programming. The students will also start solving simple problems using their programming skills. Some of the programs we will be writing include a matching pairs game, a sink your ship game, an image based puzzle, and a MIDI music player.
Python / Web Programming, Level 4
** This class is for students who have completed Programming With Python, Level 3.
This class continues where Programming with Python Level 3 left off. We will begin learning how to use Python to write basic web applications on the internet. Students will get an overview of how internet websites work, and we will cover some details about HyperText Markup Language (HTML). Students will write Python programs to generate HTML, and then view it in their web browser. Students will learn about web forms and different kinds of input controls that can be used. They will write their own web forms and Python programs to process the form data. Students will learn about web servers, and execute their web applications using a web server hosted on their own Raspberry Pi. We will also cover some unix terminal commands and basic file permissions operations.
Python / Web Programming, Level 5
** This class is for students who have completed Python / Web Programming, Level 4.
In this class we will practice our Python, HTML and CSS skills, and use them to write simple dynamic web applications. We will learn about Web Hosting, DNS and SFTP. Students who have permission from their parents can set up an external website. Students will understand what internet cookies are, and we will use them in our programs. We will cover more Unix terminal commands that will work on Raspbian. Students will also write more Python programs from pseudo-code. Internet connectivity will be required for this class.
Programming With Java, Level 1
** This class is for students who have completed Python / Web Programming, Level 4 or Level 5.
We will cover the basics of Java, how it is different from Python, and what the two languages have in common. We will learn about the Java Virtual Machine (JVM), and what compiling a program means. Students will learn more about implementing and debugging algorithms to solve problems, and we will specifically focus on object oriented software development strategies. Students will use Interfaces and Classes, and understand the differences between them. They will learn to use the different levels of visibility that Java allows when writing their programs. We will explore some of Java's APIs for input and output, as well as its support for data structures such as Lists, Maps, and Trees. Students will become familiar with JavaDoc, and how to search the Java documentation to answer their own Java API questions.