Skip to content

Ruby: Mini Epic - Update and improve debugging content #24994

Open
@ChargrilledChook

Description

@ChargrilledChook

Mini Epic: Improving Ruby Debugging Content

Debugging is a foundational skill and an important one to teach well and early, but our current content leaves a lot to be desired. It has been tacked onto somewhat over time and has become disjointed and complex.

We can streamline these lessons by focusing on smaller blocks of content, as well as paring back to use the Ruby core library. We can also adopt a progressive enhancement approach for this topic, and gradually improve / add to the content instead of doing everything in a single go.


Milestone 1: Updates to core content.

  • Introduces basics concepts, such as puts / p debugging
  • Introduces basic REPL debugging with irb
  • Introduces basic interactive debugging with CLI rdbg
  • Splits content into smaller, more digestible chunks and places where appropriate
### Core Content
- [ ] Ruby: Restructure debugging lessons
- [ ] #25914
- [ ] Update Ruby Cersion of Debugging Command on Odin-bot
- [ ] https://github.com/TheOdinProject/curriculum/issues/25915

Milestone 2: More content and polish

  • High value additions that are not as critical
  • Many people really enjoy the VSCode integration for rdbg, but many struggle signifcantly to set it up. Improving both configuration instructions as well as some basic usage could provide a lot of value
  • The computer science could be a great candidate to introduce intermediate debugging, such as stack / frame navigation and more granular debugger control (such as the differences between step in / over / out)
  • This would be useful both to teach these skills, as well as introduce them in a spot where the would be really useful
### Future Content
- [ ] Add a new intermediate debugging lesson
- [ ] Add a lesson or content section teaching GUI debugging

Future discussions: Nice to haves

  • Generally useful content that would need discussion to determine value
  • As well as people to people to work on them
### Nice to Haves
- [ ] A section on advanced debugging
- [ ] A debugging playground / exercise repo
- [ ] A lesson or content section on more general debugging concepts - approaches, styles, techniques
- [ ] A lesson or content setion on common types + classes of errors

Metadata

Metadata

Labels

Content: RubyInvolves the Ruby courseStatus: StaleThis issue/PR has been inactive for over 30 days and will be closed if inactivity continues

Type

No type

Projects

Status

🔖 Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions