Welcome to the Computational Thinking Program!
Program Overview
Program Description for students
Schedule and Team
How to get involved
Poster/ Flyer
Resources and References
Photos
Acknowledgement
Schedules from previous quarters
Computational Thinking program
In 2009, I created this program to provide middle school students (6th to 8th grade) with opportunities to discover and practice basic principles of computing and computational thinking through fun activities. The long-term goals with this program is to motivate a higher diversity and stronger participation in computing. We started running the "Computational Thinking" program at the Pittsburgh Science & Technology Academy (SciTech) in Fall 2010. SciTech is a public K6-12 school in the Oakland neighborhood (http://www.pps.k12.pa.us/pst/). Currently, we are in our third quarter at SciTech. The program is a continuation of the CS Prep program, which I originally started at the Pittsburgh Milliones 6-12 University Preparatory (UPrep) School. UPrep is located in Pittsburgh's Hill District neighborhood.
Upon my departure to UIUC, Kenny Joseph took over the leadership for this program. He is supported by a great team of volunteers. I am excited to see that this endeavor continues.
Program Description (for K6-K8 students)
Welcome to the Computational Thinking activity!
People, Puzzles and Problem Solving: Discover the fun side of Computer Science
Computational Thinking is a fundamental skill just like reading, writing, and arithmetic that everybody can benefit from in their education and everyday life. Thinking computationally helps us to develop solutions to a wide array of problems and hones our analytical capabilities, but it does not necessarily require using a computer to learn it. In this activity students discover fundamental computational thinking principles, such the concepts of binary, sorting, and algorithms, through fun activities. Some of these activities will involve computers, while others are unplugged yet hands-on. With this activity we hope to encourage a future generation of problem solvers to tackle problems in different domains by using a computational thinking approach.
(Note: if you are interested in a description for teachers or a copy of the pedagogical outline for this program contact Kenny Joseph)
Schedule and Team
We have a great team of leaders and volunteers: Kenny Joseph, Edward McFowland III and Manya Sleeper are joining us regularly. Additional volunteers have been joining us for individual sessions. More volunteers are always greatly welcome (see info on how to get involved).
Fall 2011
| Session | Date | Topic | Team |
|---|---|---|---|
| 1 | 09/08/2011 | Computer Science
Outreach Roadshow |
Jana, Kenny |
| 2 | 09/06/2011 | Using Math for Card Tricks |
Jana |
| 3 | 09/15/2011 | Think big, build big: design exercise. Concept of rapid prototyping |
Jana, Ed, Ronit Slyper |
| 4 | 09/16/2011 | Algorithms: Binary Search |
Kenny |
| 5 | 09/22/2011 | Programming in Scratch, Control Structures |
Eliane Stampfer, Jana |
| 6 | 09/23/2011 | Jana | |
| 7 | 09/30/2011 | Data Structures and Algorithms: Dominating Sets |
Kenny |
| 8 | 10/06/2011 | Cryptography: Cryptographic Protocols |
Ed |
| 9 | 10/07/2011 | Cryptography: Public Key Encryption |
Kenny |
| 10 | 10/14/2011 | Human Computer Interaction: Human Iinterface Design |
Kenny |
| 11 | 10/21/2011 | Programming in Scratch |
Kenny |
| 12 | 10/27/2011 | Algorithms:
Minimum Spanning Trees |
Ed |
| 13 | 10/28/2011 | Algorithms: Constraint Propagation and Optimization: Graph Coloring |
Jana |
| 14 | 11/03/2011 | Algorithms: Search |
Ed |
| 15 | 11/04/2011 | Using Math for Card Tricks |
Jana |
How to get involved
We are always looking for CMU student volunteers to help with a session or to lead a session. You are also welcome to design and run a session. Time: Thursdays and Fridays, 11.30 to 12.30 at SciTech. Email Kenny Joseph if you are interested in volunteering or have any further questions or comments.
Poster/ Flyer

Resources
For more information on Computational Thinking:
Jeanette Wing (2006). Computational Thinking. Communications of the ACM 49(3). http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf
Material on several of the exercises we ran can be found in:
Tim Bell, Ian H. Witten and Mike Fellows (2002). Computer Science Unplugged. http://csunplugged.org/
Photos
Spring 2011 - Finite State Automata Exercise:
- Black hat pirates are states (islands) with local knowledge about transitions (boats) between states.
- Blue hat pirates are given maps with just states and need to reverse-engineer state transitions, and find the shortest path to the goal state.
- The end: Treasure Island. Solid Gold.
This exercise is described in the CS unplugged series
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
Fall 2010 - Opening CS Roadshow
Team: Edward McFowland III, Molly Claire Hranicka, Manya Sleeper, Kenny Joseph, Jana and Carol Frieze (taking pictures).
![]() |
![]() |
|
![]() |
![]() |
![]() |
Current core team (Kenny Joseph, Jana Diesner, Edward McFowland III):

We are grateful to Women@SCS for supporting this program, to Beatrice Anghelache from CMU for the artwork, and to the Gelfand Center at CMU for providing additional support.
Schedules from previous quarters
Summer 2011
| Session | Date | Topic | Team |
|---|---|---|---|
| 1 | 04/07/2011 | Representing Information: Binary Numbers |
Jana, Ed |
| 2 | 04/08/2011 | Representing Information: Information Theory and Decision Trees |
Jana, Kenny |
| 3 | 04/15/2011 | Algorithms: Search |
Kenny |
| 4 | 04/28/2011 | Algorithms: Routing and Deadlocks in Networks |
Jana, Virginia Bedforf |
| 5 | 04/29/2011 | Basic Data Structures |
Kenny |
| 6 | 05/052011 | Representing Information: Error Detection & Parity Checking |
Jana, Ed |
| 7 | 05/06/2011 | Algorithms:
Checksums |
Jana |
| 8 | 05/12/2011 | Algorithms: Sorting Graphs, sequential vs. parallel processing |
Jana, Ed |
| 9 | 05/13/2011 | Cryptography: and/ or gates, one way function, combinatorial circuit |
Manya, Jana |
| 10 | 05/19/2011 | Cryptography: Zero knowledge methods |
Jana, Ed |
| 11 | 05/20/2011 | Cryptography: Public key encryption |
Jana, Kenny |
| 12 | 05/26/2011 | Programming in Alice: Intro |
|
| 13 | 05/27/2011 | Programming in Alice: Abstraction |
|
| 14 | 06/02/2011 | Programming in Alice: Decomposition |
|
| 15 | 06/03/2011 | Programming in Alice: Control |
Spring 2011
| Session | Date | Topic | Team |
|---|---|---|---|
| 1 | 02/03/2011 | Algorithms:
Minimum Spanning Trees |
Ed |
| 2 | 02/04/2011 | Intro to the Concept of
:Programming Languages |
Molly Hranicka, Kenny |
| 3 | 02/10/2011 | Dominating Sets |
Ed, Kenny |
| 4 | 02/11/2011 | Information Representation: Image Representation |
Molly Hranicka, Kenny |
| 5 | 02/17/2011 | The concept of Algorithms |
Ed, Jana |
| 6 | 02/18/2011 | Representing Procedures: Finite State Automata |
Jana, Kenny |
| 7 | 02/24/2011 | Alice - Intro |
Ed |
| 8 | 02/25/2011 | Kenny | |
| 9 | 03/03/2011 | Alice - Basic Programming and Data Structures |
Ed |
| 10 | 0304//2011 | Kenny | |
| 11 | 03/10/2011 | Alice - Video Game Design and Implementation |
Kenny, Jana |
| 12 | 03/11/2011 | Jana, Juergen | |
| 13 | 03/24/2011 | Programming in Alice to learn
fundamental principles of computing:
Abstraction |
Jana |
| 14 | 03/25/2011 | Programming in Alice to learn
fundamental principles of computing:
Decomposition |
Jana, Kenny |
| 15 | 03/31/2011 | Programming in Alice to learn
fundamental principles of computing: Control |
Jana |
| 16 | 04/01/2011 | Programming in Alice to learn
fundamental principles of computing:
Functions |
Jana, Kenny |
Fall 2010
| Session | Date | Topic | Team |
|---|---|---|---|
| 1 | 11/12/2010 | Computer Science Outreach Roadshow |
Ed, Kenny, Manya, Molly Hranicka, Jana, Carol Frieze |
| 2 | 11/18/2010 | Applied Computing : Lego Mindstrom and basic principles of Robotics |
Ed, Jana |
| 3 | 11/19/2010 | Kenny, Manya, Molly Hranicka, Jana | |
| 4 | 12/02/2010 | Ed, Jana | |
| 5 | 12/03/2010 | Kenny, Manya, Jana | |
| 6 | 12/09/2010 | Kenny, Manya | |
| 7 | 12/10/2010 | Representing Information: Binary Numbers |
Jana, Kenny, Manya |
| 8 | 12/17/2010 | Representing Information: Information Theory and Decision Trees |
Jana, Kenny |
| 9 | 1/6/2011 | Jana, Kenny | |
| 10 | 1/7/2011 | Algorithms: Routing and Deadlocks in Networks |
Jana, Juergen Pfeffer |
| 11 | 1/14/2011 | Elementary Data Structures and Polymorphism |
Kenny, Juergen Pfeffer |
| 12 | 1/20/2011 | Applied Computing: Programming with Scratch |
Rebecca Gulotta, Juergen Pfeffer |
| 13 | 1/27/2011 | Algorithms:
Search |
Kenny, Jana |













