Competitive/Collaborative Programming Class

ICPC Computer Programming Contest Prep

Problem Solving in Computer Science

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



Class Home

No Class April 23, 2024


A change in perspective is worth 80 IQ points
--Alan Kay
People who are really serious about software should make their own hardware
--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
The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why.
--perldoc perl
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
Walking on water and developing software from a specification are easy if both are frozen.
--Edward V. Berard
Good programmers write code that humans can understand.
--Martin Fowler
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
--Nartin Fowler
There is nothing good or bad about knowledge itself; morality lies in the application of knowledge.
--Jon Erickson
Twenty hours at the keyboard can save you two hours of planning.
--Isaac Traxler
Learn the rules like a pro, so you can break them like an artist
--Pablo Picasso
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.