Harvey Mudd College
Computer Science Department
Programming Practicum

Reference Links    HMC ACM Page       C++ & STL       Java 1.5 API


Congratulations! to the HMC teams in the 2008 Southern California regionals. The standings out of 71 participating teams:

Problems and progress

NAMES \ problems 0-allow 0-ddayz 0-exercise 0-hello 0-ontherun 0-xoinc 1-charm 1-elite 1-turnin 1-vidgame
acarter 1
Jan 26
12:45:38
.java
1
Jan 20
11:51:20
.py
Not Yet Not Yet Not Yet 1
Jan 24
21:19:12
.java
1
Jan 28
14:42:17
.c
1
Jan 28
09:25:30
.c
Not Yet Not Yet
acozzette Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
20:18:37
.py
Not Yet Not Yet
agable Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
19:44:24
.py
Not Yet Not Yet Not Yet
apaine Not Yet Not Yet Not Yet 1
Jan 19
16:41:08
.py
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet
apribadi Not Yet 1
Jan 19
16:45:47
.py
Not Yet 1
Jan 19
16:41:51
.hs
Not Yet 1
Jan 21
19:56:21
.py
2!
Jan 26
17:13:01
.py
2!
Jan 26
16:35:24
.py
Not Yet Not Yet
ayodpinyanee 1
Jan 20
10:57:33
.cc
1
Jan 20
10:27:51
.cc
1
Jan 20
10:23:57
.cc
Not Yet 1
Jan 20
10:57:42
.cc
1
Jan 22
14:59:34
.cc
2!
Jan 26
16:15:23
.cc
2!
Jan 26
16:24:54
.cc
1
Jan 27
01:44:28
.cc
2!
Jan 26
16:57:11
.cc
bkhau Not Yet 1
Jan 19
21:40:19
.cc
Not Yet 1
Jan 19
23:09:56
.cc
Not Yet Not Yet 2!
Jan 26
17:34:40
.py
Not Yet Not Yet Not Yet
cmarvin Not Yet 1
Jan 20
00:52:08
.py
Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
19:08:24
.py
Not Yet Not Yet Not Yet
dfielder Not Yet 1
Jan 19
13:08:45
.java
Not Yet Not Yet Not Yet 1
Jan 19
13:10:13
.java
Not Yet Not Yet Not Yet Not Yet
dhalloran Not Yet Not Yet Not Yet 1
Jan 19
16:21:24
.cc
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet
dmarriner Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
17:48:19
.java
Not Yet Not Yet Not Yet
dodds Not Yet Not Yet Not Yet Not Yet Not Yet 1
Jan 19
15:38:49
.cc
Not Yet Not Yet Not Yet Not Yet
ecarlson Not Yet 1
Jan 19
16:59:18
.py
Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
16:41:35
.py
2!
Jan 26
17:14:15
.py
Not Yet Not Yet
jehrlich Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
16:50:58
.java
2!
Jan 26
17:34:08
.java
Not Yet Not Yet
klingel Not Yet Not Yet Not Yet 1
Feb 3
13:22:23
.py
Not Yet Not Yet 2!
Jan 26
19:44:24
.py
Not Yet Not Yet Not Yet
ksheely Not Yet 1
Jan 31
16:00:23
.py
Not Yet 1
Feb 4
21:10:47
.py
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet
lgaebler 1
Feb 2
00:57:22
.py
1
Jan 20
15:11:13
.cc
Not Yet 1
Jan 21
19:52:36
.py
Not Yet 1
Jan 21
00:08:07
.cc
2!
Jan 26
17:33:42
.py
Not Yet Not Yet Not Yet
mawang Not Yet 1
Jan 19
17:18:18
.py
Not Yet 1
Jan 19
16:48:17
.py
Not Yet Not Yet 2!
Jan 26
17:28:01
.py
Not Yet Not Yet Not Yet
mleece Not Yet 1
Jan 19
16:59:18
.py
Not Yet Not Yet Not Yet 1
Jan 24
20:18:30
.py
2!
Jan 26
16:33:38
.py
2!
Jan 26
17:17:51
.py
Not Yet Not Yet
mrichman Not Yet 1
Jan 19
17:22:17
.py
Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
16:57:02
.py
Not Yet Not Yet Not Yet
mtagle Not Yet Not Yet Not Yet 1
Jan 27
01:55:12
.java
Not Yet Not Yet 1
Jan 27
12:51:40
.java
Not Yet Not Yet Not Yet
mwodrich Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
17:33:42
.py
Not Yet Not Yet Not Yet
oortlieb Not Yet 1
Feb 1
10:57:49
.java
Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
19:31:12
.java
Not Yet Not Yet Not Yet
paelionmoss Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
17:51:34
.java
Not Yet Not Yet Not Yet
rkotcon Not Yet 1
Jan 23
00:26:12
.py
Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
16:57:02
.py
Not Yet Not Yet Not Yet
sberghel Not Yet 1
Jan 19
17:20:19
.py
Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
16:57:02
.py
Not Yet Not Yet Not Yet
spernsteiner Not Yet 1
Jan 19
16:57:53
.java
Not Yet Not Yet Not Yet Not Yet 2!
Jan 26
16:33:25
.java
2!
Jan 26
17:18:47
.java
Not Yet Not Yet
ymayer Not Yet 1
Feb 8
10:22:55
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet

"The Book"

Lecture Slides

Grading

This class is graded by default. However, you may certainly take the course Pass/Fail, if you would like. However, if you plan to take this class three times for CS elective credit (some students do this), do not take it pass/fail! CS Elective courses may not be P/F.
Here is the table mapping problems solved to grades.

Languages

The ACM contest supports three languages: C, C++, and java. I'm looking forward to the day they add Python to the list of supported languages.

In the fall term you may use other "reasonable" languages, but there will not be an incentive to expand to previously unused languages. It might be a good way to learn a new language, if you've had your sights on one... .

In the spring term, you may choose from a broader set of languages, including C#, D, Python, Perl, Prolog, Haskell, ML, Scheme/Lisp, and any number of others. However, if the language you choose is too unusual - or simply hasn't been used before in the class - you will have to instruct me on how to test things on knuth.

The submission scripts use the suffix of the file to determine the language. For example, you won't be able to submit a java file named solution.cc.

Submission

Be sure to name your file the same as the name of the problem, and then type
/cs/ACM/acmSubmit <filename>.cc
You should run acmSubmit from the directory in which your submission file is located.

The script will test your file against a number of inputs. Unlike the ACM contest, if your submission's output differs from the "correct" output, the differences will be shown to you. This is a protection against the "correct" solutions not actually being correct. If your program passes all of the tests the script will let you know. It will also email me in order to help me keep the chart of solved problems updated.

Compiling your code:

While testing your code, you can compile with the commands

javac filename.java
or
g++ filename.cc
to create an executable file named a.out.

To check your program, copy the sample input and then redirect that file to your program, e.g.,
java  < <testfilename>
or
a.out < <testfilename>
That will print the results to the console (stdout) for inspection. You might also pipe the results to a file and check them against the anticipated output with diff.

Related Links

HMC ACM competition home page This contains links to several large problem sites.
Fall 2009 Programming Practicum Home Page
Spring 2009 Programming Practicum Home Page
Fall 2008 Programming Practicum Home Page
Spring 2008 Programming Practicum Home Page
Fall 2007 Programming Practicum Home Page
Spring 2007 Programming Practicum Home Page
Fall 2006 Programming Practicum Home Page
Spring 2005 Programming Practicum Home Page
Fall 2004 Programming Practicum Home Page
Spring 2004 Programming Practicum Home Page
Fall 2003 Programming Practicum Home Page
Spring 2003 Programming Practicum Home Page
Fall 2002 Programming Practicum Home Page
Spring 2002 Programming Practicum Home Page
Fall 2001 Programming Practicum Home Page
Spring 2001 Programming Practicum Home Page
Fall 2000 Programming Practicum Home Page
Spring 2000 Programming Practicum Home Page