Skip to content

Lecture 1

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

lecture1-slides

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

  1. Check your Algorithm and Write Code
  2. Compile
  3. Syntax errors? fix them, goto 2.
  4. Observe output, compare to expected output
  5. Assess the situation:
    • did it go wrong?
    • how did it go wrong?
  6. if there is a bug goto 1
  7. success!

CSCI1111_Lab0.pdf

class home | next lecture