Competitive/Collaborative Programming Class

ICPC Computer Programming Contest Prep

Problem Solving in Computer Science

Fall 2023 -- CSC 2700 Section 01 (2317 Patrick Taylor, 6:00 PM - 7:50 PM)



Class Home




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
Everyday life is like programming, I guess. If you love something you can put beauty into it.
--Donald Knuth
There is nothing good or bad about knowledge itself; morality lies in the application of knowledge.
--Jon Erickson
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
If the steps become to big, they become walls...
--Herb Sutter
A change in perspective is worth 80 IQ points
--Alan Kay
A university is what a college becomes when the faculty loses interest in students.
--John Ciardi
Know the rules well, so you can break them effectively
--Dalai Lama XIV
Premature optimization is the root of all evil.
--Donald Knuth
Good programmers write code that humans can understand.
--Martin Fowler
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 issue of finding the best possible answer or achieving maximum efficiency usually arises in industry only after serious performance or legal troubles.
--Steven S. Skiena
...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
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
That's the thing about people who think they hate computers. What they really hate is lousy programmers.
--Larry Niven
Object-oriented programming offers a sustainable way to write spaghetti code. It lets you accrete programs as a series of patches.
--Paul Graham
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
A language that doesn't affect the way you think about programming is not worth knowing.
--Unix Fortune