Intermediate CS

Overview

Intermediate Computer Science uses the Picturing Programs textbook and the DrRacket environment. On a Chromebook, use WeScheme, but read the notes on WeScheme because it is different in some ways.

Eventually you will want to understand why we learn Racket instead of a more popular language like Python.


1. Introduction

Learn the essentials of image manipulation: rotating, flipping, and combining images.

3. Images

4. Functions

Writing functions and check-expects.

6. Animations I

Big-bang for animations. Essential information and walkthroughs.

7. Numbers

Numerical functions, including gradients.

8. Number Models

Animations that remember a number instead of an image.

9. Strings

Working with text.

13. Booleans

True or false values. Comparison functions.

14. Booleans II

15. Conditionals

Making choices in Racket using ‘cond’.

17. Cond Animations

Use of conditionals in animations.

Sem.I Review

Review through Chapter 17. End of Semester I.

20. Using Structures

Remembering or returning more than one thing. For example, coordinates.

21. Structures

More than one piece of information in one variable, generalizing posn and color.

22a. Recursion

Recursion lets you solve a problem by solving simpler problems.

22b. Lists

Lists give a way to remember an unlimited number of items.

24. Universe

Make multi-player, multi-computer games in Racket.

Misc

Exercises and review that did not have a simple category.

Projects

Larger projects with specifications.

Sem.II Review

Typed Racket

A version of Racket that enforces signatures. Helps transition to strongly typed languages like Java.

Resources

General resources for Intermediate CS.

Pro Features

Brief descriptions of advanced topics that have come up in various individual projects.

Online Help

Last modified August 18, 2023: 2022-2023 End State (7352e87)