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




Delivering good software today is often better than perfect software tomorrow, so finish things and ship.
--David Thomas
Programming is the art of thinking really hard about how to avoid having to think really hard.
--unknown
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live
--John Woods
Good programmers write code that humans can understand.
--Martin Fowler
A university is what a college becomes when the faculty loses interest in students.
--John Ciardi
What kind of programmer is so divorced from reality that she thinks she'll get complex software right the first time?
--James Alan Gardner
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
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
Not only is this incomprehensible, but the ink is ugly and the paper is from the wrong kind of tree.
--Professor W.
When in doubt, do something.
--Harry Chapin
A language that doesn't affect the way you think about programming is not worth knowing.
--Alan Perlis
The best way to predict the future is to invent it
--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