Class prep · TJ Foundations of Computer Science

Understand the program,then make it work.

An independent beginner course in computer science. Learn to read, run and repair Java programs, then explain their behavior using precise inputs, traces and tests. Every problem has a full worked solution. Built by Neil Kothari, a TJ alumnus.

$395 covers the full school year. The first lesson is free.

Try one. This is a test-level question from the course.

Problem 1

  • Test level
  • Multiple choice
  • No calculator
  • 4 pts

Allowed inputs are nonempty uppercase words. The required output is the entire input enclosed in square brackets. Which rule satisfies every allowed input?

Choose one answer

original problems, each with a worked answer
624
original problems, each with a worked answer
at test level or beyond
432
at test level or beyond
short lessons, one for every topic
48
short lessons, one for every topic
units, all open now
8
units, all open now

Free lesson

Lesson 1.1: Instructions, Algorithms and Observable Behavior

Turn an everyday request into precise inputs, valid actions and checkable results.

Start with a clear specification. Identify the inputs, outputs and allowed actions, then trace a procedure to check whether it meets the goal.

Problem 2

  • Core
  • True or false
  • No calculator
  • 2 pts

A packing procedure says, "Take one card from the left tray and put it in the envelope." The left tray is empty. Claim: a successful execution requires an available card, so the stated initial tray does not meet that requirement. Judge the claim and explain the missing precondition.

Is the statement true or false?

Problem 3

  • Core
  • Multiple choice
  • No calculator
  • 4 pts

A machine receives exactly one supplied digit, here 4. Which statement specifies the required observable output rather than an internal implementation step?

Choose one answer

Open the rest of this lesson, free

The full lesson and all 13 of its problems, with every worked answer.

I am aI am a

Your free lesson opens right here, on this device for 30 days. We'll email you occasional TJ class prep updates. Unsubscribe anytime.

How it works

Class prep that works alongside class

A complete beginner course in computer science with no prior programming required. Work alongside your school course or study the material in sequence. Each lesson starts with a concrete example, develops the idea, and shows how to check your reasoning before you try the practice.

  • Original problems in several formats: true or false, multiple choice, multi-part and free response.
  • Each one is marked core, test level or beyond.
  • Trace program state, write small Java programs and use clear tests to explain and repair their behavior.
  • A worked answer for every problem, ending with the mistake that most often costs points.
  • Java values, decisions, loops, classes, arrays, files and supplied graphical interfaces, with original diagrams and worked reasoning.

What is inside

  1. 1Programs, values and the Java workflow6 lessons · 78 problems
  2. 2Decisions and repetition6 lessons · 78 problems
  3. 3Methods and text processing6 lessons · 78 problems
  4. 4Designing classes and collaborating objects6 lessons · 78 problems
  5. 5Arrays and structured collections of values6 lessons · 78 problems
  6. 6Console input, text files and reliable data flow6 lessons · 78 problems
  7. 7Graphics and event-driven programs6 lessons · 78 problems
  8. 8Algorithms, representation and responsible program design6 lessons · 78 problems
The front entrance of Thomas Jefferson High School for Science and Technology
Neil Kothari, co-founder of EduAvenues

Who built it

Neil Kothari

TJHSST alumnus · Co-founder, EduAvenues · 10+ years in TJ preparation

Neil is a TJ alumnus and has spent more than a decade working with TJ students and their families. He built this course so students can connect precise specifications, program state, code and tests. Every problem is written for the course and every answer is checked before it goes in.

Tuition

$395for the full school year

One tuition covers every unit of the course. All 8 units are open now. The Instructions, Algorithms and Observable Behavior lesson stays free for everyone.

  • All 8 units: 48 lessons and 624 original problems
  • A worked answer for every problem
  • Access through the end of the school year
Enroll