Domain: acsl.org
Stories and comments across the archive that link to acsl.org.
Comments · 11
-
Re:Why do you need an example?
If high schoolers can compete in the North American Computational Linguistics Olympiad , they can surely teach themselves the concepts behind regular expressions and then whip up a bit of Perl to implement it. I know I could. In fact, another competition, ACSL, has existed for a very long time (late 70s) for high-school students that want to improve their CS theory and it tests regular expression knowledge from time to time.
-
Try competition problems
In my experience, CS programming competitions tend to have entertaining problems that should keep the kid's attention. The American Computer Science League has a small handful of quizzes and example problems posted on their website here. ACSL's contests are designed so that each difficulty level's problem builds upon the previous problem. Another example is the International Olympiad in Informatics, which has problems from each of their contests here.
-
ACSL
When I was in high school I participated in the ACSL (American Computer Science League) contest among high schools which still is running. It seems similar, they had a written test on computer science related things and a series of practical team programming problems. It was a blast when our team beat the champion (we were Montclair Kimberly, I think it was the 82-83 contest). Seems like the ACM contest has more interesting and difficult problems, looks like knowledge of genetic algorithms and simulated annealing might even be useful! Looking forward to seeing the results (the programs) if they are published.
-
Problem solving is key
I think there was too much focus on the coding itself in the guide. When it comes down to it, its the ability to solve problems.
The best way to practice for a programming competition is to treat it like a math competition. If you can think of efficient solutions and apply them quickly, you will do well. Remember that a lot of these competitions have runtime limits (usually 2-3 seconds on a predetermied isolated machine), so coding up the simplest solution won't always work.
Practice is also very important. Try ACSL, there are some sample problems available there, practice doing them and time yourself!
Also, for those who say that programming competitions are useless, they have no clue what they are talking about. What sets you apart in real-world development involves thinking up efficient solutions to difficult problems. Making the code easy to maintain and expand is just a simple step up when you do development in the industry. -
Re:What junior and community colleges are for
Computer science is simply too hard and too specialized to fit into a "community college", and any community college teaching it is either out of its league and something you should stay well away from, or trying to transition away from "community college" to true University. I don't know if that ever happens, but it sounds plausible.
Baloney. I took some CS in high school. To say it's beyond the ability of community college students is condescending at best. Granted, it wasn't hard core 400-level college classes, but we did cover boolean algebra, notation systems, simple data structures, and runtimes. It was good enough to earn me perfect scores for two years on ACSL exams (sample).
You'd have to make parallel arguments for biology, chemistry and physics, all of which are well established in community college. To be consistent we should stop teaching theory in those areas and focus on running a DNA sequencer, doing dilution series, and turning metal on a machine lathe. But we realize that you need theory behind your skills to do a good job in those fields, so we teach theory and application.
I see IT guys with no CS training and they do some pretty dumb things because they don't understand the consequences of their actions. They don't do anything wrong on purpose - they just have a limited framework in which to think about the problem. So, even for job training we can't serve students by skipping the basics.
More and more students are starting their college careers in community college as a way to afford the skyrocketing costs of higher education, and there's really no reason most of the basics can't be taught closer to home. -
Re:What junior and community colleges are for
Computer science is simply too hard and too specialized to fit into a "community college", and any community college teaching it is either out of its league and something you should stay well away from, or trying to transition away from "community college" to true University. I don't know if that ever happens, but it sounds plausible.
Baloney. I took some CS in high school. To say it's beyond the ability of community college students is condescending at best. Granted, it wasn't hard core 400-level college classes, but we did cover boolean algebra, notation systems, simple data structures, and runtimes. It was good enough to earn me perfect scores for two years on ACSL exams (sample).
You'd have to make parallel arguments for biology, chemistry and physics, all of which are well established in community college. To be consistent we should stop teaching theory in those areas and focus on running a DNA sequencer, doing dilution series, and turning metal on a machine lathe. But we realize that you need theory behind your skills to do a good job in those fields, so we teach theory and application.
I see IT guys with no CS training and they do some pretty dumb things because they don't understand the consequences of their actions. They don't do anything wrong on purpose - they just have a limited framework in which to think about the problem. So, even for job training we can't serve students by skipping the basics.
More and more students are starting their college careers in community college as a way to afford the skyrocketing costs of higher education, and there's really no reason most of the basics can't be taught closer to home. -
Is Chess a Sport? Go? Backgammon? Bridge? Poker?caveat I don't play chess
However competitive chess attracts large numbers of people, has newspaper columns and tv shows. Go is similar and I sometimes watch tv shows in Japan that have a man/woman team who explain all the moves. (The man is the expert, the woman is usually a little less expert but far cuter!) I enjoy it and don't know go to well, it is kind of like watching sumo wrestling but more meditative.. you get a droning rhythm from another invisible man who calls out 20 seconds, 10 seconds, 5 seconds for how much time is left each turn.
Another data point. In high school I was the youngest member on a team that competed in the American Computer Science League (ACSL) which at the time was a contest between 900 schools. Despite my terrible contribution somehow our team won against the archrival which always won in the past. Anyway I remember very well doin well with kleene stars as if it was a scored goal. And we played "We are the champions" on a big boom box. (Steve Hayes if you are out there write back!) this was 1985 so it must be bigger now. A much better publicized event is the robocon I believe it's called, where tons of highschools build robots to battle each other (in Japan, televised with huge audiences). The winners generally are very talented and undoubtedly go on to get great jobs.
I see the ACSL now has a website. There seem to be less schools now but the prizes are better.. digital cameras! Also the winners get Microsoft subscriptions which sounds like a booby prize to me. Wouldn't it be nice if they could get some books on Haskell, a copy of mathematica, or (if there is one) a nice open source math-related program?
IANA Mathematician but a common saying is that a mathematical truth is "discovered", in other words it always existed in a sort of mathematical field that interpenetrates the universe. Math is our window on the universe. One physicist recently is said to have proved that mathematical logic in fact is the basis of the universe.
But you can have intellectual sports, and there is a mathematical element in most competitions in one way or another. If the word "sport" is a problem then it can be called something else.
And who knows, the making of universes may even be a sport, to Someone, though I hope not on a level of the punning in this thread. It's all a matter of perspective.
-
Which kind of computer club?
Like the computer field itself, there are multiple kinds of computer clubs. You're describing the more concrete kind of club, dealing with software and the function of hardware.
However, there is also the more computer science type computer club where you could teach programming and computer theory. If you're interested in pursuing this type of club, I'd suggest you look into the American Computer Science League (ACSL). They run a total of 4 contests spread throughout the school year that consist of a prgramming assignment that you have 72 hours to complete and 5 computer theory questions (the topics are announced ahead of time). If your school does well, you can send your top 3 or 5 students to the national competition to compete.
Also, remember to include both sexes as club members (ie, don't be exclusive).
Good luck with your club! -
ascl
You might try the American Computer Science League. Apparently, they specialize in High School level competition.
My high school participates in and loses at a smaller, local competition every year. As far as I know, students can work in C++, Pascal, or Basic. They're given a set of problems to play with for several hours. The team with the most correct implementations in the shortest amount of time wins.
My information may be shaky. I have no first hand experience just yet. -
American Computer Science League
There is already something similar to what you speak of. Its called the American Computer Science League or ACSL. I don't participate in it but i think my school got like 3rd or 4th nationaly last year. It works by sending in the answers to porblems for the 'regionals'. and then the highest scoring teams get invited to the national competition.
-
Re:Ideas for projects:"Programming contests. Have your students write a program to illustrate some concept you've been teaching. Give prizes/recognition to the student with the fastest / shortest / most creative solution."
Try American Computer Science League. It may help to find some *fun* programming contest problems.