15110 Principles of Computing

Principles of Computing

FALL 2012



Jump Image Fast Links: Lab Sections and Course Assistants | Lab Assignments

Each lab will be posted here for your reference along with sample answers after the labs are all over. Labs participation counts for 5% of your grade. There are 12 labs so you can miss 2 labs without penalty. This does not include the lab exam dates (see below). If you miss a lab, you are responsible for understanding the material you missed. You must go to the lab for your assigned section in order to get credit for lab participation.

Two lab exams will be given (see schedule below) that will test your ability to write simple Ruby programs given a limited amount of time and resources. No makeups will be allowed except as allowed in the official course policy. The lab exams are worth a total of 10% of your grade.


In order to receive credit for lab, you must attend your lab section and submit your work during that lab. You cannot attend another lab section, and you cannot submit from elsewhere (e.g. your dorm room). We want you to go to lab since you will get additional information from your course assistant that will help you, and you will be able to work with other students to share ideas and learn how to solve problems more effectively. It is also important to go to lab and use the Linux machines since your lab exams will be run on these machines so you need to familiarize yourself with this environment.

If you go to a different lab section or submit the work early or late, you will receive a 0. You are allowed to drop 2 labs without penalty, so please do not ask for makeups. Look ahead at your schedule to see if you will be missing a lab due to another event and plan on dropping that lab.

Lab Sections and Course Assistants

You are required to go to your assigned lecture and lab. Since part of your course grade depends on lab participation, you must go to your assigned section to get lab credit. To email your CA directly, you can send mail to their andrew ID "at" (@) andrew.cmu.edu .

A R 9:30AM-10:20AM GHC 5201 Lawrence Tsang ltsang
B R 10:30AM-11:20AM GHC 5201 Eric Gottlieb egottlie
C R 11:30AM-12:20PM GHC 5201 Alekhya Gampa agampa
D R 12:30PM-1:20PM GHC 5201 Yihuan Zhou yihuanz
E R 1:30PM-2:20PM GHC 5201 Michael Bautista mbautist
F R 2:30PM-3:20PM GHC 5201 Carrie Purta cpurta
G R 3:30PM-4:20PM GHC 5201 Forrest Richmond rrichmon
H R 9:30AM-10:20AM GHC 5205 Michael Hansen mhansen1
I R 10:30AM-11:20AM GHC 5205 Avia Weinstein aweinste
J R 11:30AM-12:20PM GHC 5205 Patrick Yurky pyurky
K R 12:30PM-1:20PM GHC 5205 Eshan Chordia echordia
L R 1:30PM-2:20PM GHC 5205 Andrew Yee ajyee
M R 2:30PM-3:20PM GHC 5205 Jeffrey Yan jyan
N R 3:30PM-4:20PM GHC 5205 Vishal Jeet vjeet

Lab Assignments

Instructions for Electronic Handin

Lab 1 Thursday, August 30 Lightbot Sample Answers
Lab 2 Thursday, September 6 Intro to Ruby and irb Sample Answers
Lab 3 Thursday, September 13 Arrays and Loops Sample Answers
Lab 4 Thursday, September 20 More Searching and Sorting Sample Answers
Lab 5 Thursday, September 27 Debugging Practice Sample Answers
Lab 6 Thursday, October 4 Fractals Sample Answers
Lab 7 Thursday, October 11 Hash Tables Sample Answers
LAB EXAM 1 Thursday, October 18    
Lab 8 Thursday, October 25 Bitmap Images Sample Answers
Thursday, November 1 Exam 2 Review
Lab 9 Thursday, November 8 Graphics in Ruby Sample Answers
Lab 10 Thursday, November 15 Programming a Game Sample Answers
  Thursday, November 22 NO LAB - Thanksgiving Break
Lab 11 Thursday, November 29 TBA Sample Answers
LAB EXAM 2 Thursday, December 6