Giter VIP home page Giter VIP logo

Comments (6)

kellydanma avatar kellydanma commented on September 27, 2024

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.

KevinMulhern avatar KevinMulhern commented on September 27, 2024

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.

  1. 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.
  2. 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.

kellydanma avatar kellydanma commented on September 27, 2024

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.

KevinMulhern avatar KevinMulhern commented on September 27, 2024

Maybe I can prototype something first?

That would be brilliant, thanks @kellydanma

from ruby-exercises.

kellydanma avatar kellydanma commented on September 27, 2024

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.

mgrigoriev8109 avatar mgrigoriev8109 commented on September 27, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.