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.