Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TECH ED] Watch the VSCode Debugger Video #29

Open
SallyMcGrath opened this issue May 14, 2024 · 0 comments
Open

[TECH ED] Watch the VSCode Debugger Video #29

SallyMcGrath opened this issue May 14, 2024 · 0 comments
Labels
📅 JS3 This work belongs to JS3 🏕 Priority Mandatory This work is expected 🦔 Size Tiny Less than 30 minutes 📅 Sprint 1 Assigned during Sprint 1 of this module 🎯 Topic Communication Reading, writing, speaking, and listening in English; expressing our ideas 🎯 Topic Requirements Interpreting requirements with precision and accuracy 🎯 Topic Testing It's important that software works and that people can use it

Comments

@SallyMcGrath
Copy link
Member

SallyMcGrath commented May 14, 2024

Link to the coursework

https://code.visualstudio.com/docs/introvideos/debugging

Why are we doing this?

For months now we have been building a toolkit to help us write great software. In our toolkit we have:

Specifications, like user stories, acceptance criteria, and Given/When/Then
Help us understand what to write and check we've written the right thing.

Tests, like unit tests and assertions
Help us break down our problems and check our solutions work even when we change things.

Asking questions
Help us formally reason through our problems and identify gaps in our mental models.

Playing computer
Helps us reason about code with a mental model.

Audits, like Lighthouse
Help us identify performance and quality improvements we can make to our code.

And now we can add debuggers to our toolkit.

Debuggers are tools that help us find and fix problems, or "bugs", in our JavaScript code. They let us step through our code line-by-line while it runs to see what is happening. This helps us find the place where our mental model of the code is different from our implementation. Your browser has a debugger and so does VSCode. You have used a similar program to "step through" code in your prep work.

Key reasons we use debuggers:

  • See what's happening inside functions
  • Check if variables have expected values
  • Pause execution and step through slowly
  • Find exactly where mistakes happen

JavaScript debuggers give control over execution flow to methodically test and fix bugs. Watch the first four minutes of the video and then explore the VSCode Debugger on your machine.

Maximum time in hours

.25

How to get help

AI can help you here. Code along with AI so it has the context and ask it when you get stuck. Use this starting prompt:

Act as a friendly, supportive, knowledgeable programming mentor. I am learning the debugger in VSCode.Talk me through the interface step by step. Provide a simple example of a Node script with a bug in it and walk me through finding the bug by setting breakpoints with the debugger. Don't tell me what the bug is. When I get stuck, answer my questions in CEFR B2 English meant for an adult professional speaking in a second language. When I ask for hints, give me useful pointers. Say okee dokee if you understand and begin your walkthrough.

Remember to use careful prompting when you don't understand, so you get real learning out of the exchange. Say things like:

The execution is paused and it shows me that i is undefined and this is undefined, but I don't understand why it says that. Can you explain this to me?

I made you a bot specifically for this coursework, right here: https://poe.com/CYF_Learn_Debugger

Remember you should always ask your friendly humans in Slack when you get really stuck.

@SallyMcGrath SallyMcGrath added 🎯 Topic Communication Reading, writing, speaking, and listening in English; expressing our ideas 🎯 Topic Requirements Interpreting requirements with precision and accuracy 🎯 Topic Testing It's important that software works and that people can use it 🏕 Priority Mandatory This work is expected 📅 JS3 This work belongs to JS3 📅 Sprint 1 Assigned during Sprint 1 of this module 🦔 Size Tiny Less than 30 minutes labels May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📅 JS3 This work belongs to JS3 🏕 Priority Mandatory This work is expected 🦔 Size Tiny Less than 30 minutes 📅 Sprint 1 Assigned during Sprint 1 of this module 🎯 Topic Communication Reading, writing, speaking, and listening in English; expressing our ideas 🎯 Topic Requirements Interpreting requirements with precision and accuracy 🎯 Topic Testing It's important that software works and that people can use it
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant