Fundamental Programming Concepts
zyBooks 2017

1. Introduction
1.1 Programming (general)
1.2 Programming basics
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 Code and 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 Code: 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 Code: Branches
3.10 Code: 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 Code: While loops
4.9 Code: For 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 Code: 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 Code: Functions
6.7 Code: 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