Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: I wished for a site with a growing list of math problems, I built it (teachyourselfmath.app)
384 points by viveknathani_ 10 months ago | hide | past | favorite | 92 comments
Good math problems are hidden inside textbooks and online documents. To keep up with all the sources in the world is hard. For someone who just wants to continuously solve problems, finding and going through all the sources feels like a hassle. I wished for a website that could just dump all the math problems available in the world out there. And if I could filter the problems by topics, that would be beautiful.

teachyourselfmath is a side project that was born out of this need. At its core, it is a math PDF extraction engine. The engine has some machine learning going on behind the scenes to extract math problems in LaTeX from any image or document.

A little bit about me: I am Vivek, a software engineer based out of India with a diverse set of interests including math. This project is close to my heart for many different reasons and nothing would make me happier than finding people on the internet who would find this website to be useful.

I’d love to hear your feedback on this. Thanks!




It's a really nice idea and very good to see a familiar and simple interface, I'm definitely keen to look at this when I'm "idling"!

Two suggestions that I don't think have been mentioned:

1. It might be nice to at least acknowledge the source of the problems PDF-wise, no doubt somebody put effort into developing then and the supplementary information (assuming the PDFs are open source) would be useful for learning

2. Supporting information for learning the context subject material around the problem would be good: this relates to other comments about curation. This doesn't feel like "teach yourself math" so much as "test your math", which is still really helpful, but if you don't know the material there's nowhere to turn too

Great foundation for an amazing platform, nice work!


1. sources of problems will be out soon. 2. that is an interesting idea. i have been meaning to work on the general problem of letting users work their way through a problem on the website itself.

thank you for your feedback!


Amazing, thank you for taking the time to make the site :)


Strong agree on (1). I don't mind the copyright violation personally, but as an academic who develops these types of problems, attribution would be the polite thing to do.


> I don't mind the copyright violation personally, but as an academic who develops these types of problems, attribution would be the polite thing to do.

Is there a copyright violation? Totally not a copyright lawyer (or any kind of lawyer) but I thought basic facts, mathematical relationships, etc. were not eligible for copyright. At least for something like:

Find the derivative of X^2 + 2x + 3

I think the problem and the solution aren't subject to copyright.

I guess a complex word problem might be though, since the prose part would normally be subject to copyright anyway? Not sure being part of a math problem would change that.

I dunno. I could be totally wrong about this. Any copyright experts around to chime in?

Google's Generative AI feature says the following, but not sure how much trust to put in that.

---

According to Bytescare, mathematical formulas, problems, proofs, and theorems are not copyrightable. This is because math is considered a "truth" and is not necessarily invented but discovered.

However, the content of a math book, including diagrams, word problems, and illustrations, can be copyrighted. According to the Copyright Advisory Network, word problems may fall under copyright, but problems containing only numbers and symbols probably do not.

----


I don't disagree that attribution would be polite (in fact I think a lack of attribution is impolite), but I don't believe mathematical problems are generally copyrightable.


I'm sure it depends on the situation, but I doubt for example that you could legally copy 50 pages of problems out of one book and sell them in another book verbatim.


>At its core, it is a math PDF extraction engine. The engine has some machine learning going on behind the scenes to extract math problems in LaTeX from any image or document.

I would like more to see curated hand picked math problems instead of mass imported problems from various sources. Along with solutions and detailed explanations and links to the theory needed to understand and solve the problem.


I think it could even be done by voting. Not voting for problems, but voting for the best solutions and explanations in the comments.

Handpicking best problem and writing detailed explanations could be quite hard for one person, but if a lot of people find someones explanation useful and insightful, and vote for it, then one person could handpick from roster of problems with good explanations.

That would also help platform by engaging visitors to not only learn math, but to teach the parts they know well to others. (I also found out that explaining math to others really helps you to understand it better, so win|win)


thank you for the feedback, i will see if some sort of curation as a feature is possible.


This explains why some of them have missing information. Such as this one:

> Suppose that one digit, indicated with a question mark, in each of the following ISBN-10 codes has been smudged and cannot be read. What should this missing digit be?


You wanted a thing, it didn't exist, and then you built it. Kudos to you!

I don't know if part of the goal is to have a growing list of math problems and their solutions or not, but I see that mathjax is loaded to display the questions. It might be a good idea to note this and have a page where answerers can (if they choose) see how to write their responses in mathjax too.


thank you for your words! support for comments in LaTeX will be added soon.


I just recently started doing UW contest math problems with my middle school aged kid— they're definitely not "core" material but are excellent for enrichment and building lateral thinking:

https://cemc.uwaterloo.ca/contests/past_contests.html


Thanks a ton for sharing this. I have a kid in middle school and cannot wait to work few problems with him.


Have fun :) It's really nice how each contest has a pretty smooth difficulty climb across the 25 questions. The first ten questions are all very easy, but then after that it escalates a fair bit, so you can find the right window for you.


seems like an interesting resource, thanks for sharing this!


Hello! Thanks for sharing. This seems like a great resource, and I love that it is open-sourced; I could find myself wanting to help develop this further, as I also have some appreciation for math, and also cherish the idea of having somewhere to find good exercises to tackle.

Not in the spirit of spoiling the fun or bring any unnecessary tension, I can't help asking: considering that these exercises are being scraped from .pdf sources, would you consider having the source for any given exercise? Of course, it brings problems of exposing possibly copyrighted material. I'm just wondering what your stance is on that.


> I could find myself wanting to help develop this further, as I also have some appreciation for math, and also cherish the idea of having somewhere to find good exercises to tackle.

Glad to hear this!

> Of course, it brings problems of exposing possibly copyrighted material. I'm just wondering what your stance is on that. Given that problems are anyway discussed on the internet in various forms, I wouldn’t see this as a copyright concern. And I intend to keep this list free. Aggregation shouldn’t be a problem, hopefully :)


I see. I still feel this must be carefully thought out, because although exercises are being discussed online, this platform could potentially outright distribute them all at once in a centralised manner. And it can be a source of tension, specially without attribution (I've grown a bit more sensitive to this issue after realising how much effort goes into producing good exercises, like Advent of Code for programmers).

I think there would be value in knowing a given exercise comes from chapter X of book Y; it might even help track knowledge dependencies, so to say (to solve exercise Z, student probably needs exposure to all chapters between X-3 and X). And it could also be possible to build thorough different levels of exercises in different areas: a set of basic computation exercises (invert this matrix; solve this simple integral) - and these exercises, as you probably know, can be generated easily; some intermediate exercises of theorem applications; and then groups of higher difficulty material (which are probably somewhat more creative exercises).

Anyway, this is really an inspiring project and I hope it brings you lots of joy! and, in case it helps anyone, I've found a good trove of mathematics resources over at https://math.libretexts.org/Bookshelves.


> And it can be a source of tension, specially without attribution understood, thanks for sharing your concern here. i agree with the general sentiment that coming up with good problems/content is a hard job. let me see what i can do.

> and these exercises, as you probably know, can be generated easily; Yes, this is on my todo list. To do problem generation instead of problem sourcing.

thank you for all the feedback!


Why don't you actually put effort into actually writing out the problems?

I'm not going to do your work for you and I'm not going to pat you on the back for scraping good content in a sloppy way. So here's a really good example of the problem with what you're doing.

https://teachyourselfmath.app/problem?id=18

I really hope to see this improve because the idea is good. The execution is not


  > I really hope to see this improve because the idea is good. The execution is not.
The scraping and storage is simply a search engine. This site would be very valuable if it just presented the information as a search engine - with links to the original documents.


that is a very cool tangential idea imo! thanks, i will consider this.


I see that he's getting downvoted, but there are minor errors indeed. Problem 31 (https://teachyourselfmath.app/problem?id=31) doesn't list the problem inputs, for example.


hey! thanks for pointing this out, checking this.


an update: this is fixed


hey, each problem in itself is intended to be a complete entity. while picking up from the PDF, it is extracting all the text written for that problem. if this is not happening for every problem already, that is something to be fixed I believe. i would rather spend my time in making this better instead of curating every problem manually. i could also spend time in picking up better sources that have more complete problems in general.

thank you for your feedback!


A thought. If you're set on automation it could be that you could try automating the opposite of this approach as well. Detecting incomplete problem definitions when they happen.

In either case, you're welcome. I don't mean to be rude :) As I said I think it's a good idea. I just know that poor execution on this will limit the potential a lot.


yep - a cleanup job running at a set frequency seems like a good idea! and no worries, i am taking all the feedback positively. thank you for taking the time to share your thoughts!


Because that's arguably the next step. Why doesn't he solve them while he's at it? Efficiency is lost here!


What's wrong with this problem?


The problem seems to have been fixed? Another poster under my top level comment posted a similar one that is missing crucial information.


Makes sense, I was confused.


I don't see what's upsetting about the problem you linked. If you don't know what a "greatest common divisor" means, why not search it or put it into GPT? That's the simplest statement of the problem.


He fixed it, which is good.


In a more brainteaser/puzzle direction there's wu:riddles [1]. For a site that hasn't been updated since 2009 (!) it's very functional and holds up surprisingly well, aesthetically.

[1] https://www.ocf.berkeley.edu/~wwu/riddles/intro.shtml


this is very cool! thank you for sharing this!


I've thought about building something similar 100 times. So happy to see someone do it! I have a daily habit of doing math problems, just to keep the various branches I've studied somewhat fresh in my mind, and finding good problem sets that can be accessed easily has been a surprisingly hard challenge.

If you're interested in open sourcing it so collaborators can help contribute to some of the future features you've discussed in the thread here, let us know! I'm sure there are plenty of people who'd like to pitch in.


thank you for your words! although, teachyourselfmath is already an open-source project - https://github.com/viveknathani/teachyourselfmath/


It would be good to have the problems sorted according to difficulty or other user-defined criteria.


difficulty as a feature will be out soon, thanks for the feedback!


This is a nice idea, in the past I worked as a maths tutor and was always on the lookout for good problems for students. (Maybe this is possible, I didn't make an account but ...) Seems like the scraped problems are a great starting point for a social platform where users can submit their own problems and upvote/downvote ranking mechanics like reddit, HN etc


if you are interested in checking out the codebase[0], you will find that i did make provisions in the database to account for upvotes/downvotes but i wanted to see how many people are interested in the first place before i build more user-driven features.

thank you for your feedback!

[0]: https://github.com/viveknathani/teachyourselfmath/blob/maste...


What about Project Euler? https://projecteuler.net/


i love project euler but most of the problems listed here require you to do some sort of programming which is great but i want to expand beyond just doing that in math. also, project euler is curated by its authors while teachyourselfmath just picks problems from whatever PDFs are available.


I solved these with Common Lisp in a really easy way :D

Basically you mirrored Math's metodology on chained functions :D



But those are problems that usually require writing and running some code. OP’s problems are intended for pencil and paper.


this is different from project euler. explained here[0].

[0]: https://news.ycombinator.com/item?id=39115376


This is a great resource. I'm slowly relearning my engineering maths from 30 years ago. It is good to have source of problems to work through.

A couple of suggestions.

1. It would be nice to be able designate one of the comments as the best answer rather than have to wade through a lot of comments to find the solution.

2. I find the name "Teach Yourself Math" a bit misleading. The names suggests that the site provides a structured introduction to math much like a textbook, not a bunch a math problems that require some existing knowledge to work on. Some of this expectation comes from associating the "Teach Yourself" name with the Teach Yourself series of books intended for self learners.


> I wished for a site with a growing list of math problems, I built it

Now you have two problems.


Pretty cool! You should make a section where users can submit problems. Of course they would need to be able to use latex too. They should also be required to write up a model solution that could then be seen upon clicking a link.

Then, it would be very interesting how different users solve it in the comments. But it should be strictly about problems and solutions as to not turn into another mathoverflow.

Another suggestion would be to change the color scheme for accessibility reasons.


Great idea, I would use something like this. Would be helpful to add tags/categories with grade level/difficulty if students want to use this for studying at their level.


categories for all problems are already available. is that not what you are looking for?

difficulty of problems will be out soon. though, not in a way where users will be able to assign the difficulty on their own.

thank you for the feedback!


this is great, i just wish there were solutions! I personally (and i think many other students agree) rather to invest my study time only on problems which have solutions. i think an approach like stackoverflow.com would be a nice idea, where anybody can ask question and then have the privilege to flag the correct answer. or maybe a reference to the textbook which problem originally came from could be provided if you are planning to only create the problems yourself in the future.


a stackoverflow-like website for math already exists.[0] but i agree with the general sentiment of most people that the actual solution should somehow be easily accessible. i will work on this bit.

thank you for your feedback!

[0]: https://math.stackexchange.com/


Pdf-extraction?

Technically it is an interesting problem.

But ... just stating the obvious ... you need to be careful with copyright. Make sure to clearly indicate the source of each problem.


Thank you very much for this. This is so good.

I wish you had a feature that allowed for bookmarking problems & comments like HN.


thank you so much! feedback of bookmarking is taken into consideration. i will see what i can do. thanks!


It would be really valuable to add a challenge rating to each problem. I am sure there are some criteria that could be used to auto score these. Then, viewers would be able to select a category and challenge rating so that they can focus on topics of interest at their level.


Cool project. I was lowkey hoping for it to be called Maths instead of math given it is made by an Indian


hahaha, thanks! i just like it better with "math" :)


Amazing site! Please make a password reset form. When submitting signup with a generated password, it does not get saved as the register flow is not recognized as such. Now i cannot login or register again.


Very nicely done & useful. I do see folks in Twitter/X posting problems. This is a better solution instead for those hobbyists.

Is there a way to share a single math problem as a link in social platforms?


Could you please post links to twitter profiles posting problems?

I'd rather see these problems than all that the algo throws at me currently.


hey - yes! on the homepage, you can tap on the "discuss" link on any problem which will take you to the problem's page. that link is unique to that problem which you can share.


Great work!

As a follow up, I'd suggest a clear separation between comments and solutions, and then possibly within types of solutions. In particular, I'd be interested in solutions via Lean4 code.


Note that the math stackexchange can also do this if searched correctly


i agree, given the fact that math stackexchange has been running for many years, it must have accumulated enough problems from its users. it will require some data cleanup but yeah the search could work.

i am also intrigued by the idea of enabling search here as pointed out by someone else here [0]

[0]: https://news.ycombinator.com/item?id=39114852


Love the very clean UI


Cool! Would be fun to see all unsolved math problems, could you add a directory for that on your website? :)


This is great but those are some really hard questions!

Some links to math textbooks to help figure out answers would be great.


I am working on exposing the difficulty for every problem. With a larger problem set and an ability to filter by difficulty, this problem can be solved I think.

One of the ideas that came up in feedback is that I could have an AI driven experience to walk a user through the question's topic and give enough pointers to eventually arrive at a solution. I am still thinking about the best way to approach this problem in general.

Thanks for the feedback!


I tried to teach myself my current math course at university like this. Turns out gpt4 really isn't capable of doing that yet.

When asked to solve and explain something it produced a right answer to a problem with a solid explanation I could easily follow. (Or ask more in depth questions about it).

When asked to push me to the right solution by asking me things / walking me through the steps, it got "confused" and more often than not produced a wrong answer.


I actually did exactly this, plugging the questions into Google and seeing the step-by-step answer. I found this useful.


thanks, this gives more conviction to the idea! also, what type of questions are you interested more in? there are many topics I could cover over time but I am looking to prioritize which ones to do first.


Personally I am studying linear algebra lately so I was scanning roughly what % of the problems I could solve.

Though, I also went a bit into the other areas to see if I still recalled other areas of math that I haven't studied in years.


Very cool. Made me realize how much I used to like math as a student, and how much I've forgotten.


> I wished for a site with a growing list of math problems

Hey, you should work in ecommerce!


Needs LaTeX support for comments


thank you for the feedback. adding support for this soon!


Please include the source file.


this will be out soon!


Let me ask chatgpt to solve


Very interesting!


thank you!


I awkwardly typed a solution on my phone, and submitted. Then it told me I needed to log in. Wasted effort. Should tell you sooner (when you start typing?) or not require login.


yeah that must have been a bad experience. will fix this.


What is the account needed for? I assume you track progress, but are there other reasons for it?


for now, the account is needed to be able to post a comment


But, why is it needed? To prevent spam?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: