Comments (6)
I can help out with this issue!
I was thinking of creating some buggy matrix methods, since we don't cover matrices to a large extent in TOP. This could include sum_of_row(matrix, row_number)
. The corresponding tests will fail, initially, so students will need to use pry or byebug to fix the implementation.
My worry is that some students will just ignore the "debugging" and reimplement the method by themselves. Do you think I should set an initial breakpoint in the first method? This might encourage them to do the same for the rest of the methods.
from ruby-exercises.
Hi @kellydanma, we would love to have your help with this.
Since putting this issue up I have some different ideas about how we should provide debugging exercises.
- I think we should have some exercises that don't have tests and the user has to run with something like
ruby exercise.rb
. These will contain a runtime error and the goal for the student will be to fix the error so the programs run without breaking. - For the second set of exercises we can have exercises backed with tests that return the wrong result, the user will be expected to find out why using pry or puts etc.
This will fit nicely with the different types of debugging we teach in the lesson these exercises will be included in. I think since these exercises are so different from what we have already, we should have them in their own debugging_exercises
folder in the root directory of this repo.
I was thinking of creating some buggy matrix methods, since we don't cover matrices to a large extent in TOP.
I like the idea of uses matrices, I'd be a little worried that it might be slightly too advanced for this part of the course though. This lesson comes quite early on and we have a lot of students who are just learning programming for the first time.
We are building out a language agnostic computer science course in the curriculum, we should definitely include matrices there.
My worry is that some students will just ignore the "debugging" and reimplement the method by themselves. Do you think I should set an initial breakpoint in the first method? This might encourage them to do the same for the rest of the methods.
I think explaining that they should fix the existing code and not delete it in the read me should be enough :)
from ruby-exercises.
I like the idea of uses matrices, I'd be a little worried that it might be slightly too advanced for this part of the course though.
Some of the enumeration exercises are quite challenging already. I think the goal for a matrix-based exercise would be to teach debugging, not to have the student implement creating the matrix. For example, one such debugging exercise would be fixing the row that is returned. Matrices are indexed at 1, instead of 0; the student will use a breakpoint to discover the indexing mistake and correct it. They will not be building a matrix from scratch.
Maybe I can prototype something first?
from ruby-exercises.
Maybe I can prototype something first?
That would be brilliant, thanks @kellydanma
from ruby-exercises.
I added a prototype 😊 I'll be offline for the rest of the weekend, but I'll check in with you next week. Have a great rest of your weekend!
from ruby-exercises.
I'm working on these at the moment as part of TheOdinProject/curriculum#23647 , after rlmoser suggested adding debugging exercises to the Debugging Lesson as a part of my PR which involves that lesson.
from ruby-exercises.
Related Issues (20)
- consistent file naming HOT 6
- Methods Exercises HOT 1
- Basic Enumerables Exercises
- Predicate Enumerable Exercises
- Subtraction exercise in 1_data_types is incorrect HOT 1
- incorrect wording hash_exercises HOT 1
- Array exercises HOT 1
- rbenv: version `2.7.2' is not installed HOT 1
- Verbose instructions in ruby_basics HOT 2
- Add block test exercises
- Add nested collections exercises HOT 1
- Fix test case for #find_favorite in nested array exercises HOT 1
- Debugging exercises with bundle exec commands HOT 6
- Fix hint in 10_Enumerables exercise HOT 2
- Specs: specs from numbers_exercises_spec have only one test case for some methods HOT 3
- Bug - Could not locate Gemfile or .bundle/ directory HOT 1
- Ruby Course - Basic Data Types - Assignment - 1_data_types exercises HOT 1
- Bug - location of bug: brief description of bug` format, e.g. `Bug - Exercises: File type incorrect for all test files HOT 4
- Bug - Exercise`hash_exercises.rb`:`favorite_list` should be renamed to `favorite_hash`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ruby-exercises.