Fundamental Programming Concepts
zyBooks 2017

Table of Contents

1. Introduction
1.1 Programming (general)
1.2 Programming basics
1.3 Comments and whitespace
1.4 Brief history
1.5 Computers all around us
1.6 Representing information as bits
1.7 Problem solving
1.8 Why programming
1.9 Pseudocode

2. Variables / Assignments
2.1 Variables and assignments (general)
2.2 Variables (integer)
2.3 Identifiers
2.4 Arithmetic expressions (general)
2.5 Arithmetic expressions (integer)
2.6 Example: Health data
2.7 Floating-point numbers (float)
2.8 Using math functions
2.9 Random numbers
2.10 Integer division
2.11 Type conversions
2.12 Modulo operator
2.13 Data types
2.14 Constants
2.15 Pseudocode: Variables and assignments

3. Branches
3.1 Branches
3.2 More branches
3.3 Equality and relational operators
3.4 Detecting ranges using branches
3.5 Logical operators
3.6 Order of evaluation
3.7 Example: Toll calculation
3.8 Floating-point comparison
3.9 Pseudocode: Branches
3.10 Pseudocode: More branches

4. Loops
4.1 Loops (general)
4.2 Loop basics
4.3 More loop examples
4.4 Looping N times
4.5 Loop examples iterating N times
4.6 While and for loops
4.7 Nested loops
4.8 Do-while loops
4.9 Pseudocode: While loops
4.10 Pseudocode: For loops
4.11 Pseudocode: Do-while loops

5. Arrays
5.1 Array concept (general)
5.2 Arrays
5.3 Array iteration drill
5.4 Iterating through arrays
5.5 Swapping two variables (general)
5.6 Pseudocode: Arrays

6. User-Defined Functions
6.1 User-defined function basics
6.2 Return
6.3 Reasons for defining functions
6.4 Functions with branches/loops
6.5 Functions with array parameters
6.6 Pseudocode: Functions
6.7 Pseudocode: Functions with array parameters

7. Software Topics
7.1 Algorithms
7.2 Language survey
7.3 Libraries

8. Troubleshooting Process
8.1 Troubleshooting: Hypotheses and tests
8.2 Logic of troubleshooting
8.3 Creating hypotheses
8.4 Ex: iPhone headset
8.5 Ex: USB car charger