Introduction to Computer Science in Python#
- Context
- Episodes in Computing History
- Hardware and Software
- What Is Hardware?
- The Memory Hierarchy
- Data Representation
- Boolean Logic and Logic Gates
- What Is Software?
- How Hardware and Software Work Together
- The Role of the Operating System
- Processes: Programs in Motion
- Types of Computer Systems
- Information and Communication Technology Literacy
- Metaphors for Hardware and Software
- Exercises
- The Terminal and Python Setup
- Python Data and Operations
- A Sample Python Program
- Lab: Editing and Running Python Programs
- Arithmetic
- Variables and Assignment
- Reading Python Syntax
- Strings, Part I
- Writing to the Screen
- Python Program Structure
- Combining Input and Output
- String Special Cases
- F-Strings and String Formatting
- Types and Conversions
- Learning to Solve Problems
- Lab: Division Sentences
- Chapter Review Questions
- Defining Functions of Your Own
- Modules and Variable Scope
- Basic String Operations
- Decisions
- User Input
- While Loops
- For Loops
- Files, Paths, and Directories
- Error Handling
- Lists
- Linear Algebra in Python
- Tuples
- Dictionaries
- Lists of Dictionaries
- Dictionary Algorithms
- Internet Data
- Data Analysis with Pandas
- Monte Carlo Simulation
- Classes and Object-Oriented Programming
- Testing
- Recursion
- Functional Programming
- Data Structures
- Terminal User Interfaces with Rich and Textual
- Case Studies
- Alignment with ACM/IEEE Curriculum Standards
- The CS Course Sequence
- How to Read the KA Tables
- Coverage Summary
- Software Development Fundamentals (SDF)
- Programming Languages (PL)
- Algorithms and Complexity (AL)
- Social Issues and Professional Practice (SP)
- Architecture and Organization (AR)
- Software Engineering (SE)
- Gap Analysis
- Notes on CS2023
- Recommendations for Instructors
- Appendix
- Index