Why do we Program?

Computers want to be helpful

  • Computers are built to do things for us   * Designed and wired so that it has one question: what do you want to do next?
  • But, we need to speak their language to describe what we want done.
  • Computer users just have to pick which programs (instructions) they want to use out of the different program someone else put in the computer.
  • A programmer’s job is to serve the user and act as an intermediary between the hardware and the user   * The hardware of a computer itself isn’t that intelligent

Programmers Anticipate Needs

  • Professional programmers trying to sell software also need to imagine what the world might want
  • iPhone apps are a market   * but the app stores are also places where software can be built and exchanged
  • They have over 3 billion downloads
  • Many programmers have left their jobs to be full-time iPhone app developers
  • Programmers know the ways of their program

Why be a programmer?

  • To get some task done   * Example: clean up survey data
  • To produce something for others to use - a programming job   * Example: Fix a performance problem in the Sakai software   * Or adding a guestbook to a website
  • For professional programmers, the motivation may be to build something for everyone else to use
  • The main difference between writing code for someone and writing code for yourself is the rigor
  • Program: a sequence of stored instructions   * The computer itself at the lowest level of hardware is not that smart, but there’s a lot of flexibility in terms of giving it the right instructions.

Programs for Humans…

  • An example of a program for humans is the macarena!   * You do the dance moves at the correct beat of the music
  • Human beings can operate in an error filled world   * We can automatically fix errors in text or speech based on what we know
  • Computers can not operate in an error filled world   * So programs have to be perfect

Programs for Python…

  • One thing that computers are good but humans are bad at is text analysis   * This is something we delegate to computers

\