CSCE 240 -- Spring 2010

Section 001

Introduction to Software Engineering

Truths and Cultural Background

  • "Adding people to a late project only makes it later."
    Fred Brooks, The Mythical Man-Month (Brooks's Law)
  • "Where a new system concept or new technology is used, one has to build a system to throw away, for even the best planning is not so omniscient as to get it right the first time. Hence plan to throw one away; you will, anyhow."
    Fred Brooks, The Mythical Man-Month
  • "If you have a bug in your code, chances are you won't be able to spot it. No one you ask for help will be able to spot the error either. However, the first annoying jerk who walks by with unwanted advice will spot it immediately."
    Who said this?
  • "One never learns a subject thoroughly until one has to teach it."
    (It is somewhat in contrast to the above that J. Random Hacker has discovered more bugs in her code while in the process of explaining her code to someone else than by any other means.)
  • "Make everything as simple as possible, but no simpler."
    Albert Einstein
the Aunt Tillie test Broken As Designed
C++ canonical
code police considered harmful
content-free creeping featurism
deprecated diff
ed elephantine
emacs epoch
examining the entrails exe
feature feature creep
fencepost error filter
flag flat file
flowchart "Gates's Law
gnu gotcha
hack hack mode
hacker Hanlon's Razor
hard coded heisenbug
hello world holy wars
I didn't change anything incantation
indent style J. Random
J. Random Hacker kluge
Kool Aid language lawyer
legal lint
Lubarsky's Law machoflops
magic magic number
man page memory leak
memory smash metasyntactic variable
microLenat MIPS
misfeature mode
mode bit Molly guard
Moore's Law mu
Multics mung
munge Murphy's Law
newline New Testament
ninety-ninety rule noddy
number crunching nybble
obfuscated C contest off by one error
Old Testament open source
Orange Book Parkinson' Law of Data
Pascal pathological
pencil and paper perfect programmer syndrome
Perl pessimal
phase of the moon ping
PostScript program
programming punt
Python quantifiers
quantum bogodynamics README
Real Programmer religious issues
second system effect security through obscurity
self reference showstopper
SMOP software bloat
software rot spaghetti code
sunspots syntactic sugar
tail recursion taste
That's not a bug, that's a feature theology
tiger team Tux
Unix vanilla
vaporware Version 7
vi wart
wave a dead chicken WIMP environment
wizard write only code
Wrong Thing Xerox PARC
xyzzy Yet Another
Your mileage may vary zeroth
Swearingen Engineering Center | Columbia, SC 29208 | 803.777.2880 | web@cse.sc.edu