University Computer Science
Course Description
University Computer Science I is the first course in the
Modern Computer Science track, a sequence of fully interactive, self-contained, online programming courses for high school students. University Computer Science I teaches the programming language Scheme, the language of choice at many of the finest computer science universities around the world because it enables students to focus on advanced concepts that can be easily applied to any programming language. This is a true online course and includes online Scheme interpreter, interactive exercises, and instant feedback with automatic grading of all work.
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
Procedures
Each student is assigned a principal IMACS instructor, and is given unlimited access to the curriculum for the registration period.
The principal instructor is available by phone or by email during regular business hours. Additionally, the principal instructor or other IMACS instructors are available via the online Help Desk, monitored seven days a week including evenings.
Students submit assignments and tests online. Scores for assignments and tests are accumulated into the student's online gradebook so that parents, students and instructors can monitor student progress.