1.2: Hardware/Software Model of a Computer
1.2.1: Hardware vs. Software
Please review the notes for Chapter 1. For maximum benefit, go through these notes interactively, thinking about and answering the questions at the bottom of each page.
These notes are an experiment in applying the "programmed learning" method to web-based computer aided instruction. The subject is Java Programming for beginning programmers. The content is intended to start beginning programmers out on the track to professional-level programming and reinforce learning by providing abundant feedback.
1.2.2: Programs and Processes
Please watch this lecture on binary numbers, which are used to represent numbers in computer memory. In fact, all types of information, not just numbers, but characters as well, are stored in memory using binary bits (i.e. digits) of 0 and 1. We still write numbers in our programs using decimal numbers, but the interpreter converts them to binary when it interprets them for execution as part of a machine language instruction (the interpreter interprets the Java or Python statement to equivalent, i.e. same semantics, machine language statements). If you are familiar with and understand the concepts of base 10 radix (decimal number system) and base 2 radix (binary number system), you may skip this lecture.
Please review the notes for Chapter 4. As you work through the notes, think about and answer the questions at the bottom of each page.
1.2.3: The Software Development Lifecycle
Please read this brief article about the programming lifecycle. As you read, consider the following steps of the programming lifecycle:
- Planning and Analysis
- Design
- Implementation
- Testing and debugging
- Deployment
- Maintenance
1.2.4: The Programming Process
Please read this brief article about the unified process model.