Syllabus

Overview

The purpose of GPI is to teach you all kinds of cool things you never knew you could do with a computer, and make you super comfortable with using the Unix systems used in 15-122, 15-213, and many other CS courses. Our goal for the course is for you to have a fun break from your other classes, and an opportunity to see some real uses for what you’re learning about.

We will meet on Thursdays from 3:00 - 4:20 in WEH 7500. Each instructor and TA will also be holding office hours. Times for office hours will be announced on Piazza.

Homework

Each week you will get a short reading about the next week’s topic on the schedule. Every week except the first, will have a “QuickCheck” to accompany the reading. QuickChecks will only ask you to type in a few commands from the reading or answer a few easy questions.

QuickChecks are graded based on completion, as you will have as many guesses as you need to complete them. You will have the entire week to read and complete the QuickCheck, and they should only take a few minutes to finish.

Lecture

The first 15 minutes of lecture will be a discussion of the reading or a demo, a TA will go over the content of the reading, give some sort of demo, and answer questions.

After the talk you will solve a series of puzzles on that week’s topic. Each set of puzzles is called a PuzzlePack. PuzzlePacks are composed of terminal/Unix puzzles involving typing in the right command, writing a simple script, or reading some code to figure out what it’s doing. Almost all PuzzlePacks must be completed on Andrew Unix.

The PuzzlePacks are designed to be completed by the end of class, but if you don’t finish, you will have all of the following week to complete it. If you need more time for any reason just ask for an extension. We are fairly lenient with giving extensions; we’d much rather have you complete the PuzzlePack and learn than not learn.

Office Hours

At office hours you can ask TAs for help with PuzzlePacks or help understanding that week’s reading and subsequent quiz.

Extratations

While we’ll try to cover as much as we can in class, there’s tons of cool, more complex, topics we simply won’t have time to cover. For those who are interested in taking their knowledge of the command line further, we’ll hold a number of optional workshops called “extratations” (a portmanteau of “extra” and “recitation”).

We’re still working on finalizing the list of topics, but we’ll be sure to put them up as soon as we know what they are!

Tests

There will be an in-class midterm exam which will have questions similar to those on the QuickChecks. It will only cover material from the first half of the course. There will also be a final exam, similar in style to the midterm exam but covering material from the entire semester.

Grading

The grading breakdown will be as follows:

  • 70% PuzzlePacks
  • 10% QuickChecks
  • 10% Midterm Exam
  • 10% Final Exam

Alternatively, to encourage people to attend the extratations, anyone who attends at least 3 extratations will be able to either

  • receive credit on the final exam equal to what was received on the midterm (thus not having to take the final), or
  • receive credit for both the midterm and final exam equal to the max of what was received on the midterm and final exam.

Collaboration Policy

On both QuickChecks and PuzzlePacks, you may…

  • use manual (man) pages for commands in question.
  • use Google to learn how to use a command/solve a problem.
  • ask TAs for help.

In addition, the following policies apply to their respective categories.

PuzzlePacks

Students may point peers to particular commands, but should refrain from describing a solution to a problem that uses specific commands’ arguments or combinations of commands. The purpose of PuzzlePacks is to learn by solving. If you solve the PuzzlePack and then explain the solution to others, they haven’t learned!

QuickChecks

You may not interact with or ask other students for help. These should be super simple, so if you feel like you’re struggling with them, let the course staff know because we’re probably making them too hard.

Help

If at any point during the semester you’re having trouble with anything in the course or want to know more about a topic, please do not hesitate to email the course staff or ask one of us in person! We’re here to help you and want you to learn!

Copyright © 2014, Great Practical Ideas in Computer Science.