Intro to Modern Computing Methods
By John Smith
Front Matter
•
•
•
•
•
•
Preface
About This Book
How to Use This Book
Prerequisites and Learning Outcomes
Notation and Conventions
Acknowledgments
Part I — Foundations of Computing (pp. 1–120)
Chapter 1: What Is Computing?
(pp. 1–22)
1.
2.
3.
4.
5.
6.
Computing as a Problem-Solving Discipline
Historical Evolution of Computing
Computing vs. Computer Science vs. Information Technology
Computational Thinking
Abstraction and Modeling
Overview of Computing Domains
Chapter 2: Data, Information, and Representation
(pp. 23–52)
1.
2.
3.
4.
5.
6.
Data vs. Information
Types of Data
Number Systems (Binary, Octal, Hexadecimal)
Text Encoding (ASCII, Unicode)
Images, Audio, and Video Representation
Precision, Errors, and Approximation
Chapter 3: Computer Systems Overview
(pp. 53–90)
1.
2.
3.
4.
5.
6.
Hardware and Software
The Von Neumann Architecture
CPUs, Memory, and Storage
Input and Output Devices
Embedded and Mobile Systems
Performance Metrics
Chapter 4: Software Ecosystem
(pp. 91–120)
1.
2.
3.
4.
5.
System Software
Application Software
Programming Languages Overview
Compilers, Interpreters, and Runtimes
Development Environments
Part II — Programming Fundamentals (pp. 121–300)
Chapter 5: Introduction to Programming
(pp. 121–150)
1.
2.
3.
4.
5.
What Is a Program?
Algorithms and Pseudocode
Program Execution Model
Syntax vs. Semantics
Debugging Concepts
Chapter 6: Variables, Data Types, and Expressions
(pp. 151–185)
1.
2.
3.
4.
5.
Variables and Memory
Primitive Data Types
Constants and Literals
Arithmetic and Logical Expressions
Type Conversion
Chapter 7: Control Flow
(pp. 186–225)
1.
2.
3.
4.
5.
Sequential Execution
Conditional Statements
Boolean Logic
Loops and Iteration
Nested Control Structures
Chapter 8: Functions and Modularity
(pp. 226–265)
1.
2.
3.
4.
5.
Motivation for Functions
Parameters and Return Values
Scope and Lifetime
Recursion
Modular Program Design
Chapter 9: Testing and Debugging
(pp. 266–300)
1.
2.
3.
4.
5.
Types of Errors
Debugging Strategies
Unit Testing
Assertions and Defensive Programming
Program Documentation
Part III — Data Structures and Algorithms (pp. 301–480)
Chapter 10: Algorithm Analysis
(pp. 301–335)
1.
2.
3.
4.
What Makes an Algorithm Efficient
Time and Space Complexity
Big-O Notation
Best, Average, and Worst Cases
Chapter 11: Arrays and Lists
(pp. 336–370)
1.
2.
3.
4.
Arrays and Memory Layout
Static vs. Dynamic Arrays
Lists and Sequences
Common Operations
Chapter 12: Stacks and Queues
(pp. 371–405)
1.
2.
3.
4.
Abstract Data Types
Stack Operations and Applications
Queue Variants
Implementation Techniques
Chapter 13: Trees and Hierarchical Structures
(pp. 406–445)
1.
2.
3.
4.
Tree Terminology
Binary Trees
Tree Traversals
Applications of Trees
Chapter 14: Searching and Sorting Algorithms
(pp. 446–480)
1.
2.
3.
4.
Linear and Binary Search
Comparison-Based Sorting
Non-Comparison Sorting
Algorithm Trade-offs