Python Programming: From Games to Google
In addition to whole class, small group and one-on-one discussions, lessons are delivered in a range of online formats to support independent study and differentiate instruction based on your needs.
Python is used daily to drive the Google search engine, YouTube and applications at NASA and the New York Stock Exchange. In the previous Python course, you built games using the predefined classes and simplified framework of the MicroWorlds development environment. In this course, you will learn to build classes from scratch as they develop their own game engine. This understanding of object-oriented programming will serve them in further Python development and can readily be applied to other object-oriented languages like Java and Objective-C.
The learning objectives of the course are guided by the documents Computer Science Curriculum 2013, from the Joint Task Force on Computing Curricula. The Computing Curricula volumes are developed jointly by the ACM and IEEE Computer Society.
This page does not include anything about software development methodologies like agile or design patterns or refactoring or any of that stuff. That will come at another time on another page.
What does Python programming look like?
The video below introduces you to Python and gets you started on Python programming. The video will show you how you can run Python yourself from this web page.
Click on the below to run the Python code in the window.
Click on the above to see the code again.
You can also execute Python in a console like the one below.
How can I save or share my trinkets?
The code you write in a script trinket (any trinket with a button) has sharing and other features. The video below shows you how to make your trinket full screen and how to email it.
How do I get Python for my computer?
There are a number of different Python programming environments. Many of your programming activities will take place online.
There are also different options for running Python locally. The most important thing to keep in mind here is that the examples and lessons in this course are designed for Python.x (for example, 2.6 or 2.7), not Python 3.x. Here are suggested options:
What's going to happen in the classroom?
The theme of this course is "Games to Google". We'll spend most of our time learning about processing text, since that's a core part of Google's business.
To keep things interesting, we'll use Python's text processing power to build games. We'll also spend some time building 80's style arcade games.
What will students learn in this course?
Not all of the content below will be covered in the course. I always plan for more content than I can possibly include in a single course because I want to make sure everybody gets their fill. Not all kids will receive all of the same content
In other words, this is an explanation of the nutritional value of the class, not its flavor.
The curricular material below was selected from the Computer Science Curricula 2013
Python code can run with or without defined procedures. In addition, programmers can optionally add features found in object-oriented languages like Java or C++ (classes, fields, methods and inter-object communication) or functional programming features like those found in LISP (e.g., map(), reduce() and filter()) or Haskell (list comprehensions and generator expressions). There are also extensions of Python that support event-driven programming.
In this course, students will be engage in imperative, procedural, event-driven and object-oriented programming, with some exposure to functional programming.
Software Development Practices
Students will learn about unit testing by performing provided tests on their code. They will also engage in pair programming.
Levels of Mastery
For technical skills, different levels of mastery are expected for different outcomes. Three levels of mastery are considered:
Leone Learning Systems, Inc. (LLS) is a North Shore company that provides online courses for kids anywhere and local teaching and tutoring services for students in Chicago and the Northern Suburbs of Chicagoland. LLS also provides a free geometry software package for children age 6 and up, and free resources for teachers and parents. This site includes information about classes taught, availability for tutoring, learning activities for kids, lesson plans, and ongoing software and curriculum research and development efforts.