Skip to content

Self-Assessment: Before and After ​

A 15-minute survey you take at the start of the course and again at the end. It shows how your confidence and your understanding changed, and whether they match.

🔴 AI off, and not graded. Answer on your own, without AI or search. There's no penalty for wrong answers or low ratings. The only way to get this wrong is to guess what you think we want to hear.

Why we do this ​

Two things can grow in a course like this: how confident you feel, and what you can actually do. They don't always grow together. In one study, students who struggled with AI tools finished believing they had done better than they had (Prather et al.). Experienced developers in another study were 19% slower with AI but believed they were about 20% faster (METR 2025).

No controlled study yet shows how much programming knowledge non-programmers need to vibe-code safely, and there is still no semester-long trial of teaching non-programmers this way, so this course measures its own students' understanding before and after (September landscape report; October update). Your answers help you see your own progress, and help us improve the course.

When and how ​

Pre-coursePost-course
WhenDuring week 1 (it's on the week 1 checklist)Week 8, in Studio B
WhereOn Canvas, the course's learning management system, as an ungraded surveyThe same survey on Canvas
TimeAbout 15 minutesAbout 15 minutes
Graded?No. Completion is notedNo. Completion is noted

Your answers stay on Canvas, where only you and the course staff can see them. Don't put them in a repository. Your final capstone reflection asks you to compare your pre-course and post-course answers, so you can look back at them on Canvas.


Part A: Confidence ​

For each statement, choose how confident you are right now.

Scale: 1 I wouldn't know where to start · 2 Only with a lot of help · 3 With some help · 4 On my own, slowly · 5 On my own, and I could explain it to someone else

#I could…12345
C1explain in plain words what an AI model is doing when it writes code☐☐☐☐☐
C2write a prompt that gets an AI to build a small feature I can check☐☐☐☐☐
C3write a one-page plan (spec) for an app, with requirements someone else could test☐☐☐☐☐
C4publish a web page so that anyone with the link can see it☐☐☐☐☐
C5save versions of my work and go back to an earlier one if something breaks☐☐☐☐☐
C6read an error message and find the line of code that caused it☐☐☐☐☐
C7explain, line by line, a short piece of code that I didn't write☐☐☐☐☐
C8test an app with unusual inputs, not just the normal case☐☐☐☐☐
C9keep a secret key safe when building an app that needs one☐☐☐☐☐
C10say who can read and change the data in an app I built☐☐☐☐☐
C11let an AI agent change my project safely, and check what it did☐☐☐☐☐
C12switch to a different AI tool when my usual one stops working☐☐☐☐☐

Part B: Concept checks ​

Answer each question. In the pre-course survey it's fine to write "I don't know"; that's useful information too.

Q1. Your app is published on the web. Its code is stored in a private repository. The project contains these files:

  • public/index.html (the page)
  • public/app.js (the page's JavaScript)
  • api/ask.js (code that runs on the server)
  • .env (settings, including a secret key, on your computer only)
  • README.md (notes about the project)

Which of these files can a visitor to your website see or download? Tick all that apply.

☐ public/index.html ☐ public/app.js ☐ api/ask.js ☐ .env ☐ README.md ☐ I don't know

Q2. Your app uses a paid AI service that needs a secret key. Where should the key live?

  • ☐ (a) At the top of app.js, so the page can use it
  • ☐ (b) In a hidden field in index.html
  • ☐ (c) In an environment variable that only the server code reads
  • ☐ (d) In a code comment, so you remember it
  • ☐ I don't know

Q3. Which of these requirements could someone test by using the app?

  • ☐ (a) "The app should be fast and easy to use."
  • ☐ (b) "WHEN I press Add with an empty box, THE APP SHALL add nothing and SHALL show 'Please type something'."
  • ☐ (c) "The app handles errors well."
  • ☐ (d) "The app should look modern."
  • ☐ I don't know

Q4. Your browser shows this error:

Uncaught ReferenceError: scroe is not defined
    at app.js:22

Which file and line would you look at, and what's most likely wrong? (One or two sentences.)

Answer: ____________________________________________________________

Q5. You saved a change to your project that broke it, and you want to undo that change while keeping a record of what happened. What's the best option?

  • ☐ (a) Delete the project and start again
  • ☐ (b) Use git to "revert" the bad change
  • ☐ (c) Keep editing files until it works again
  • ☐ (d) Ask the AI to undo everything it did today
  • ☐ I don't know

Q6. Your web page talks directly to a database using a key that anyone can see in the browser. What stops a stranger from reading everyone's data?

  • ☐ (a) Nothing needs to: the key is long, so nobody can guess it
  • ☐ (b) Access rules in the database that decide who can read or change each row
  • ☐ (c) Hiding the key in a file with a confusing name
  • ☐ (d) The padlock (HTTPS) in the address bar
  • ☐ I don't know

Part C: Two open questions ​

Pre-course: What do you most want to be able to build or do by the end of this course?

Post-course: What can you do now that you couldn't do in week 1? What do you still want to learn?


Materials CC BY 4.0 · Code MIT