Welcome to RPG!

98-129: Recreational Programming Guidelines is a student taught course at Carnegie Mellon University.

What's the purpose of this course? Simply put, the goal of RPG is to help us begin our journey from a novice programmer to a professional programmer.

We use recreational programming = programming whatever you find interesting to achieve this goal.

Covered Materials and Prerequisites

The topics covered are as follows:


We assume that students know materials from 15-111/121, which includes:

We also assume that students can think abstractly. You should:


Finally, you should NOT take this class if one of the following applies because you might end up wasting your time.

How to pass this class!

Bad news. You need to do all 7 assignment tutorials and a final report to pass this class.

But Wait!

Good news. I'm going to try everything to help you out with this.

The reason I'm actually making you do work (even though this is a stuco, and stuco's are not supposed to have work, right?) is that I want you to learn something in this class.

Here are the 5 reasons why you should not drop this class.

1. Assignments are short.

They should take max 3 hours of work per week. I have not forgotten that RPG is 3 units!

2. Assignments come with solutions.

That's right. Instead of making you solve problems, I will provide solutions for you. You just have to follow step-by-step guidelines to complete each assignment. It's impossible to fail homework assignments unless you don't do it!

3. SEVEN free late days for EVERY assignment.

Yeah, I said it. You can turn in every assignment up to a week late (after that, talk to Shu). There's also a bonus prize at the end of the semester if you only used very few late days.

4. Help is always available.

Shu will reply to all the emails you send. He has TA'ed 21-127 in the past, and he replied to 372 emails in that semester!

Contact Information

Shu Uesugi, Instructor

Class Times/Locations