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.
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: Puzzle Packs. The PuzzlePack topic is where you can find links to the PuzzlePack we will be doing in class as well as the lessons that will be useful in for solving that PuzzlePack. These are linked below for your convenience.
In general, there are more lesson pages than there are PuzzlePacks. You only have to read those not directly linked from the PuzzlePack lessons if you’re interested. You will only be assessed on your knowledge of those that relate to solving the PuzzlePacks.
Lecture Date | Topic | PuzzlePack |
---|---|---|
ASAP | Initial setup | - |
9/3 | Terminal Usage | Week 1 |
9/10 | Vim | Week 2 |
9/17 | Vim | Week 3 |
9/24 | Terminal Usage | Week 4 |
10/1 | Terminal Usage | Week 5 |
10/8 | Bash | Week 6 |
10/15 | Midterm Exam | - |
10/22 | Bash | Week 7 |
10/29 | Bash | Week 8 |
11/5 | Git | Week 9 |
11/12 | Git | Week 10 |
11/19 | Terminal Configuration | Week 11 |
11/26 | Thanksgiving | - |
12/3 | Terminal Configuration | Week 12 |
12/10 | 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.
So you’ve completed the first PuzzlePack, but you’re still pretty lost regarding what this “terminal” thing is. To get you a little more familiar with the command line environment, we’ll introduce you to some helpful tips that make using the command line more enjoyable, and then dive into some examples of commands that help out a lot when you’re at the command line as well as some that are just plain cool.
Be sure to bring a laptop!
Does vim have you feeling down in the dumps? Try emacs! You can use Ctrl-v, Ctrl-x, Ctrl-c, and all that jazz, just as you’re used to! And no modes! We’ll go over all the knowledge you need to be productive, and how you can feel right at home in the world’s most advanced text editor.
You’ve learned about Emacs? Now learn more! Learn about the neat features and futuristic programming environment that lead some to call Emacs “the thermonuclear text editor”. Plus, learn the basics of customizing Emacs for your own needs!
tmux, short for “terminal multiplexer”, is a tool for managing multiple persistent shell sessions while logged into a computer. What this means in practice is that tmux is good for a number of things, including being able to split your terminal screens and keep persistent shell sessions while logged into a remote server, even if your wifi cuts out or your computer loses power. Come learn about how you can rather simply integrate this awesome tool into your workflow!
This workshop is for you if…
In this fully-interactive workshop, you’ll take charge of converting Vim into your go-to power tool. I promise you won’t be disappointed.
In this workshop, we’ll get you up to speed with what to expect at a technical interview, how to prepare, and do a little bit of practice.
Basically since elementary school, you’ve been taught that Microsoft Word is the One True Way™. In this talk, we’ll teach you how to transform the terminal into the ultimate writing tool. We’ll be covering LaTeX and Markdown, tools which let you create things from resumes, to beautiful Math and CS homeworks, to blogs, and beyond.
When trying to figure out why your C program isn’t quite working, there’s no
more powerful tool than gdb
. We’ll go over what gdb
is, some demos of how
it’s useful, and set you loose to solve some fun puzzles using it.
Missed out on or couldn’t finish the first Vim as an IDE talk? We’re holding a second! See the full description above.
You’ll have a chance to install Linux on your personal machine (alongside whatever operating system you currently have) with lots of help nearby.
Click above for the required setup instructions.
We’ll be covering some topics that should help you do better on the final exam. Feel free to come even if you plan on skipping the final (because you have enough attendance points!).
Copyright © 2014, Great Practical Ideas in Computer Science.