mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-06 17:49:07 -05:00
Seperate Notebook with solutions #469
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @lukedev45 on GitHub (Dec 16, 2025).
Is there a possibility to create a set of notebooks for all of the milestones that done have the solutions inside of them to begin with? I feel like it remove all the thinking that is required to gain an understanding of what is happening in pytorch and tensorflow. It's just a matter of deleted the solution code and then making a separate notebook which doesn't have it. Maybe you could run a command in tito like:
tito module solution 1and you don't get the milestone unless the unit tests are completed in the non-solution notebooks. I would be willing to help and create the non-solution notebooks to begin with if it something that you think would benefit the program.
Been absolutely loving this stuff. definitely the best resource on machine learning that I have come across so far and I would be willing to help to make it better
@Mahaprasad003 commented on GitHub (Dec 17, 2025):
yeah +1 to this. I would be willing to help in doing this as well.
It was surprising to see all the code beautifully written along for me when i ran:
tito module start 01let's add some friction to make it better?
@profvjreddi commented on GitHub (Dec 17, 2025):
Hi @Mahaprasad003 and @lukedev45
Yes! This is exactly the vision for TinyTorch.
You're absolutely right that having solutions pre-loaded undermines the learning process. I actually already have
nbgraderinfrastructure set up behind the scenes (viatito gradecommands) specifically for this purpose.The reason I haven't released the solution-free versions yet is intentional—I wanted us to explore the current setup first and give us feedback on what feels natural vs. what doesn't. Here's the thing: we don't want learners implementing every single function. Some implementations are pedagogically valuable (like building autograd from scratch), while others are just boilerplate that doesn't teach much but are needed. So we will have to make a pass to determine which functions should be "fill in the blank" exercises vs. which should be provided.
Your offer to help is much appreciated! 🙏 Once we finalize which functions make the cut for student implementation, I love to collaborate. Or even identifying those would be good. So feel free to think about that.
In the meantime, keep the feedback coming—knowing what felt too easy or what you wished you had to build yourself is exactly the input we need. @Mahaprasad003 same goes for your feedback—"adding friction" in the right places is the goal. We just want to be thoughtful about where that friction lives.
@kushalgarg101 commented on GitHub (Dec 17, 2025):
hello , i am facing similar issue related to all parts of code that are to be implemented by us are already filled, do you have solution what could be done ?
@profvjreddi commented on GitHub (Dec 17, 2025):
I'm surprised so many people are upset or confused that I have actually provided solutions. This is a simple way to generate the code needed to remove the solutions and leave only the skeletons. But before I do that, it would be helpful to ensure that people can actually build it and get the solutions working properly. That's why I released the solutions 💯
I spent a lot of time making sure we had good ASCII diagrams and that the content is educational in a way that people can actually read the code and get a first-order understanding of things. Is that helpful?
But if you folks are genuinely curious about getting the solution free version, I can definitely spend some cycles on that over the holiday. It shouldn't take me too long because it's just about testing to make sure things are good.
@Mahaprasad003 commented on GitHub (Dec 17, 2025):
I think the current version is brilliant since we can review the whole content and provide feedback on what's working and what's not or if any part needs more refinement.
Yes, I do think the solution-free version should be included in the FINAL version of the project. But we should focus on the content and making sure everything is working since making the solution free version is perhaps commenting/removing lines of code.
Thanks a lot for this.
Just my two cents.
@profvjreddi commented on GitHub (Dec 17, 2025):
I appreciate your feedback and input.
One of my next things is really making sure that we figure out just which parts we should get students to implement. I was planning on doing some of this over the Christmas holidays, as my head is kind of burnt out at this moment. :)
@profvjreddi commented on GitHub (Dec 17, 2025):
By the way, I would appreciate any feedback on this https://mlsysbook.ai/tinytorch/_static/downloads/TinyTorch-Guide.pdf and https://mlsysbook.ai/tinytorch/_static/downloads/TinyTorch-Paper.pdf as well. The guide is more like a lab book that we would take to class when we're about to do the labs. The paper is more about the pedagogical rationale behind building this.
@PursuitOfCodeKnowledge commented on GitHub (Jan 5, 2026):
I think need time for path!!!