Computer Science is the science of abstraction.
- Gabe Parmer
The essence of abstractions is preserving information that is relevant in a given context, and forgetting information that is irrelevant in that context.
– John V. Guttag
Programming is the art of algorithm design and the craft of debugging errant code.
- Ellen Ullman
“Without requirements or design, programming is the art of adding bugs to an empty text file.”
- Louis Srygley
Programming in a nutshell
- Programming language → execution
- Code – human readable (Java)
- Executable – machine “readable”
- Compiler – converts from code → executable. It's like Google translate for computers
- What happens when you type in nonsense?
beatbox
(Must speak the language you're translating from) - Syntax errors – not speaking “java” correctly
Development Cycle
- Check your Algorithm and Write Code
- Compile
- Syntax errors? fix them, goto 2.
- Observe output, compare to expected output
- Assess the situation:
- did it go wrong?
- how did it go wrong?
- if there is a bug goto 1
- success!