Competitive/Collaborative Programming Class

ICPC Computer Programming Contest Prep

Problem Solving in Computer Science

Spring 2023 -- CSC 2700 Section 01 (1216 Patrick Taylor, 6:30 PM - 8:20 PM)



Class Home




Everyday life is like programming, I guess. If you love something you can put beauty into it.
--Donald Knuth
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
Simple things should be simple, complex things should be possible.
--Alan Kay
A change in perspective is worth 80 IQ points
--Alan Kay
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
Perl – The only language that looks the same before and after RSA encryption.
--Keith Bostic
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
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
The big optimizations come from refining the high-level design, not the individual routines.
--Steve McConnell
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