How DSA works
DSA (Digital Student Assistant), formerly YPDSA, is Prof. Pisan's tutor for CSS 342 and 343. It knows the lectures, slides, and textbook for each course, and it answers in his voice and with his examples. It is here to help you learn the material, not to do the course for you.
What you can do
- Ask about any topic in your own words. When the answer is on a slide, the slide opens next to the chat (on a phone, tap ๐ฝ Slides).
- Get feedback on code. Press </>, paste your C++ (or photograph handwritten code on a phone), and it tells you what is wrong and where to look. Before it grades, it asks what score you expect.
- Practice. Ask for an exercise on a topic, or say "quiz me on recursion". Ways to practice, below, lists every kind and whether it counts.
- Prepare for an exam. Ask it to trace an algorithm with you, to let you try each step, or to explain why an answer is wrong.
- Hear it. When the voice is on, the ๐ button under a reply reads it aloud in Prof. Pisan's voice.
How it helps, and what it will not do
- A similar problem, not your homework. On a topic that is new to you it works through an example on a problem like yours and points you to the slide. It will not write your assignment's solution; if you push for it, it holds where it is and says why. On a topic you have shown you know, it gives less (a pointer or a question), so you take the step yourself.
- Your guess first. When there is an answer to find, it asks what you think before it tells you, then confirms or corrects it. A rough guess is fine.
- Stuck? Show me more. When you have tried and are still stuck, the Show me more button under its reply gives one more step of help, up to explaining the answer and why it works.
- Sometimes, before going deeper, it gives a short mastery check on a topic yours builds on. Answer it (or say "not now") and it continues.
- Before it answers a question on a topic you have not tried yet, it may ask one quick question first. Your best guess is fine: it tells the tutor where to start. Answer in a sentence, or tap Skip to come back to your question.
- It can be wrong. Check anything important against the lecture or the book.
Asking good questions
It helps one step at a time, and each step builds on what you have shown it. The more of your own thinking you share, the better the next step fits.
- Share an attempt first. Paste your code, your trace, or your half-answer, even if you think it is wrong. "Here is my insert, and it loses the new node" gets a sharper hint than "how do I insert into a BST?"
- Paste the exact error message or the failing test, not a description of it.
- Say what you expected to happen, and what happened instead.
- Predict before you ask. "I think this is O(n log n), because the inner loop halves each time." A guess you can check teaches you more than an answer you read.
- Explain your idea back. After a hint, say in your own words what you will try next. That is how you find out whether you have it.
- Stuck after a hint? Say where you are stuck, or press Show me more when it appears under the tutor's last reply to ask for one more step of help.
- One question at a time. Name the lecture or assignment if it matters.
- Want to think it through yourself? Say "let me try each step".
Ways to practice
Some move a topic along on your ๐บ Map, some only set when it comes back for review, and some are just for you.
- Exercise. Ask for one in the chat and send your code with </>. Scored 0 to 4; good scores move the topic along on your map.
- Mastery check. Three questions on one topic: 2 of 3 passes it and makes the topic Solid on your map. The tutor gives one before a topic that builds on it, and Test me now on Am I ready? gives one when you ask.
- Quick check. One or two short questions the tutor offers after a missed exercise or mastery check, or a lecture you watched; start it from your progress panel (behind ๐ก on a phone). It sets when the topic comes back for review, never your map.
- ๐ Review. One question at a time on topics you answered before, timed so they stick. It sets the next review, not your map.
- ๐ Find my bug. Some topics have a short C++ program with exactly one bug: open one from the topic on the ๐บ Map and say which line is wrong, why, and how you would fix it. Your first answer on each counts like a review; later tries are practice.
- ๐ Teach-Back. Explain a lecture to Kit. Practice is never graded; it sets when the topic comes back for review, never your map.
- On the ๐บ Map. Teach me, Quiz me and Talk it through start a conversation about the topic in the chat. Nothing there is scored unless you ask for an exercise.
Words you will see
| Not started, Started, Practiced, Solid | Where a topic stands on your ๐บ Map. Solid: you passed its mastery check or did well on it several times. |
|---|---|
| Not yet, Practiced, Solid, Confirmed | The same on Am I ready?, where Confirmed is Solid and right again later. |
| Not there yet, Shaky, Got it, Nailed it | One answer's score, 0 to 3, on a quick check or ๐ Review, and in Find my bug. |
| 0 to 4 | An exercise's score, from 0 (does not compile) to 4 (excellent). |
| Check passed | 2 of 3 on a mastery check: the topic is Solid on your map. |
Getting around
- ๐ฌ Chat: the tutor. ๐ก shows suggested questions. The course menu in the header switches courses, and the lecture menu above the slides picks which slides you see (on a phone, tap ๐ฝ Slides first).
- ๐บ Map: every topic in the course, what you have covered, and what comes next, with links to the slide and the book section.
- ๐ Lectures: the slide decks with narration.
- ๐ Review: short retrieval practice on things you learned earlier, timed so they stick. A topic lands there once you answer a graded question on it, like an exercise or a quick check. When something is due, your progress panel says so (behind ๐ก on a phone).
- ๐ Teach-Back: turn it around and explain a lecture to Kit, who asks why and what if until it finds what you know and what to add. The tutor (Bo) explains to you; in Teach-Back you explain. Practice is never graded.
- ๐ Book: the course text. ๐งญ Order: optional; changes the order topics are suggested in.
- ๐ญ Character: optional; the tutor can talk as a pirate, a detective, a drill sergeant and more. The same teaching and the same hints, in a different voice. Professor Pisan is the default.
Your data
Your questions, code, and progress are recorded to run the tutor and to improve it for future students. If your instructor uses DSA for your class, they can see how you are using it โ how often, which topics, how the exercises went โ and read your conversations for that class. How you use the site is recorded too: which pages, slides, and lectures you open, and for how long. It is a learning tool: it is not used to grade you, and your data is never sold or shared outside the course. Identifiable records are kept for up to one year, then anonymized. To request deletion, email [email protected]. The full notice is on the course site. If you add your own Anthropic API key on the Settings page, it is used only after your class budget is spent, and Anthropic bills that use to you.
Something wrong?
Press ๐ under the reply and say what was off; Prof. Pisan reads those. For anything else, email [email protected].
digital-student-assistant.com ยท CSS 342 and 343 ยท UW Bothell