Characters, Atoms and Lists
Data and Functions
A Visit from Outer Space
Characters and Atoms
Introducing Lists
Lists
Matching Parentheses
Atomic Elements and Data Expressions
Counting Parentheses
Decomposition Trees
Primitive Functions
Black Boxes
The First Machine
Machine Hook-Ups
A New Machine
Functions
List Construction
Predicate Functions
Review for Test 1
Test 1
Generators and If-Switches
Data Expression Generators
If-Switches
Problem Set 1
Functional Expressions
Variables
Functional Expressions
Evaluation
Expressions for Generators and Conditionals
Quote-Expressions
Cond-Expressions
Simplifying Cond-Expressions
Evaluating Cond-Expressions
Review for Test 2
Test 2
Derived Functions
Constructing New Functions
Making New Functions
Names for Derived Functions
Using Derived Functions
The Scheme Evaluator
Problem Set 2
Boolean Functions
Problem Set 3
Programming
Top-Down Programming
Review for Test 3
Test 3
Recursion
Lats
Trace Tables
Recursive Functions
Problem Set 4
Recursive Functions that Output Lists
Problem Set 5
Problem Set 6
Review for Test 4
Test 4
Numbers
The Scheme Library
Preserving your Definitions
Working with Numbers
Introducing Numbers
Problem Set 7
Exponentiation
Review for Test 5
Test 5
Data Structures
Introduction
Introduction to Data Structures
Global Variables
Arrays
Pairing Lists
Arrays
Problem Set 8
Review for Test 6
Test 6
Trees
Taxonomic Trees
Binary Trees
Ordered Binary Trees
Tree Sort
Problem Set 9
Review for Test 7
Test 7
Object-Oriented Programming
Introduction
Introducing Object-Oriented Programming
Sequencing Evaluations
Local Variables
Function-Valued Functions
Functions That Output Functions
Mixed Lambda-Expressions
Classes and Objects
Objects
Classes
Handling the Unexpected
Derivation and Inheritance
Making Objects That Can Change
Changing Bindings
Review for Test 8
Test 8
Powerful and Convenient
Computer Science: A First Course brings several advantages to teachers:
- Help is available to teachers via email or via the online Help Desk. Responses to Help Desk questions are often available within minutes.
- Each student has a username and password, and may work on the material at any computer with an internet browser, anywhere, anytime.
- The course includes integrated exercises, both graded and ungraded, problem sets, test reviews, and tests. All student answers, including complete scheme programs, are graded automatically.
- The course provides an online Scheme interpreter that works via the browser — no additional software is needed. The interpreter is embedded into the pages of the course, and is also available in a stand-alone form.
- After automatic grading, results are posted in the students' online gradebook. Teachers have a master online gradebook that allows students' progress to be tracked precisely.
- Teachers control access to online tests, as well as how the test is administered. Once a student or class of students are given access to a test, the test may be taken online with results posted to student online gradebooks.
- Teachers can allow students to work at their own pace through the material, yet still keep precise information about each student's progress. This feature allows teachers to successfully meet the individual needs of each student.