Four things you need to be able to tell a computer to do

"I tell my students that there are four things you need to be able to tell a computer to do:

  1. process data (assignment)
  2. make decisions (if)
  3. loop (do/while/for)
  4. use indexed storage (array)

If you can do these four things you can write every program that has ever existed. Sure, the code won't be pretty, but it will solve the problem. In my course we focus on algorithms at the start because this is where we actually create behaviours that solve problems.
Once you can make algorithms everything (and I mean everything) else in Computer Science is about using this raw problem solving ability in the most useful way. This spreads out into things like modelling to get the spec, objects to organise and structure the solution and testing to make sure it works. Higher levels of abstraction are great, but I think you still need that algorithmic focus to get going. If you can't do that bit everything else is built on sand because you don't understand what the computer really does."