Introduction to computing

  1. Pseudocode
  2. Introduction to C
  3. Tracking algorithms with pencil and paper
  4. Conditional structures
    1. if else
    2. conditional operator
    3. switch case
  5. Iteration structures
  6. Arrays and matrices
  7. Functions 
    1. Introduction to functions
    2. Functions, arrays and matrices
    3. Introduction to recursive functions
    4. Introduction to pointers 
    5. Pointer arithmetic
  8. Search and sort
  9. Random numbers
  10. Characters and strings
  11. Programming practices
  12. Commented exercises
  13. About introduction to computing
The chapter order in here is similar to that of lectures given in a first semester of introduction to computing. In the first lectures the teaches describes the basic architecture of a computer, the fundamentals of input and output, without worrying about any technical specification such as clock, bits or memory ammount. At this stage the focus is on understanding how the computer's logic functions by using a high level programming language. The low level and the algebra behind the computer science theory is not seen. The first algorithms start out as simple counting problems with elementary arithmetic, from there it gradually progresses, one command at time, to more complex program structures. It's important to pay attention to the concepts, because computer science is inherently cumulative. If you go wrong with elementary arithmetic, as a consequence, you shall have trouble to use loops. If you have trouble understanding the concepts of how computer memory works (the superficial description, not the low or physical level) and block structured programming, you'll probably have trouble understanding functions.