Competitive/Collaborative Programming Class

ICPC Computer Programming Contest Prep

Problem Solving in Computer Science

Spring 2025 -- CSC 2700 Section 01
1212 Patrick Taylor, 6:30 PM - 8:20 PM



Class Home




Delivering good software today is often better than perfect software tomorrow, so finish things and ship.
--David Thomas
Object-oriented programming offers a sustainable way to write spaghetti code. It lets you accrete programs as a series of patches.
--Paul Graham
People who are really serious about software should make their own hardware
--Alan Kay
...I’m not saying simple code takes less time to write. You’d think it would since you end up with less total code, but a good solution isn’t an accretion of code, it’s a distillation of it.
--Robert Nystrom
You are not reading this book because a teacher assigned it to you, you are reading it because you have a desire to learn, and wanting to learn is the biggest advantage you can have.
--Cory Althoff
I'm a programmer. I like programming. And the best way I've found to have a positive impact on code is to write it.
--Robert C. Martin
Learn the rules like a pro, so you can break them like an artist
--Pablo Picasso
It's got to be the going not the getting there that's good.
--Hary Chapin
The best way to predict the future is to invent it
--Alan Kay
What kind of programmer is so divorced from reality that she thinks she'll get complex software right the first time?
--James Alan Gardner
Think twice, code once.
--Waseem Latif
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
--Rick Cook
How do you expect to succeed if you do not know the rules?
--Anonymous
Twenty hours at the keyboard can save you two hours of planning.
--Isaac Traxler
One knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?
--Brian Kernighan
There is nothing good or bad about knowledge itself; morality lies in the application of knowledge.
--Jon Erickson
Not only is this incomprehensible, but the ink is ugly and the paper is from the wrong kind of tree.
--Professor W.
There ain't no rules around here. We are trying to accomplish something.
--Thomas Edison
How do you expect to succeed if you do not know the rules?
--Anonymous
The most important property of a program is whether it accomplishes the intention of its user.
--C.A.R. Hoare
If the steps become to big, they become walls...
--Herb Sutter
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
--Martin Fowler
A language that doesn't affect the way you think about programming is not worth knowing.
--Alan Perlis
Walking on water and developing software from a specification are easy if both are frozen.
--Edward V. Berard
People who are really serious about software should make their own hardware
--Alan Kay
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
That's the thing about people who think they hate computers. What they really hate is lousy programmers.
--Larry Niven
Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.
--Edsger W. Dijkstra
I'm not a great programmer; I'm just a good programmer with great habits.
--Kent Beck
The personal computer isn't "personal" because it's small and portable and yours to own. It's "personal" because you pour yourself into it - your thoughts, your programming.
--Audrey Watters