There are a number of references that you should look into. Below is a short list to start with.
Psychology of Computer Programming - Silver Anniversary Editioni
Author: Gerald M. Weinberg
Publisher: Dorset House
Description: This book was first written over 25 years ago - and it is possibly more correct now than when it was written. Even though some of the examples seem a little dated, if you plan to make a living in the computer field, you should read this book. The Silver Anniversary Edition includes chapter-by-chapter updates by the original author.
- Introduction to Algorithms (Amazon)
Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Publisher: McGraw Hill
Description: This is the book to get and study. If you know the material in this book (and can understand the book), you are ready to go out and design/implement software. This should be your bible (at least a good starting place).
- Programmers At Work
Author: Lammers Susan
Description: Interview with some of the people who shaped the computer industry. Out of Print. Dr. Dobbs Journal offers a CD including the full text of the book and other interviews for $25.
- Programming Challenges by Steven S. Skiena and Miguel Revilla
- Competitve Programming
Authors: Steven and Felix Halim
Description: A primer of competitive programming integrated closely with UVA Online Judge. (First edition is available as a free download).
- Competitive Programmer's Handbook
Author: Antti Laaksonen
This is available as a free PDF or in a more comprehensive manner as Springer Book. It looks real good.
- Art of Programming Contest
Author: Ahmed Shamsul Arefin
A good first book or Competitive Programming and is a free PDF download.
- Computational Geometry: Algorithms and Applications
Authors: Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars
Description: Throrough coverage of Computational Geometry algorithms
- The Hitchhiker’s Guide to the Programming Contests
Author: Nite Nimajneb
Another first read for competitive programming available as a free PDF downlaod.
- Problems on Algorithms by Ian Parberry
- Competitive Programming by Steven Halim, Felix Halim
- Algorithms Jeff Erickson, University of Illinois, Urbana-Champaign, class notes, exercises, tests (950+ pages)
- CIS 680: DATA STRUCTURES (Data Structures, Algorithms, and Applications in C++)
- The Psychology of Computer Programming - Silver Anniversary Editioni
- Web Articles about Programming Contests
- Other Programming Contest Classes
- Stanford CS 971
- Stony Brook University CS 392 - Steven Skiena who wrote Programming Challenges
- Washington University CSE 392
- Loyola University Chicago
- Unoversity of Utah CS 4960
- New York University
- Montana State University
- Montana Tech CS 164
- Kent State CS 33011
- Duke CS 309
- University of Wisconsin Oshkosh CS 314
- Algorithmic Problem Solving and Programming in a Competitve Environment
- Steven Halim (Competitive Programming author) CS3233 Competitive Programming
- Useful Web Sites
- UVa Online Judge
- ACM Solver
- Intro to a number of approaches
- UVA Toolkit (you provide input file, it gives correct output file)
- uDebug (it will produce correct output given input, sometimes it provides random input and/or critical input)
- UVA Problem Classification
- The Algorithmist
- Data Structures and Algorithms Tutorial
- Collection of links to Competitive Programming Resources
- Contest Stratedgy, Hints
- Common Mistakes in Online and Real-time Contests
- Training ICPC Teams: A Technical Guide
- Programming Competition Coaches Workshop - contains "Teamwork in Programming Contests: 3 * 1 = 4"
- HOW TO DO BETTER IN 24 HOURS ONLINE JUDGES
- Tips for Beginners to do well in contest
- Syllabus from a Programming Camp (borrowed from the internet)
- Random Items of Interest
- Test your typing speed (I got 35 wpm)
- Referenced Slashdot articles:
- Ted Talks
- A performance of "Mathemagic"
- Math is the hidden secret to understanding the world
- The magic of Fibonacci numbers
- Math class needs a makeover
- Do schools kill creativity?
- How great leaders inspire action
- How to speak so that people want to listen
- Why dieting doesn't usually work
- Teach teachers how to create magic
- Playing "Pink Noise" on guitar
- The art of puzzles
- Teach statistics before calculus!
- Two nerdy obsessions meet — and it's magic
- The astounding athletic power of quadcopters
- Cheap, effective shelter for disaster relief
- Teachers need real feedback
- The surprising habits of original thinkers
- Other Videos
- Cheat Sheets
- Cheat Sheet indicies
- C/C++ sheets
- C++ (1 sheet bifold)
- PHP (1 page)
- Regular Expressions
- Regular Expressions
- LSU HPC Training Sessions
- Contest News UW-Madison