From Brookshear; "Computer Science: An Overview" Intro The Role of Algorithms The History of Computing The Science of Algorithms Abstraction An Outline of Our Study Social Repercussions Data Storage Bits and Their Storage Main Memory Mass Storage Representing Information as Bit Patterns The Binary System Storing Integers Storing Fractions Data Compression Communication Errors Data Manipulation Computer Architecture Machine Language Program Execution Arithmetic/Logic Instructions Communicating with Other Devices Other Architectures NOTE: You can expect to write an "Appendix C machine" program Operating Systems The History of Operating Systems Operating System Architecture Coordinating the Machine’s Activities Handling Competition Among Processes Security Networking Network Fundamentals The Internet The World Wide Web Internet Protocols Security Algorithms The Concept of an Algorithm Algorithm Representation Algorithm Discovery Iterative Structures Recursive Structures Efficiency and Correctness Programming Languages Historical Perspective Traditional Programming Concepts Procedural Units Language Implementation Object-Oriented Programming Programming Concurrent Activities Declarative Programming From Gaddis; "Starting Out With C++: From Control Structures Through Objects" Introduction to C++ The Parts of a C++ Program The cout Object The #include Directive Variables and Literals Identifiers Integer Data Types The char Data Type The C++ string Class Floating-Point Data Types The bool Data Type Determining the Size of a Data Type Variable Assignments and Initialization Scope Arithmetic Operators Named Constants Programming Style Expressions and Interactivity The cin Object Mathematical Expressions When You Mix Apples and Oranges: Type Conversion Overflow and Underflow Type Casting Multiple Assignment and Combined Assignment Formatting Output Working with Characters and string Objects More Mathematical Library Functions Focus on Debugging: Hand Tracing a Program Focus on Problem Solving: A Case Study Making Decisions Relational Operators The if Statement Expanding the if Statement The if/else Statement Nested if Statements The if/else if Statement Flags Logical Operators Checking Numeric Ranges with Logical Operators Menus Focus on Software Engineering: Validating User Input Comparing Characters and Strings The Conditional Operator The switch Statement More About Blocks and Scope Loops The Increment and Decrement Operators Introduction to Loops: The while Loop Using the while Loop for Input Validation Counters The do-while Loop The for Loop Keeping a Running Total Sentinels Focus on Software Engineering: Deciding Which Loop to Use Nested Loops You should be familiar with editing and compiling C++ programs in bash