Chapter 1 An Introduction to Computer Science
1.1 Introduction
Special Interest Box:In the Beginning...
1.2 The Definition of Computer Science
Speciol Interest Box:Abu Ja’far Muhammad ibn Musa A[—Khowarizmi(a.d. 780—850?)
1.3 Algorithms
1.3.1 The Formal Definition of an Algorithm
1.3.2 The Importance of ALgorithmic Problem Solving
PRACTICE PROBLEMS
1.4 A Brief History of Computing
1.4.1 The Early Period:Up to 1940
Special Interest Box:The Original \〃Technophobia\〃
Special Interest Box:CharLes Babbage(1791—1871) Ada Augusta
Byron,Countess of Love[ace (1815—1852)
1.4.2 The Birth of Computers:1940—1950
Special Interest Box:John Von Neumann(1903—1957)
Special Interest Box= And the Verdict Is..,
1.4.3 The Modern Era:1950 to the Present
Special Interest Box:Good Evening,This Is Walter Cronkite
Spedal Interest Box:The WorLd﹀s First Microcomputer
1.5 Organization of the Text
EXERCISES
CHALLENGE WORK
Level 1 The Algorithmic Foundations of Computer Science
Chapter 2 ALgorithm Discovery and Design
2.1 Introduction
2.2 Representing Algorithms
2.2.1 Pseudocode
2.2.2 Sequential Operations
PRACTICE PROBLEMS
2.2.3 Conditional and Iterative Operations
Special Interest Box:From LittLe Primitives Mighty ALgorithms Do Grow
PRACTICE PROBLEMS
2.3 ExampLes of ALgorithmic ProbLem Solving
2.3.1 ExampLe 1:Go Forth and Multiply
PRACTICE PROBLEMS
2.3.2 ExampLe 2:Looking,Looking,Looking
2.3.3 ExampLe 3:Big,Bigger,Biggest
PRACTICE PROBLEMS
2.3.4 Example 4:Meeting Your Match
PRACTICE PROBLEMS
2.4 ConcLusion
EXERCISES
CHALLENGE WORK
Chapter 3 The Efficiency of ALgorithms
3.1 Introduction
3.2 Attributes of ALgorithms
PRACTICE PROBLEMS
3.3 Measuring Efficiency
3.3.1 Sequential Search
3.3.2 Order of Magnitude——Order n
Special Interest Box:FLipping Pancakes
PRACTICE PROBLEM
3.3.3 SeLection Sort
PRACTICE PROBLEM
3.3.4 Order of Magnitude——Order n2
Special Interest Box:The Tortoise and the Hare
PRACTICE PROBLEM
3.4 AnaLysis of ALgorithms
3.4.1 Data CLeanup ALgorithms
PRACTICE PROBLEMS
3.4.2 Binary Search
PRACTICE PROBLEMS
3.4.3 Pattern Hatching
3.4.4 Summary
PRACTICE PROBLEM
3.5 When Things Get Out of Hand
PRACTICE PROBLEMS
3.6 Summary of Level 1
EXERCISES
CHALLENGE WORK
Level 2 The Hardware World
Level 3 The Virtual Machine
Level 4 The Software World
Level 5 Applications
Level 6 Social Issues in Computing