Open
Description
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
Assignees
Labels
Type
Projects
Status
🔖 Ready