Competitive/Collaborative Programming Class

ICPC Computer Programming Contest Prep

Problem Solving in Computer Science

Spring 2026 -- CSC 2700 Section 01
1218 Patrick Taylor Hall, 6:30 PM - 8:20 PM



Class Home




What is a university/college when the students lose interest?
--Isaac Traxler
Without requirements and design, programming is the art of adding bugs to an empty text file.
--Louis Srygley
Some of the best programming is done on paper, really. Putting it into the computer is just a minor detail.
--Max Kanat-Alexander
Good programmers write code that humans can understand.
--Martin Fowler
The most disastrous thing that you can ever learn is your first programming language.
--Alan Kay
Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.
--Edsger W. Dijkstra
But while you can always write 'spaghetti code' in a procedural language, object-oriented languages used poorly can add meatballs to your spaghetti.
--Andrew Hunt
Along every step of our journey through life, our mind is being programmed. If we are not programming it ourselves, someone else is doing it to us.
--Joseph Rain
The most important property of a program is whether it accomplishes the intention of its user.
--C.A.R. Hoare
Learn the rules like a pro, so you can break them like an artist
--Pablo Picasso
The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why.
--perldoc perl
A university is what a college becomes when the faculty loses interest in students.
--John Ciardi
There is nothing good or bad about knowledge itself; morality lies in the application of knowledge.
--Jon Erickson
Managers of programming projects aren’t always aware that certain programming issues are matters of religion. If you’re a manager and you try to require compliance with certain programming practices, you’re inviting your programmers’ ire. Here’s a list of religious issues:
■ Programming language
■ Indentation style
■ Placing of braces
■ Choice of IDE
■ Commenting style
■ Efficiency vs. readability tradeoffs
■ Choice of methodology—for example, Scrum vs. Extreme Programming vs. evolutionary delivery ■ Programming utilities
■ Naming conventions
■ Use of gotos
■ Use of global variables
■ Measurements, especially productivity measures such as lines of code per day
--Steve McConnell
If the steps become to big, they become walls...
--Herb Sutter