Competitive/Collaborative Programming Class

ICPC Computer Programming Contest Prep

Problem Solving in Computer Science

Fall 2024 -- CSC 2700 Section 01
1720 Business Education North Wing, 6:00 PM - 7:50 PM



Class Home




Object-oriented programming offers a sustainable way to write spaghetti code. It lets you accrete programs as a series of patches.
--Paul Graham
What kind of programmer is so divorced from reality that she thinks she'll get complex software right the first time?
--James Alan Gardner
Some of the best programming is done on paper, really. Putting it into the computer is just a minor detail.
--Max Kanat-Alexander
Programming isn't about what you know; it's about what you can figure out.
--Chris Pine
There is nothing good or bad about knowledge itself; morality lies in the application of knowledge.
--Jon Erickson
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
--Nartin Fowler
Perl – The only language that looks the same before and after RSA encryption.
--Keith Bostic
Not only is this incomprehensible, but the ink is ugly and the paper is from the wrong kind of tree.
--Professor W.
The big optimizations come from refining the high-level design, not the individual routines.
--Steve McConnell
The most important property of a program is whether it accomplishes the intention of its user.
--C.A.R. Hoare
Happiness should be a function without any parameters.
--Pranshu Midha
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
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
The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why.
--perldoc perl
Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
--Frederick P. Brooks Jr.
A change in perspective is worth 80 IQ points
--Alan Kay
If the steps become to big, they become walls...
--Herb Sutter
A language that doesn't affect the way you think about programming is not worth knowing.
--Unix Fortune
Premature optimization is the root of all evil.
--Donald Knuth
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live
--John Woods
Everyday life is like programming, I guess. If you love something you can put beauty into it.
--Donald Knuth
Know the rules well, so you can break them effectively
--Dalai Lama XIV
When in doubt, do something.
--Harry Chapin
Learn the rules like a pro, so you can break them like an artist
--Pablo Picasso
Simple things should be simple, complex things should be possible.
--Alan Kay
Twenty hours at the keyboard can save you two hours of planning.
--Isaac Traxler