ProCo: High School Programming Contest (Bay Area)

Lucas Garron

Premium Member
Joined
Jul 6, 2007
Messages
3,757
Location
California
WCA ID
2006GARR01
YouTube
Visit Channel
The San Francisco Bay Area has a lot of math competitions and a lot of cube competitions. But apparently there aren't so many CS competitions. :mad:
Anyhow, a bunch of us at Stanford are organizing a new competition for high school students, called ProCo ("Programming Contest").
It's on May 16. The main event consists of a 2-hour contest where we give you a set of problems, and you have to write computer programs to solve them.


So, there are a lot of programmers on this forum, and also a lot of high school people in the Bay Area. If you can program a bit, or know someone who can program, I encourage you to have a look at our site. Hopefully some of you can show up. :)
(In fact, a competitor from SF09 is already registered for ProCo. :cool: )

If you're interested in computer science/programming, but don't think you have enough experience for ProCo, feel free to send an email through the contact page on our site –or even PM me on this forum.

And even if you can't code, or don't live in the Bay Area, you should learn programming! It's not any harder than cubing, and much more versatile. (You can look for online resources on Java if you want a simple start.)
 
Can you make a middle school division so I can come?
You can actually compete if you're in middle school. We're just heavily targeting it at high school students, since some high schools have CS classes. So, no divisions, but you're welcome to enter if you think you know enough.

Do you know how to write programs (in Java, C, or C++) that can take input, print output, and do a bit of calculation?
 
Can you make a middle school division so I can come?
You can actually compete if you're in middle school. We're just heavily targeting it at high school students, since some high schools have CS classes. So, no divisions, but you're welcome to enter if you think you know enough.

Do you know how to write programs (in Java, C, or C++) that can take input, print output, and do a bit of calculation?

Java and C yes, not C++.
But I'm best with Objective-C, but I guess that doesn't count.

But of Java, C, and C++, I'm best with C.
 
Can you make a middle school division so I can come?
You can actually compete if you're in middle school. We're just heavily targeting it at high school students, since some high schools have CS classes. So, no divisions, but you're welcome to enter if you think you know enough.

Do you know how to write programs (in Java, C, or C++) that can take input, print output, and do a bit of calculation?

Taking input as in through a file like FileReader in Java? Or just doing
public static void main(String[] ksdfgjl) {
input here
}
 
Java and C yes, not C++.
But I'm best with Objective-C, but I guess that doesn't count.

But of Java, C, and C++, I'm best with C.
Well, if you think you can handle problems presented like the samples at http://www.tcea.org/StudentContests/Programming/Pages/Archive.aspx, I encourage you to enter ProCo and see what you can do.

Taking input as in through a file like FileReader in Java? Or just doing
public static void main(String[] ksdfgjl) {
input here
}
No, actually, more like stdio/stdout using, say, scanners. That's how the code will be tested.
 
I'm just curious but is this contest limited to just Java, C, and C++?

I took a look at the first few problems of the 2008 contest and they seem REALLY easy to do. I do not know Java, C, or C++ very well but I could perl these up in a few seconds. :|

I'll probably do them tomorrow when I'm bored.
 
Last edited:
I'm just curious but is this contest limited to just Java, C, and C++?

I took a look at the first few problems of the 2008 contest and they seem REALLY easy to do. I do not know Java, C, or C++ very well but I could perl these up in a few seconds. :|

I'll probably do them tomorrow when I'm bored.
Yeah, it's limited to languages like those. They're standard, compilable, and don't make things ridiculously easy.
Also, look at the later problems (my roommate suggests TCEA State 2007). The contest is supposed to offer a huge range of difficulty, and the first few problems are for beginners, to make sure they have something feasible to work on. :p
 
Yeah, it's limited to [Java, C, and C++]. They ... don't make things ridiculously easy.
I suggest using Malbolge next time, if that's the goal. IMO it would be more interesting to choose problems that are non-trivial in any language, instead of easy problems and a language that makes them hard. Most competitions seem to be of the latter kind...
 
Yeah, it's limited to [Java, C, and C++]. They ... don't make things ridiculously easy.
I suggest using Malbolge next time, if that's the goal. IMO it would be more interesting to choose problems that are non-trivial in any language, instead of easy problems and a language that makes them hard. Most competitions seem to be of the latter kind...
Thing is, we need to have some trivial problems.
But I phrased that somewhat badly:
We try to make the problems language-independent.
C, C++, and Java are pretty standard for contests we're basing this on, and it's a bit of effort to add more. At the very least, we need to be able to test submitted code using console input on a Linux machine (for free).
If some competitors are, say, seriously interested in competing using Python or Perl, we could probably offer them, though.
Something like Mathematica is out of the question, and probably ones like PHP.

byu:
If you'd like to compete, you can just select ninth grade and note your actual grade in the comments. We just want it to remain targeted clearly to high school students.
 
Where can I learn Programming? It seems intresting.
Although this isn't aimed at complete beginners, it's so awesome that I have to link to it: http://learnyouahaskell.com/.

Python seems to be a popular first language, you could google for something like "Python tutorial" and see if you like it.

After you've learned the basics of some language, you'll need to write programs in it. You can either think of something yourself, or solve problems like in Project Euler. The first problems there are fairly easy, so even a complete beginner in programming can solve them, and later ones are quite challenging.
 
Last edited:
A few more questions for Lucas:

1. Are you allowed to use a Mac, and if so, what source editor (I use Xcode)?

2. Internet is supposed to be used for "accessing documentation only". Does this include searching for how to use certain functions (such as the sleep() ) function.

3. You said to take input through stdio/stdout, but can I use printf and scanf in C? For example, would this be allowed?

Code:
int main (void {
char word[20];
printf ("ENTER INPUT: ");
scanf("%s", word);
printf("THE WORD IS %s\n", word);
return 0;
}
 
A few more questions for Lucas:

1. Are you allowed to use a Mac, and if so, what source editor (I use Xcode)?

2. Internet is supposed to be used for "accessing documentation only". Does this include searching for how to use certain functions (such as the sleep() ) function.

3. You said to take input through stdio/stdout, but can I use printf and scanf in C? For example, would this be allowed?

Code:
int main (void {
char word[20];
printf ("ENTER INPUT: ");
scanf("%s", word);
printf("THE WORD IS %s\n", word);
return 0;
}
That is stdio, hence the need to #include <stdio.h> ;)
 
A few more questions for Lucas:

1. Are you allowed to use a Mac, and if so, what source editor (I use Xcode)?
Doesn't matter to us. You're only submitting a file to us, so you should may use any editor/compiler you trust.

2. Internet is supposed to be used for "accessing documentation only". Does this include searching for how to use certain functions (such as the sleep() ) function.
Sure. The idea is to let you access specifications/documentation for languages, so that you can look up the usage of functions. We'll probably have specifics on what we don't want you to look up.

3. You said to take input through stdio/stdout, but can I use printf and scanf in C? For example, would this be allowed?
That's what you're expected to use. ;)
 
Back
Top