Reaction for: Carnegie Mellon 15-127 by Matt Amdur

Background Information

Basic Course Info:

CS 15-127 is Carnegie Mellon's introductory CS course. It is taught in C++, and on UNIX platforms. It is broken down into many different sections, presumably smaller groups of people than a regular lecture. The grade for the course is based on two separate grades, the course grade and the mastery exam grade. The course grade is based on quizzes, homework, a miny-mastery exam, and three in class exams. The mastery exam consists of a four-hour on-line exam. The following matrix determines final grades:

Course Grades are on the left, Mastery Exam grades are on top.





D C D D Retake

(Courtesy of CMU's website)

Nice Things Outside of the Assignment:

You can have a homework partner. You can work with another person in the class, or in another section, on the homework. This means that it is open collaboration for homework, meaning that anything short of copying pretty much goes. I thought it was interesting that the homework, which includes all the programming assignments, could be done in pairs with open collaboration.

Not So nice Things:

There are no graphics. Most of the programs center around performing functions on numbers. The only graphical thing they get into is using ASCI to draw rectangles. Overall, many of the programming assignments looked boring and tedious. Examples include reading an array from a file and printing it forwards and backwards, taking in a number in word form and writing out its numerical equivalent, and drawing rectangles using *'s and other characters.

Thing to Steal

Mastery Exam

Not So Silly Premise

It can be very difficult to discern what is taught well and what is taught poorly. Time commitments, personal matters, and other courses can affect student's performances on programs, and it can be very difficult to tell what concepts still aren't fully understoodd. To better help us understand what we teach well and what we need to improve, we've decided to administer a small test to see how will you understand the material we have taught you.



There are three possible grades: honors, credit, no credit.

Concepts Covered

Assingment Specifications

The mastery exam is a test of what you have learned this semester. The test consists of two hours of different problems that you are required to solve without the help of your TA's, fellow students, and really smart pets.

The exam will cover such topics as Inheritance, Polymorphism, Design Patterns, and anything else covered this semester (check the syllabus). The problems will consist of either written answers, or they will entail writing actual code.

You will be able to compile and test all the code that you write, you will also be able to look at a Java syntax guide at your leisure. You will not, however, be permitted to look at lecture slides, books, notes, or any other resources.

If you have paid attention this semester, the test will not be difficult. It is designed to see how well you understand the material and concepts presented. We are not interested in seeing how much Java you've learned, but if you can apply the concepts we have tried to teach you.

The exam will be broken up into two sections: a written section and a coding section. For the coding section, you will be given a stencil and asked to fill in methods. Everything you are expected to do will be clearly documented in the method comments.

We understand that final projects are taking a lot of your time, so you can take the test at your leisure. The test is designed to take about an hour and a half, but you are cut off after two hours. The point of this exam is not to make you go back and study everything we've taught you, but rather for you to see how much you've learned.

We do not expect you to have to study for the test! You shouldn't have to go back and look at everything we've done if you've been keeping up with the work. All you need to do is review any concepts that you still feel you don't understand. This test is really designed to measure how much you've learned and how well you understand it. It is also very helpful for us since it lets us see what we teach well, and what we need to teach better.

Helpful hints

How to take the test

When you are ready to take the test, go to a shell and type cs15_mastery. This will bring up something that should look very similar to the questionnaires. You have two hours to spend on the whole exam, so remember not to spend too much time on one problem. When you get to a question that requires you to write code, open Wave and add the Mastery project. Everything you need to do will be fully documented on the test. When two hours are up, whatever you have submitted will be graded. Anything you submit after the time period is up will be discarded.

Sample Problems

Other People's Reactions