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




Simple things should be simple, complex things should be possible.
--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
Walking on water and developing software from a specification are easy if both are frozen.
--Edward V. Berard
Premature optimization is the root of all evil.
--Donald Knuth
A language that doesn't affect the way you think about programming is not worth knowing.
--Unix Fortune
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
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
First solve the problem. Then, write the code.
--Waseem Latif
It's got to be the going not the getting there that's good.
--Hary Chapin
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
So if an algorithm is an idealized recipe, a program is the detailed set of instructions for a cooking robot preparing a month of meals for an army while under enemy attack
--Kernighan Brian
Object-oriented programming offers a sustainable way to write spaghetti code. It lets you accrete programs as a series of patches.
--Paul Graham
Learn the rules like a pro, so you can break them like an artist
--Pablo Picasso
Without requirements and design, programming is the art of adding bugs to an empty text file.
--Louis Srygley
That's the thing about people who think they hate computers. What they really hate is lousy programmers.
--Larry Niven
There ain't no rules around here. We are trying to accomplish something.
--Thomas Edison
Twenty hours at the keyboard can save you two hours of planning.
--Isaac Traxler
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
There is nothing good or bad about knowledge itself; morality lies in the application of knowledge.
--Jon Erickson
Know the rules well, so you can break them effectively
--Dalai Lama XIV
The most difficult thing in the world is to know how to do a thing and to watch someone else do it wrong without comment.
--Theodore H. White
A change in perspective is worth 80 IQ points
--Alan Kay