Overview

Object Oriented Computer Programming with Smalltalk

Are you completely new to programming? Do you want to have fun learning to program?

Squeak is a modern open-source development environment for the classic Smalltalk-80 programming language. Smalltalk was one of many object-oriented programming languages based on Simula (which was considered the first Object Oriented Language). Smalltalk is also one of the most influential programming languages. Virtually all of the object-oriented languages that came after—Flavors, CLOS, Objective-C, Java, Python, Ruby, and many others—were influenced by Smalltalk.

“Squeak: Learn Programming with Robots” will teach you core programming concepts based on simple, visual problems that involve manipulation of [software] robots, or “turtles.” You will learn basic programming concepts like loops, abstractions, composition, and conditionals.

Each chapter is structured so that it can be turned into a one or two-hour lab session. And while the structured content explains solid principles of object-oriented programming, you’ll just have fun going through the sequence of easy examples with the turtle.

“Squeak by Example” is intended for both students and developers, and will guide you gently through the language and tools by means of a series of examples and exercises.

We will also discuss Online Safety and Etiquette and perhaps a little Computer History.

Student Work: Computer programing is historically an individual, creative endeavor. However, we’ve all had the experience of trying to solve a problem and while still explaining it to another person, we suddenly realize the solution. It is additionally recognized, since Computer Programming is still by and large, a creative process, the act of teaching is in fact an advanced form of learning. By teaching another something we understand intuitively, we gain a more solid, deeper understanding of the concept ourselves. Pair Programming is a modern, Agile technique that builds this into everyday programming. As such, while each student will be expected to complete their own work, students are encouraged to collaborate and mentor each other.

Required Student Resources:

Laptop: Students will need their own laptop. Windows, Mac OS and Linux should all work equally well. Tablets/phones will not work for this. I’m not sure if Android/Chromebooks will work. I would assume not, but tell me if anyone needs this and I can try looking into it.

Development Environment: The Squeak Smalltalk environment itself is free to download. I will have it available on portable media. Those who wish to jump ahead may download directly from the Squeak website. We will be using versions 3, 4 and 5 of the Squeak environment (https://squeak.org/downloads/).

Curriculum: Project Based

Textbooks:

“Squeak – Learn Programming with Robots”

“Squeak By Example”

Audience: The class should be suitable for both Middle and High School students. I plan to have a variety of texts and resources available to accommodate different paces and skill levels.