15-131 – Great Practical Ideas in CS


Throughout your education as a Computer Scientist at Carnegie Mellon, you will take courses on programming, theoretical ideas, logic, systems, etc. As you progress, you will be expected to pick up the so-called “tools of the trade.” This course is intended to help you learn what you need to know in a friendly, low-stress, high-support way. We will discuss UNIX, LaTeX, debugging and many other essential tools.

For more information, you should checkout the syllabus.


NOTE: We are still tweaking the schedule, and it is subject to change.

Date Reading Lecture Topic
ASAP Initial setup -
8/31 Week 1 Terminal usage
9/7 Week 2 Vim
9/14 Week 3 Vim
9/21 Week 4 Bash
9/28 Week 5 Bash
10/5 Week 6 Bash
10/12 - Midterm Exam
10/19 Week 7 Bash
10/26 Week 8 Git
11/2 Week 9 Git
11/9 CMU Advice (misc.)
11/16 Week 10 Makefiles
11/23 - Thanksgiving
11/30 Week 11 Terminal Configuration
12/7 - Final Exam


Throughout the semester, we’ll be holding extra workshops and talks outside of class, dubbed “extratations”, to explore topics that we don’t want to test you on but that you might find interesting.

Time and Location: 2:00 pm Saturday and Sunday in GHC 4102

We’ll be posting the extratation schedule here.

Date Extratation Topic
9/2 Latex
9/3 Latex
9/9 Git basics, shell tricks
9/10 Git basics, shell tricks
9/16 Emacs Basics
9/17 Emacs Basics
9/23 Advanced Emacs
9/24 Advanced Emacs
9/30 Package Managers
10/1 Package Managers
10/7 Pandoc & Midterm Review
10/8 Pandoc & Midterm Review
10/14 Technical Interviewing
10/15 Technical Interviewing
10/21 Mid-semester Break
10/28 Vim Customization
11/4 WDW
11/11 Digital Currencies
11/18 React Native
11/25 Thanksgiving
12/2 Advanced Git

How to use this site

This site is broken up into a number of Topics which are further broken up into Lessons. One topic in particular relates directly to the assignments in this class: Readings. The “Readings” topic is where you can find links to the the lessons that will be useful for solving that week’s lab.

In general, there are more lesson pages than there are labs. You will only be assessed on your knowledge of those that relate to solving the labs. The others are there as additional resources.

Copyright © 2014, Great Practical Ideas in Computer Science.