Meet our AI-powered Study Buddy chat bot. And ask it lots of questions as you’re learning!
Philosophy for question-asking
Questions are places in your mind where answers fit. If you haven’t asked the question, the answer has nowhere to go. It hits your mind and bounces right off. — Clayton Christensen
This course is question-driven, we need you to ask questions.
For the first 10 years I taught this course, pre-ChatGPT, I had a rule: you were only allowed to struggle with something for a maximum of 15 minutes before you asked a question. This rule was there to encourage students to ask tons of questions, to not be embarrassed of asking so-called “dumb” questions, and to not worry about “bothering” us — we love questions.
Now, with AI, you can get answers instantly, at any time of day or night — which is great! But it also makes it easy to fall into the trap of continuously copy-pasting back and forth between AI and your code editor (even I fall into this trap sometimes). That cheats you of the learning that the projects are designed to cultivate.
So, I’ve added another clause to the rule: you should avoid getting help from AI until you’ve struggled with it yourself for a minimum of 5 minutes. We’ve found that the “min 5, max 15” rule results in a productive amount of struggling.
Our rule: You should struggle yourself for at least 5 minutes, and at most 15 minutes, before writing up a question.
The course is organized according to the lock-before-key principle. There may be times when only limited information is provided to solve an exercise, with more details revealed later on when you ask questions.
Learning occurs through asking questions.
Meet Study Buddy
You may have already noticed that when you highlight text on a page in a lesson, you are presented with the option to “Copy to clipboard” or “Ask Study Buddy”:
Click “Ask Study Buddy” and a panel will open on the right side of the page, allowing you to ask a question about the highlighted text:
You will receive answers to your questions from our AI assistant, Study Buddy. You can also access Study Buddy directly, without highlighting any text, by clicking the “Chat with Study Buddy” button in the bottom right corner of the page.
Study Buddy as a course search tool
When Study Buddy appears on a lesson page, like this one here, it will provide advice specific to the lesson, including assistance with any interactive exercises.
However, there is a second version of Study Buddy available on the course overview page. The course-overview version of Study Buddy can provide general answers to logistics-related questions, but if you ask concept- or code-related questions, then it will point you to relevant lessons instead of dispensing specific advice.
Essentially, the course overview version of Study Buddy is a super-charged search tool to help you navigate through dozens of lessons. It’s easy to forget where you learned about something, but Study Buddy can help!
Once you click on a lesson that looks helpful, you can ask your specific question again and Study Buddy will assist:
Try posting a question to Study Buddy both here in this lesson and on the course overview page. Experiment! What kind of questions will it answer? What kind of questions won’t it answer?
Finding your previous Study Buddy chats
Revisit a chat using the “Previous posts” dropdown in the side panel. The chats shown in that dropdown are limited to the current lesson or course page that you are on:
If you want to see all of your chats, across all lessons and courses, you can navigate to your post history via the “Study Buddy” link in the navigation bar at the top of the page (here is a quick link there).
Why should I use Study Buddy rather than ChatGPT?
There are many reasons to use Study Buddy rather than ChatGPT or any other external AI assistant:
-
We’ve done a lot of work to fine-tune Study Buddy to be excellent for beginners, and specifically excellent on our course materials. (We’ll teach you the technical meaning of “fine-tuning,” and how to do it yourself, as part of our AI learnings.)
-
Study Buddy knows what you’re working on when you ask a question (because you ask it right here, in First Draft, while you’re reading a lesson), so Study Buddy can provide a much better answer than any external assistant, which will lack needed context.
-
Under the hood, Study Buddy uses the same AI models that ChatGPT does, but Study Buddy always uses the best, most up-to-date version. If you’re on the ChatGPT Free or Plus plan (i.e., if you’re not on the $200/month Pro plan), you’re probably not using the best model.
-
Study Buddy also incorporates other models, like the Gemini series from Google, to provide you with the best possible answer in any context.
-
There are no usage limits with Study Buddy. Most of the external assistants (ChatGPT, Claude, Gemini, etc) will throttle your usage or move you to a less capable model after some quota.
-
Most importantly: your human instructors are still in the loop when you ask Study Buddy a question. We monitor all threads, and step in when the AI provides an incomplete or misleading answer, or when there’s a question that only an instructor can answer.
So please, if you’re going to use any AI, use Study Buddy!
Putting code in your Study Buddy posts
You will often be putting pieces of code in your question posts. To improve the readability of your questions and allow instructors and human TAs to assist you, please get familiar and comfortable with pasting code inside of backticks. The backtick is this symbol: `, usually found in the top left corner of your keyboard.
For instance, if I write:
my_variable = “Hello”
It’s not clear that I’m writing code, and the formatting might be messed up if I have a lot of lines of complicated code.
However, if I add three ``` backticks on the line just above and on the line just below my code:
1
2
3
```
my_variable = "Hello"
```
It will render as:
1
my_variable = "Hello"
The result is much better formatted in code font
!
In fact, I can even add the language (e.g. html, ruby) that my code is written in after the first three backticks on the first line, and the code color will also be specific to that language and make the code even easier to read! Neat!
Using ```ruby on the first line of three backticks:
1
2
3
4
```ruby
my_variable = "Hello"
sum = 1 + 1
```
will render as:
1
2
my_variable = "Hello"
sum = 1 + 1
Or, we could write something in HTML, like:
1
2
3
```html
<h1>Hello, world!</h1>
```
which renders as:
1
<h1>Hello, world!</h1>
Before you move on, let’s just make sure you can find those backticks on your keyboard.
We do attempt to autoformat your posts to try to fix any issues, like missing backticks. The autoformatting will not appear in your live conversation, but rather when you revisit a chat using the “Previous posts” dropdown in the side panel or by navigating to a previous chat in your post history.
Conclusion
Study Buddy is a great tool for asking questions. If you let it do all of the thinking for you (“just tell me the answer”), you won’t learn as much! But please do use Study Buddy often to help you get unstuck when you’ve been puzzling over something for at least 5 minutes.
Assessment Details
Review your overall progress for this lesson
Assessment Title | Earned Points | Current Progress | Assessment Points |
---|---|---|---|
Rule for Asking Questions | 0.0 |
|
1 |
First Question | 0.0 |
|
1 |
Backticks | 0.0 |
|
1 |
Time taken | 0.0 |
|
1 |
Totals | 0 | 0% | 4 |