Welcome to the Computational Thinking Program!

Program Overview
Program Description for students
Schedule and Team
How to get involved
Poster/ Flyer
Resources and References
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
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
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
8 10/06/2011
Cryptography: Cryptographic Protocols
9 10/07/2011
Cryptography: Public Key Encryption
10 10/14/2011
Human Computer Interaction:
Human Iinterface Design
11 10/21/2011
Programming in Scratch
12 10/27/2011
Algorithms: Minimum Spanning Trees
13 10/28/2011
Algorithms: Constraint Propagation and Optimization: Graph Coloring
14 11/03/2011
Algorithms: Search
15 11/04/2011
Using Math for Card Tricks

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



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/


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
4 04/28/2011
Routing and Deadlocks in Networks
Jana, Virginia Bedforf
5 04/29/2011
Basic Data Structures
6 05/052011
Representing Information:
Error Detection & Parity Checking
Jana, Ed
7 05/06/2011
Algorithms: Checksums
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
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
8 02/25/2011 Kenny
9 03/03/2011
Alice - Basic Programming and Data Structures
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
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
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
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



ConText workshop and talks at DISC 2014, Korea

Archived News