KotlinCS 124 LogoJava

Index

Installation

Claude

Git

Effort Logging

Effort Logging

Your independent project grade is based on the time you spend working on it. Here’s how that time is measured, and how to make sure yours counts.

How It Works
How It Works

Your project grade is based on hours of engaged work, measured from your Claude Code activity. Your project repository configures Claude Code to report each prompt, tool call, and reply to cs124.org the moment it happens, and our server timestamps each one as it arrives. Your hours are computed from that record by a fixed rule, described below. No AI model decides them. Today’s hours update on the /MP page as you work, and each day’s total is saved at the end of the day.

There is nothing to push for your time to count. You do still need to push to save your code—see below.

Getting Connected
Getting Connected

  1. Use the Code tab of the Claude desktop app (or claude in a terminal), not the Chat tab and not claude.ai in your browser.
  2. Start the session in your project folder: the one containing CLAUDE.md, not the folder you cloned it into. In the Code tab, click + New session, choose Local, then Select folder, and pick your repository’s folder. See the Git guide.
  3. Answer yes if asked about trust. If Claude asks whether you trust the files in this folder, answer yes. That is what enables the project’s hooks, and without it nothing is reported.
  4. Send a prompt. Nothing is reported until you do.

Once the first event arrives, the /MP page shows “Claude Code activity received”. If it still says Claude Code isn’t reporting, check that you started the session in the right folder, and that .claude/settings.json in your repository is unmodified. Asking Claude to run git checkout .claude/settings.json, or running it yourself in the terminal pane, restores it.

How Hours Are Counted
How Hours Are Counted

Your hours are made of turns. A turn starts when you send a prompt and ends when you send the next one. Each turn earns:

A turn never earns more than the time that actually passed before your next prompt. Your daily hours are the sum of your turns.

Here is one turn. You ask Claude to add a button to your main screen. Claude works for three minutes, edits a file, and replies; the reply and the change it shows you come to 1,200 characters. You read it, run the app, and nine minutes after your first prompt you send a 400-character follow-up describing what you saw. That turn earns three minutes of Claude working, one minute of reading, two minutes of typing, and two minutes to think: eight minutes of the nine that passed.

Some time does not count:

What Counts
What Counts

Only work on your CS 124 project counts. That means Claude Code sessions started in your project folder, spent on your app: building it, fixing it, testing it, deciding what to build next, and learning what you need to do those things.

These do not count, and do not belong in your project folder:

Use a different folder, or a Chat conversation, for anything that is not your project. Staff review session transcripts, and time spent on anything else is removed from your hours.

What Is Sent and When
What Is Sent and When

Each report also carries the session id and the path of your project folder. Everything is sent over HTTPS to cs124.org, is visible to course staff only, and is the same material as the transcript already saved in your repository.

Still Commit and Push
Still Commit and Push

Pushing is how your code is saved, and it also keeps a backup copy of each session transcript in .claude-sessions/ in your repository. If reporting ever fails—no network, or something blocking the hooks—the pushed transcript is used instead, so nothing is lost as long as you push. Commit and push at the end of every work session.

Use Claude Code for Everything
Use Claude Code for Everything

This includes work that happens outside your code editor. If your app uses external services (like Firebase, Supabase, a REST API, etc.), ask Claude Code for step-by-step instructions rather than following a tutorial on your own. For example:

This way the conversation is reported—even if the actual work happens in a browser or dashboard—and we can see the time you spent figuring things out.

Common Mistakes
Common Mistakes

Checking Your Activity
Checking Your Activity

The /MP page shows when your last Claude Code activity was received, how many sessions you’ve had today, your hours today so far, your hours for each week, and your progress toward the 24 hours the project requires. If the last activity received is older than the session you just finished, your hooks aren’t reporting—go back to getting connected. The sessions page lists every session by day, with each turn of the conversation and the minutes it earned.

Working on your project with Claude Code during your Tuesday discussion section counts toward your hours, measured the same way as any other time. Attendance by itself earns no hours.