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-cheappal 0-lexicon 0-treasures 0-wire 1-jpol 1-lineseq 1-ontherun 1-view 2-fmtour 2-lily 2-mtwalk 2-newbarn 3-cowcars 3-disco 3-moo 3-stacking 4-fliptile 4-grain 4-muddy 4-rocky 5-carnival 5-climbing 5-islands 5-running 6-containers 6-flyright 6-hardware 6-highway 6-juicer 6-party
ayin Not Yet Not Yet 1
Dec 11
22:08:47
.c
Not Yet Not Yet Not Yet Not Yet 1
Dec 12
01:44:06
.c
Not Yet Not Yet Not Yet 1
Dec 13
19:57:07
.c
Not Yet 1
Dec 17
22:41:49
.c
Not Yet 1
Dec 13
19:38:40
.cc
Not Yet 1
Dec 15
22:36:49
.cc
Not Yet Not Yet Not Yet 1
Nov 1
01:58:29
.py
Not Yet 1
Dec 14
16:50:25
.c
1
Dec 18
00:11:06
.py
Not Yet Not Yet Not Yet 1
Dec 17
02:19:20
.c
2!
Oct 28
(contest)
.X
ayodpinyanee 1
Sep 5
14:54:48
.c
1
Sep 5
16:24:53
.c
1
Sep 5
15:51:46
.c
1
Sep 5
16:06:22
.c
1
Sep 15
18:28:49
.c
2!
Sep 9
19:19:23
.c
2!
Sep 9
18:59:08
.c
2!
Sep 9
16:44:32
.c
1
Sep 18
15:28:38
.c
1
Sep 17
16:52:59
.c
1
Sep 15
16:54:04
.c
1
Sep 15
16:54:15
.c
2!
Sep 23
18:28:49
.c
2!
Sep 23
17:27:16
.c
Not Yet 2!
Sep 23
16:39:58
.c
1
Oct 7
21:51:37
.c
1
Oct 7
21:51:46
.c
Not Yet 1
Oct 7
21:51:41
.c
1
Oct 30
01:52:12
.c
2!
Oct 14
16:44:51
.c
Not Yet 2!
Oct 14
18:06:20
.c
2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
1
Oct 30
01:51:57
.c
2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
csauro Not Yet Not Yet 1
Nov 14
03:16:57
.py
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 1
Nov 24
16:22:02
.py
1
Nov 18
18:29:07
.py
Not Yet 1
Oct 12
02:32:33
.py
1
Nov 11
15:46:37
.py
1
Nov 9
15:44:29
.py
Not Yet Not Yet Not Yet 1
Nov 9
17:18:19
.py
Not Yet 2!
Oct 14
19:20:34
.cc
2!
Oct 28
(contest)
.X
Not Yet Not Yet 1
Nov 19
18:07:49
.py
1
Nov 19
18:02:30
.java
2!
Oct 28
(contest)
.X
dfielder 1
Sep 3
12:44:09
.java
1
Sep 9
10:00:57
.java
1
Sep 4
10:17:55
.java
1
Sep 3
18:52:20
.java
Not Yet 1
Sep 15
17:30:38
.java
1
Sep 16
00:02:12
.java
2!
Sep 9
17:38:58
.java
Not Yet 1
Sep 22
11:06:33
.java
Not Yet 1
Sep 23
14:18:18
.java
Not Yet Not Yet Not Yet 2!
Sep 23
16:37:39
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
Not Yet Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
dhalloran 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 1
Nov 3
18:55:15
.cc
Not Yet 1
Dec 19
15:51:20
.py
Not Yet Not Yet Not Yet Not Yet Not Yet 1
Nov 2
18:50:49
.cc
Not Yet Not Yet Not Yet Not Yet Not Yet 1
Nov 3
18:38:35
.cc
dlubarov Not Yet Not Yet 1
Sep 16
12:46:07
.java
Not Yet Not Yet 1
Sep 16
14:14:53
.java
Not Yet 1
Sep 11
20:48:49
.java
Not Yet Not Yet Not Yet 1
Oct 5
03:51:46
.java
1
Oct 10
16:57:13
.java
1
Nov 6
20:00:30
.java
Not Yet 1
Oct 10
16:18:56
.java
1
Oct 9
16:04:59
.java
1
Oct 9
13:48:08
.java
Not Yet Not Yet Not Yet 2!
Oct 14
18:39:58
.java
Not Yet 2!
Oct 14
19:43:06
.java
2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
Not Yet Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
dyust Not Yet Not Yet 1
Dec 17
22:17:43
.py
Not Yet Not Yet Not Yet Not Yet 1
Dec 17
22:00:31
.py
Not Yet Not Yet Not Yet 1
Dec 18
00:05:22
.py
Not Yet Not Yet Not Yet 1
Dec 18
00:18:21
.py
Not Yet 1
Dec 18
00:22:14
.py
Not Yet Not Yet Not Yet 1
Dec 18
00:52:48
.py
Not Yet 1
Dec 18
03:38:36
.py
2!
Oct 14
19:20:34
.cc
Not Yet Not Yet Not Yet Not Yet 2!
Oct 14
19:20:34
.cc
gminton 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 1
Oct 24
14:19:42
.cc
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
jbrown Not Yet Not Yet 1
Sep 8
08:23:46
.cc
Not Yet Not Yet Not Yet Not Yet 1
Sep 10
01:02:31
.cc
Not Yet Not Yet Not Yet Not Yet Not Yet 1
Dec 18
21:32:35
.cc
Not Yet 2!
Sep 23
17:18:49
.cc
Not Yet 1
Dec 7
12:32:10
.cc
Not Yet Not Yet 1
Dec 7
12:37:48
.cc
1
Dec 18
23:53:08
.cc
Not Yet 2!
Oct 14
19:20:34
.cc
2!
Oct 28
(contest)
.X
Not Yet 1
Dec 7
04:12:44
.cc
1
Dec 19
01:24:07
.cc
1
Dec 8
13:02:48
.cc
2!
Oct 28
(contest)
.X
jehrlich 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 Not Yet Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
Not Yet Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
jkaufman Not Yet Not Yet 1
Dec 14
00:37:19
.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 1
Dec 14
00:28:09
.java
Not Yet 1
Dec 14
01:00:49
.java
Not Yet Not Yet Not Yet 2!
Oct 14
17:01:45
.java
Not Yet 2!
Oct 14
16:55:01
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
kketcham Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 9
16:56:16
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 23
16:38:18
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 14
18:04:03
.java
Not Yet 2!
Oct 28
(contest)
.X
Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
koelze Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 9
16:56:16
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 23
16:38:18
.java
Not Yet 1
Sep 30
17:22:51
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
mawang 1
Dec 21
21:19:26
.py
Not Yet 1
Sep 17
20:20:45
.py
Not Yet Not Yet 1
Dec 22
22:19:00
.java
Not Yet 2!
Sep 9
17:41:32
.java
Not Yet 1
Dec 23
19:59:02
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 23
16:50:39
.py
Not Yet 1
Sep 30
17:17:51
.py
Not Yet Not Yet Not Yet 2!
Oct 14
17:47:50
.py
Not Yet 1
Oct 16
00:59:52
.py
2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
Not Yet Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
mcampbell 1
Sep 8
23:56:46
.java
Not Yet 1
Sep 7
23:42:30
.java
Not Yet Not Yet Not Yet Not Yet 2!
Sep 9
22:59:53
.java
Not Yet Not Yet 1
Dec 15
22:02:43
.py
1
Sep 17
04:01:00
.java
Not Yet 1
Sep 26
00:23:45
.java
Not Yet 2!
Sep 23
17:18:56
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 1
Dec 13
15:52:00
.py
Not Yet 2!
Oct 14
18:04:47
.java
Not Yet Not Yet Not Yet 1
Nov 23
16:59:46
.java
Not Yet 2!
Oct 28
(contest)
.X
mfield 1
Sep 2
18:36:21
.java
1
Sep 4
01:00:04
.java
1
Sep 2
18:12:05
.java
1
Sep 3
15:50:24
.java
Not Yet Not Yet Not Yet 2!
Sep 9
16:56:16
.java
Not Yet Not Yet Not Yet Not Yet Not Yet 1
Sep 25
15:39:33
.java
Not Yet 2!
Sep 23
16:38:18
.java
Not Yet 1
Nov 22
16:03:05
.c
Not Yet Not Yet Not Yet 1
Nov 22
01:51:57
.c
Not Yet 2!
Oct 14
19:44:53
.java
2!
Oct 28
(contest)
.X
Not Yet 1
Nov 22
15:13:51
.c
Not Yet 2!
Oct 28
(contest)
.X
2!
Oct 28
(contest)
.X
mpyne 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 1
Sep 24
05:46:15
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
Not Yet Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
mvanschaarde 1
Nov 18
17:51:56
.c
1
Dec 16
22:34:05
.c
1
Sep 2
21:24:09
.py
1
Nov 9
12:29:27
.java
1
Dec 12
23:26:49
.java
Not Yet Not Yet 2!
Sep 9
17:18:00
.java
Not Yet Not Yet 1
Nov 7
21:10:13
.py
1
Dec 5
21:55:15
.py
Not Yet 1
Nov 22
22:54:51
.py
Not Yet 2!
Sep 23
18:12:42
.java
1
Oct 3
23:28:34
.java
1
Oct 3
16:04:38
.py
1
Dec 14
21:49:55
.py
Not Yet 1
Dec 12
23:29:29
.java
1
Nov 10
21:37:06
.java
1
Dec 16
23:26:53
.py
1
Nov 8
23:14:59
.java
1
Nov 18
17:52:18
.py
Not Yet 1
Dec 12
23:26:49
.java
Not Yet 2!
Oct 29
00:54:05
.py
2!
Oct 28
(contest)
.X
mwodrich Not Yet Not Yet 1
Dec 22
19:12:06
.cc
Not Yet Not Yet Not Yet Not Yet 1
Sep 10
01:15:19
.cc
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 23
17:20:41
.cc
Not Yet 1
Dec 21
23:41:48
.cc
Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 14
19:20:34
.cc
2!
Oct 14
19:20:34
.cc
Not Yet Not Yet Not Yet Not Yet 2!
Oct 14
19:20:34
.cc
rdobashi Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 9
17:22:48
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Sep 23
18:13:58
.java
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
Not Yet Not Yet Not Yet Not Yet 2!
Oct 28
(contest)
.X
rmehlinger Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 1
Dec 23
07:04:22
.py
Not Yet Not Yet Not Yet 1
Dec 23
19:54:35
.py
Not Yet Not Yet Not Yet 1
Dec 22
19:11:29
.py
Not Yet 1
Dec 22
05:23:22
.py
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 1
Dec 22
02:39:53
.py
Not Yet Not Yet Not Yet Not Yet 2!
Oct 14
19:20:34
.cc
sma 1
Dec 18
02:25:28
.py
Not Yet 1
Dec 17
10:46:08
.py
Not Yet Not Yet 1
Dec 27
02:11:44
.py
Not Yet Not Yet Not Yet Not Yet Not Yet 1
Dec 27
07:33:47
.py
Not Yet 1
Dec 27
04:06:17
.py
Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet Not Yet 1
Oct 16
00:59:52
.py
Not Yet Not Yet Not Yet Not Yet Not Yet 1
Dec 17
15:11:47
.py
syang Not Yet Not Yet 1
Dec 11
00:17:08
.c
Not Yet Not Yet Not Yet Not Yet 1
Dec 11
01:40:26
.c
Not Yet Not Yet Not Yet 1
Dec 15
23:03:19
.c
Not Yet 1
Dec 16
21:00:08
.c
Not Yet 1
Dec 6
01:20:03
.c
Not Yet 1
Sep 30
21:24:47
.py
Not Yet Not Yet Not Yet 1
Nov 1
01:58:29
.py
Not Yet 1
Dec 14
19:36:47
.c
1
Dec 11
01:59:01
.py
Not Yet Not Yet Not Yet 1
Dec 16
22:54:48
.c
2!
Oct 28
(contest)
.X
xzhu 1
Sep 8
23:51:13
.java
Not Yet 1
Sep 7
23:46:30
.java
Not Yet Not Yet Not Yet Not Yet 2!
Sep 9
23:04:43
.java
Not Yet Not Yet 1
Dec 15
22:02:43
.py
1
Sep 17
12:27:40
.java
1
Dec 15
22:02:43
.py
1
Sep 26
00:24:24
.java
Not Yet 2!
Sep 23
17:16:09
.java
Not Yet 1
Dec 15
23:00:59
.py
Not Yet Not Yet Not Yet 1
Dec 13
15:52:36
.py
Not Yet 2!
Oct 14
17:33:41
.java
Not Yet Not Yet Not Yet 1
Nov 23
14:24:01
.java
Not Yet 2!
Oct 28
(contest)
.X

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 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 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 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. 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.
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