Introduction to Programming and Computational Problem-Solving
Programs and Values
(6 steps, 11 runnable, 8 exercises)
— Run your first programs right on the page
Hello, Pict!
Number Definitions
String Definitions
Operators
Non-integer Numbers
Programs and Values in Summary
Data That Travels Together
(8 steps, 26 runnable, 13 exercises)
— Records: declare the shape of your data
Values that belong to each other
Records and Images
More Composition
Methods for Repeated Computation
More Methods
Convenience Methods
Methods Provided by Java
String Methods
The Main Thing
(5 steps, 10 runnable, 5 exercises)
— What java does with a file, why main matters, and more ways to run and check programs
The Main Thing
Main and Pict
Into the Void
Just in Case
Checking Assertively
Recipe for Success
(4 steps, 14 runnable, 9 exercises)
— Going from word problem to code.
Breaking It Down
Pizza
A Helping Hand
Practice
Collecting Values
(9 steps, 13 runnable, 16 exercises)
— Working with arrays (our first example of a collection)
A List of Names
Arrays and Records
Arrays and Loops
More Arrays and Loops
Arrays and main
Counter as an Index
Arrays of Unusual Size
Making Arrays
Collecting Values in Summary
How Java Runs
(8 steps, 17 runnable, 17 exercises)
— Looking at the details of how Java runs our programs
When Some Values are More Equal than Others
Checking Contents vs Checking Identity
Methods and Memory
Methods that Update Arrays
Objects, Methods, and Memory
Aliasing
Nuanced and Nested Structures
How Java Runs in Summary
Nested and 2D Structures
(6 steps, 12 runnable, 13 exercises)
— Arrays of arrays and objects containing arrays of...
Rows of Seats
Sitting with Friends
Rasters
Index Loops with Rasters
Negatives
Nested and 2D Structures in Summary
Classes that Share Behavior
(6 steps, 18 runnable, 9 exercises)
— Asking questions about data with methods, and what happens when there are too many questions
Searching for Images
Combining Queries
Queries as Data
Growing ImageData
The Pict Library, Revisited
Building Your Own Pict
Appendix: The Pict Library
— Pict constructors and methods
Appendix: Working on Your Own Computer
— The kit: the Pict library, JUnit, and a Codespace
Glossary