Harvey Mudd College
Computer Science Department
Programming Practicum

Related Links    HMC ACM 2006       C++ & STL       Java 1.5 API


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

Problems and progress

NAMES \ PROBLEMS  birthday   bookcase   candycorn   circuses   forward   frogger   gene   getout   gumbo   honey   key   marbles   missing   moving   multiple   ncredible   orchard   other   panic   rube   shipping   spf   sq   syntax   treasure   walking   window 
afarmer Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:13:23
.c
2!
Oct 9
17:45:28
.c
2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Sep 11
17:59:59
.cc
Not Yet 2!
Sep 11
17:15:59
.c
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
16:51:14
.c
Not Yet Not Yet 2!
Oct 30
(contest)
?
2!
Oct 30
(contest)
?
Not Yet 2!
Oct 9
17:15:23
.c
afield Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 30
(contest)
?
2!
Oct 30
(contest)
?
Not Yet Not Yet
ahunter 2!
Sep 11
17:18:53
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:44:26
.cc
2!
Oct 9
17:09:20
.cc
2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
18:01:39
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 4
Nov 10
(Riverside)
??
Not Yet Not Yet 2!
Sep 25
17:14:12
.cc
Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet
ataylor 2!
Sep 11
17:21:20
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
17:36:53
.java
Not Yet 1
Sep 4
23:53:37
.java
1
Sep 4
18:40:33
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
17:01:21
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 9
17:06:23
.java
bmclarnon 1
Oct 3
09:14:07
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:47:45
.java
1
Dec 14
21:50:05
.java
1
Dec 14
20:42:55
.java
Not Yet Not Yet 1
Dec 14
22:55:06
.java
2!
Oct 30
(contest)
?
2!
Sep 11
17:36:53
.java
Not Yet 1
Dec 15
02:08:47
.java
1
Dec 15
00:36:40
.java
1
Dec 15
02:36:20
.java
Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
16:53:17
.java
Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet
brice 2!
Sep 11
18:06:59
.cc
1
Sep 14
13:07:11
.cc
2!
Oct 30
(contest)
?
Not Yet 1
Sep 25
20:23:19
.cc
Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Sep 11
17:23:07
.java
2!
Oct 30
(contest)
?
1
Sep 14
22:05:17
.cc
1
Oct 10
13:28:00
.cc
1
Sep 9
17:31:57
.cc
1
Sep 8
22:14:04
.cc
1
Sep 20
09:38:48
.cc
Not Yet 4
Nov 10
(Riverside)
??
1
Sep 25
23:23:19
.cc
2!
Oct 30
(contest)
?
2!
Sep 25
17:12:45
.java
1
Sep 20
09:38:32
.cc
Not Yet 2!
Oct 30
(contest)
?
2!
Oct 30
(contest)
?
1
Sep 20
10:16:22
.cc
1
Oct 10
14:42:19
.cc
chebert 2!
Sep 11
17:59:47
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:57:02
.java
2!
Oct 9
17:58:41
.java
1
Dec 7
15:14:33
.java
Not Yet Not Yet Not Yet Not Yet 1
Dec 8
15:11:56
.java
Not Yet Not Yet 1
Sep 9
02:38:09
.java
1
Nov 10
23:14:07
.java
Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
17:15:12
.java
Not Yet Not Yet 1
Dec 8
17:44:34
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet
ekephart Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Oct 9
17:45:28
.c
2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
17:53:55
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
17:21:31
.java
Not Yet Not Yet 2!
Oct 30
(contest)
?
2!
Oct 30
(contest)
?
Not Yet 2!
Oct 9
17:15:23
.c
gminton Not Yet 1
Sep 12
14:05:05
.cc
Not Yet 1
Oct 24
21:24:31
.cc
Not Yet Not Yet Not Yet 1
Oct 24
22:44:11
.cc
1
Oct 25
10:40:04
.cc
Not Yet Not Yet Not Yet 1
Oct 25
14:06:50
.cc
1
Sep 14
09:31:46
.cc
1
Sep 18
14:27:10
.cc
Not Yet Not Yet Not Yet 1
Oct 25
13:32:45
.cc
Not Yet Not Yet Not Yet 1
Oct 24
16:40:58
.cc
Not Yet Not Yet Not Yet Not Yet
gtucker 1
Sep 12
13:04:23
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 1
Sep 27
20:57:08
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Sep 11
17:53:18
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet 1
Nov 9
21:05:03
.java
1
Oct 6
13:07:09
.java
1
Nov 9
21:49:43
.java
Not Yet 4
Nov 10
(Riverside)
??
Not Yet Not Yet 2!
Sep 25
17:15:07
.java
1
Nov 9
22:19:56
.java
Not Yet 1
Nov 26
23:53:07
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet
jbellister Not Yet Not Yet 1
Nov 15
00:24:07
.java
Not Yet 2!
Sep 25
17:25:09
.java
1
Oct 11
18:26:35
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
18:28:24
.java
Not Yet Not Yet Not Yet 1
Sep 24
22:55:26
.java
Not Yet Not Yet Not Yet Not Yet 1
Sep 27
20:41:42
.java
1
Sep 25
00:39:02
.java
Not Yet Not Yet Not Yet Not Yet Not Yet
jfennell Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 1
Nov 10
22:13:22
.py
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet
jmoreno Not Yet Not Yet 1
Nov 15
00:24:07
.java
Not Yet 2!
Sep 25
17:25:09
.java
1
Dec 10
03:06:38
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
18:28:24
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet
kketcham Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Oct 9
18:15:36
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
17:53:55
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 1
Sep 25
23:23:19
.cc
Not Yet Not Yet 2!
Sep 25
17:12:45
.java
Not Yet Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet
koelze Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Oct 9
18:15:36
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet 1
Oct 4
02:20:23
.java
1
Dec 9
17:28:18
.java
2!
Sep 11
17:36:53
.java
1
Oct 19
03:14:44
.java
1
Oct 12
04:02:37
.java
1
Oct 12
01:39:27
.java
1
Oct 11
15:50:14
.java
1
Oct 11
23:35:28
.java
1
Sep 25
23:23:19
.cc
Not Yet Not Yet 2!
Sep 25
17:12:45
.java
1
Oct 5
05:45:49
.java
Not Yet 1
Dec 5
23:52:52
.java
2!
Oct 30
(contest)
?
Not Yet 1
Oct 10
00:05:18
.java
ktevin 1
Sep 12
13:04:23
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
17:53:18
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
17:15:07
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet
labramyan Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
17:21:31
.java
Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet
mbuchanan 2!
Sep 11
17:18:53
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:44:26
.cc
2!
Oct 9
17:09:20
.cc
2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
18:01:39
.java
1
Oct 10
17:59:35
.java
Not Yet 1
Sep 7
18:29:11
.java
1
Sep 21
19:24:10
.java
Not Yet 4
Nov 10
(Riverside)
??
Not Yet Not Yet 2!
Sep 25
17:14:12
.cc
Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Oct 9
16:33:33
.cc
mconbere 2!
Sep 11
17:50:49
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:47:45
.java
Not Yet 1
Dec 15
17:25:30
.cc
Not Yet Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 1
Dec 16
13:23:55
.cc
1
Dec 15
21:25:06
.c
1
Dec 15
19:58:11
.java
Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
16:53:17
.java
Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 1
Dec 15
04:10:56
.cc
mernst 2!
Sep 11
18:03:06
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:57:02
.java
2!
Oct 9
17:58:41
.java
1
Dec 19
15:38:36
.java
Not Yet Not Yet 1
Dec 19
14:46:07
.java
Not Yet 1
Dec 19
14:15:00
.java
Not Yet Not Yet 1
Dec 20
05:11:09
.java
1
Dec 21
01:29:46
.java
Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
17:15:12
.java
Not Yet Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet
mfield 1
Nov 17
17:42:42
?
Not Yet 2!
Oct 30
(contest)
?
Not Yet 1
Oct 30
15:05:31
.java
1
Nov 17
17:42:42
?
2!
Oct 30
(contest)
?
Not Yet Not Yet 1
Nov 17
17:42:42
?
Not Yet 2!
Sep 11
17:36:53
.java
Not Yet Not Yet 1
Oct 18
01:39:27
.c
Not Yet 1
Nov 15
15:14:46
.java
Not Yet Not Yet Not Yet 1
Oct 11
15:25:13
.java
1
Oct 11
15:27:49
.java
Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet 1
Nov 17
17:42:42
?
mhunt 1
Oct 6
01:42:51
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 1
Oct 6
01:42:58
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Sep 11
17:53:18
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet 1
Nov 9
21:05:03
.java
1
Oct 6
01:42:38
.java
1
Nov 9
21:49:43
.java
Not Yet 4
Nov 10
(Riverside)
??
Not Yet Not Yet 2!
Sep 25
17:15:07
.java
1
Nov 9
22:19:56
.java
Not Yet 1
Nov 26
23:53:07
.java
2!
Oct 30
(contest)
?
Not Yet Not Yet
mpyne Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet 2!
Sep 11
17:53:55
.java
Not Yet Not Yet 1
Dec 20
20:53:26
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
17:21:31
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet
rbowen 2!
Sep 11
18:06:59
.cc
Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:44:26
.cc
Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Sep 11
17:23:07
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 4
Nov 10
(Riverside)
??
Not Yet Not Yet 2!
Sep 25
17:14:12
.cc
Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Oct 9
16:33:33
.cc
rmehlinger Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:13:23
.c
2!
Oct 9
17:45:28
.c
2!
Oct 30
(contest)
?
Not Yet Not Yet 2!
Sep 11
17:59:59
.cc
Not Yet 2!
Sep 11
17:15:59
.c
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
16:51:14
.c
Not Yet Not Yet 2!
Oct 30
(contest)
?
2!
Oct 30
(contest)
?
Not Yet 2!
Oct 9
17:15:23
.c
rrutledge 1
Sep 12
21:22:36
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 1
Oct 17
15:54:07
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet 1
Sep 12
07:57:14
.java
2!
Oct 30
(contest)
?
1
Sep 12
10:54:30
.java
Not Yet 1
Nov 9
21:05:03
.java
1
Sep 4
22:15:35
.java
1
Nov 9
21:49:43
.java
Not Yet 4
Nov 10
(Riverside)
??
Not Yet Not Yet 2!
Sep 25
17:49:22
.java
1
Nov 9
22:19:56
.java
Not Yet 1
Nov 26
23:53:07
.java
2!
Oct 30
(contest)
?
Not Yet 2!
Oct 9
18:21:15
.java
sparkey 1
Sep 24
20:44:46
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 1
Oct 5
22:04:33
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 1
Oct 8
22:15:24
.java
Not Yet Not Yet Not Yet 1
Sep 24
23:06:43
.java
1
Oct 8
19:44:28
.java
Not Yet Not Yet Not Yet 2!
Sep 25
17:34:00
.java
1
Oct 8
20:36:19
.java
Not Yet Not Yet Not Yet Not Yet Not Yet
tglass 2!
Sep 11
17:21:20
.java
Not Yet Not Yet Not Yet 1
Oct 13
22:10:48
.java
Not Yet 1
Dec 15
20:11:25
.java
Not Yet Not Yet Not Yet 1
Dec 15
04:10:56
.java
2!
Sep 11
17:36:53
.java
Not Yet Not Yet 1
Sep 10
19:38:44
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
17:01:21
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 9
17:06:23
.java
zeffron 2!
Sep 11
17:50:49
.java
Not Yet 2!
Oct 30
(contest)
?
Not Yet 2!
Sep 25
17:47:45
.java
2!
Oct 9
17:39:03
.java
Not Yet Not Yet Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 25
16:53:17
.java
Not Yet Not Yet 2!
Oct 30
(contest)
?
Not Yet Not Yet Not Yet

Lecture Slides

Lecture 1: 9/4/07 Lecture 3: 9/18/07 Lecture 5: 10/2/07

Grading

This class is graded by default. However, you may certainly take the course Pass/Fail, if you would like.
Here is the table mapping problems solved to grades.

Languages

The ACM contest has stated that it will support three languages: C, C++, and java. I'm looking forward to the day they add python to the list of supported languages.

In the spring term, you may choose any of those languages or one of your own (postscript, anyone?). However, you may have to instruct me on how to test things on our lab machines!

The submission scripts use the suffix of the file to determine the language, so 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 (due to my limited understanding of Perl).

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" output 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, download the input and output files (right-click on the links and choose "save link as...") or create your own test inputs, and then run
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.
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