Skip to main content
Back to top
Ctrl
+
K
Search
Ctrl
+
K
Introduction to Computer Science in Python
Context
Motivation for This Book
Resources Online
Computer Science, Broadly
Chapter Review Questions
Episodes in Computing History
Hardware and Software
The Terminal and Python Setup
The Terminal
Installing and Setting Up Python
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
A First Function Definition
Multiple Function Definitions
Function Parameters
Multiple Function Parameters
Returned Function Values
Type Hints for Functions
Two Roles: Writer and Consumer of Functions
Local Scope
Library Modules
Chapter Review Questions
Modules and Variable Scope
Basic String Operations
String Indexing and Slicing
String Methods and Length
A Creative Problem Solution
Lab: String Operations
Chapter Review Questions
Decisions
Conditions
More Conditional Expressions
Compound Boolean Expressions
Simple
if
Statements
if
-
elif
-
else
Statements
Nested
if
Statements
If-Statement Pitfalls
Chapter Review Questions
User Input
While Loops
While Statements
User Input Utilities
Interactive
while
Loops
While Loops with Sequences
While Loop Examples
Greatest Common Divisor
Lab: Number Guessing Game
Chapter Review Questions
For Loops
For Loop Syntax
The
range()
Function
For Loop Examples
List Comprehensions
Lab: Nested Loops
Chapter Review Questions
Files, Paths, and Directories
Path Strings
Reading Files
Writing Files
Working with
pathlib
Chapter Review Questions
Error Handling
Lists
List Syntax
List Methods
Searching
Sorting
Lab: Lists
Chapter Review Questions
Linear Algebra in Python
Why Linear Algebra?
Vectors
Matrices
Applications: From Algebra to AI
Tuples
Tuple Syntax
Tuple Examples
Tuple Unpacking
Chapter Review Questions
Dictionaries
Dictionary Syntax
Dictionary Examples
Dictionary Efficiency
Lab: File Data and Collections
Chapter Review Questions
Lists of Dictionaries
Dictionary Algorithms
Internet Data
Internet Data
Case Study: Chicago 311 Graffiti Data
Data Analysis with Pandas
Data Analysis with Pandas
Monte Carlo Simulation
Classes and Object-Oriented Programming
A First Example of Class Instances
Class Instance Examples
Planning a Class Structure
Python Dataclasses and Named Tuples
The Rational Class
Chapter Review Questions
Testing
Introduction to pytest
Writing Effective Tests
Chapter Review Questions
Recursion
Introduction to Recursion
Recursion Examples
Recursive Filesystem Traversal
Recursive Descent Parsing
Chapter Review Questions
Data Structures
Stacks and Queues
Linked Lists
Chapter Review Questions
Terminal User Interfaces with Rich and Textual
Case Studies
Case Study: Monte Carlo Simulation
Case Study: Chicago 311 Graffiti Data
Alignment with ACM/IEEE Curriculum Standards
Appendix
Suggested 15-Week Lesson Plan
Contributors
Contributing Guidelines
Acknowledgments
Command Line Introduction
Operator Precedence
Homework: Grade Calculation
Lab: Version Control
Index
Repository
Open issue
Linear Algebra in Python
Linear Algebra in Python
#
Why Linear Algebra?
Vectors
Matrices
Applications: From Algebra to AI