Things Of Interest
Here are some links that may be of use as references:
Gender Issues In Computing
My wife, Suzanne, works at SRI International and does all sorts of excellent stuff because she has technical skills. It is very irritating to me to think that a huge portion of the population excludes itself from such opportunities, in large part because of social cues that begin at a very young age.
I present here some work dedicated to considering issues regarding gender and computing in the hopes that maybe, just maybe, this can get more people to care.
General Issues In Computing Education
There are things that can frustrate students in any subject. My hope is to avoid those things so my students do not have negative experiences with computer science.
About Paley
My favorite Wikipedia page (note the last item)
Technical Stuff
- Ed Lazowska's SIGCSE Keynote (March 15, 2008) on the past, present, and future of Computer Science
- Interested in learning Perl? Here's an online version of the O'Reilly books on the subject. It gets no better.
- The Art Of Computer Programming by Donald Knuth is arguably the greatest work in the field of computer science.
- I am a big fan of teaching abstract programming concepts with Scheme.
- The College Board has information regarding AP testing.
- Peter Norvig's web site has all sorts of good things if you like artificial intelligence, Scheme, Java, or even Java mixed with Scheme. (I kid you not.) Professor Norvig is, as of this writing, in charge of the team that makes Google searches do what you have come to expect.
- metrowerks.com has some CodeWarrior support. Click on "Support" and on the left-hand side of the display, there will be an opportunity to look at the newsgroup.
- Slashdot is THE site for aspiring System Administrators. It also provides excellent daily articles on technology, ranging from the new to the fun to the political to the legal to... well, let's just say it covers more important information than any newspaper I have seen.
- Brinkster provides disk space for free. If all you need is 30MB of disk space for storing files (which ought to be plenty for schoolwork, it's hard to argue with this. (NOTE: I do not know how much of your personal information you have to give away to use Brinkster. This may be an issue for you to consider.) Thanks to Steven Peng for pointing out the existence of the service.
- The all-powerful Google is arguably the best search engine currently in existence. This is an unbelievable research tool.
- Robert Read's paper, "How to Be a Programmer" requires Acrobat Reader. The non-technical parts are of particular interest, and if you are interested in being a techie or dealing with them in the real world, you may wish to read this.
Downloads
There are all sorts of free, legal things that can be obtained
from the Internet to make getting work done easier. Here are a few;
suggestions on others are welcome. Again, let me emphasize the word
legal since some people have demonstrated in the classroom that
they don't quite get it.
Be sure to read the license information. Licenses are generally full of
grotesque legalese than nobody understands, but usually the distributor
will somewhere distill the agreement (free, free trial, share, etc.).
Languages
Let's face it. People, when they ask about a programming class, want to know what language is being taught. While the question is reasonable, my own feeling is that learning how to program in general is the right idea. Then you can learn whatever language you want as needed.
The fact is that it isn't quite that simple (even though I maintain it is a good idea). One of the more annoying things about programming languages is finding good, concise documentation on libraries and nuances so you know what operations can be carried out on a given data type. The presentation methods are very different for the various links, below, but my belief is that they are all readable.
Data Structures
- Marc Brown was kind enough to present this to the Gunn Computer Programming Club. There are some really nice Java applets that illustrate how sorting routines function. The link to heaps is really nice. Check it out!
Java Useful Stuff
C++ Useful Stuff
Stuff To Do In Class When There Is No Stuff To Do
THERE IS ALWAYS STUFF TO DO! It's a computer science classroom with access to the Internet, for crying out loud!
- The USA Computing Olympiad may be a reasonable goal if you find your CS class unchallenging. If you register, the web site has a problem or two (or more) that may keep you occupied.
- IOCCC can be fun, provided that you don't hand in programs to the teacher like that. The best thing is that the "O" stands for "Obfuscated" which is a word that should be known by all programmers. (Check it out, you'll understand what I mean.) Thanks to Bryan Steinbach for the pointer.
- ACM INTERNATIONAL COLLEGIATE PROGRAMMING CONTEST has a LOT of programming problems. If you complete a project in class and need something--anything--to do, there is always something available. (I have not had a chance to test the Online Judge, but the concept is terrific.) Thanks to Marcell Ortutay for the link.
- John Kleinjans, now a teacher at Woodside High, worked at Gunn and left a large corpus of programming problems and insights.
- This may be useful if you are having trouble dealing with binary, decimal, and hexadecimal translations.
Things To Do Outside Of Class
- The Chess Team plays mostly on Wednesdays in the fall. The Chess Club meets on Tuesdays and Thursdays in the Bat Cave. Here are some Chess things.
Non-Computer Science Study Things
- The Princeton Review has a bunch of nice study materials for people who have to take standardized tests.
Artificial Intelligence
Did you know that my wife, Suzanne, works in the Artificial Intelligence department at SRI International in Menlo Park? Cool, huh? So, she sends along a thing here and there. Here are some of those things.
- AARON is this amazing program that generates art. AARON was written by Harold Cohen. This stuff is absolutely incredible. Note to all those C/C++/Java programmers out there: these works of art are dynamically generated by a Lisp program, quickly. Lisp rocks. (Note: Only the downloaded program generates the art dynamically. The browser applets show a few samples.)
Humor
- Despair.com spoofs lots of corporate philosophy. Their products are a bit pricey, but they treat corporate culture in a Dilbert-esque way...
- Classic customer service calls. (Thanks to Mat Vitousek for the pointer.)
"DID YOU KNOW THAT?
- ...Carnegie Mellon University has a branch at NASA Ames in Mountain View?
- ...and Cargnie Mellon University West has a plan to have an undergraduate program in three years or so? Pretty cool, huh? IT'S ONLY ONE OF THE FIVE BEST SCHOOLS IN THE COUNTRY FOR COMPUTER SCIENCE!
NOW YOU KNOW!" -- Bill Nye the Science Guy