15110: Principles of Computing - Spring 2013

RESOURCES

Consult this page for notes on using Ruby, ways of getting extra help on the course material, and links to learn more about the field of computing.

Using Ruby

Look here for notes on using Ruby and the labs in your textbook.

Textbook Website - includes manuals for Ruby setup in Windows, MacOS, and Linux
Ruby in Twenty Minutes - learn some basics in 20 minutes!
Learn to Program (2nd Edition) by Chris Pine - beginner's guide to programming in Ruby
Ruby Essentials - a concise reference for all things Ruby

Course Tools

Look here for other tools and resources we use in class.

Light-Bot 2.0 - program the robot to solve a variety of challenges
Instructions for Electronic Handin
RubyLabs Setup
Remote Access Instructions
gedit - the text editor we use in lab, installers for Mac OS X and Windows are available
Ruby reference sheet - helpful reminder for lab exams
Cellular Automaton Simulator in Ruby written by Dave Toutrezky

Sample Exams and Extra Exercises

Sample Final Exam - Fall 2012 (without answers)
Sample Final Exam - Fall 2012 (with answers)
Lab Exam 2 (Version D)-- Fall 2012
Lab Exam 2 (Version C)-- Fall 2012
Lab Exam 2 (Version B)-- Fall 2012
Lab Exam 2 (Version A)-- Fall 2012
Written Exam 3-- Fall 2012
Written Exam 2 -- Spring 2012 Sample answers
Written Exam 1 -- Fall 2012 Sample Answers
Lab Exam 1(Fall 2012) Sample Answers (Fall 2012)
Ruby drills by Dave Touretzky.

Extra Help

Tutoring by 15110 CAs: Visit the tutoring calendar to see which CAs are available at what times (click to see the details) and make an appointment by email. You can cancel by emailing the CA if it is no less than 12 hours notice of the tutoring time but you should not skip an appointment. We will keep track of students who skip appointments and not allow them to use this service if they have done this twice. Note that tutoring is intended to go over course material that you are having trouble with, not for quick help with the assignments.


Piazza Logo
We have set up an account with Piazza, a new online tool for you to post and answer questions about course material. You should receive an email invite. Participation in Piazza is optional, and you can set the frequency of messages from Piazza individually. Some of our course assistants and the instructors are monitoring Piazza regularly. Please do NOT post assignment answers or Ruby code you are using for your assignments. The questions should be about course material or general questions about the assignments.

Academic Development Logo
Academic Development on campus also offers additional tutoring services for 15-110 and other introductory courses. Visit their website for more information.

Videos/Websites Related to Lectures

concept videos

This is a collection of low budget videos that can be helpful in clarifying some things in this course. Please make comments on the video so they can be addressed in the next iteration.


Getting started

conditionals/iterations

counting

seaching

recursion

External Videos

NOTE: Since these links all come from web sources, some links may fail due to a video or file being moved or removed.

Abacus video (Digital calculator in Singapore)
Napier's Bones: How They Work
Stepped Drum (used in Liebniz' machine)
Jacquard Loom Walkthrough - view first 2 minutes and start at 5:45 for loom demonstration
Difference Engine in operation
Hollerith tabulating machine
The HP-15C RPN Calculator as a Ipad App!
RGB Color Table
Elevated (Mountain Fractals in 4KB)
Stephen Wolfram: Computing a Theory of Everything (TED2010 Conference)
Conway's Game of Life
Quantum Computing

Articles

Computational Thinking by Jeannette Wing (Article in Communications of the ACM 2006).
ENIAC: A Computer is Born - C|NET News Article
Algorithms Add Up To Big Business - Pittsburgh Post-Gazette, 4/1/07
Why Software Fails by Robert N. Charette (Article in IEEE Spectrum, September 2005).
On Computable Numbers, with an Application to the Entscheidungsproblem, by Alan Turing
Computing Machinery and Intelligence by Alan Turing
Quantum Computing with Molecules by Neil Gershenfeld and Isaac L. Chuang (Article in Scientific American, June 1998)
Computing with DNA by Leonard M. Adleman

Additional Computing Resources

Computers and computational thinking have influenced the sciences, humanities, economics, and many other fields. With the aid of computation, many fields have made tremendous strides recently. Check out these news sources about how computation makes a difference in the world today!

Computer History Museum - take a virtual field trip to Silicon Valley

WIRED News
Technology Review
CNET's Technology News
Government Computer News
CS4FN - Computer Science For Fun