Hacker Newsnew | past | comments | ask | show | jobs | submit | pygar's commentslogin

Most reputable CS courses will have one or two math subjects (often called "Discrete Mathematics" or some variation).

Does anyone have any advice on tackling subjects like these for someone who hasn't done any math since high school more than a decade ago (and has forgotten it)?


https://www.mathacademy.com/ is a great combination of structured learning across an incremental skill tree with practise problems to prove to yourself that you understand. It’s a big commitment but helped me go from “hasn’t done any math for a while and probably missed some basics” to much more comfortable. You can do the self-test to pick a starting level and work up from there.

As with many things you basically have to sit down and do the work, though, you’re not going to get better just by inhaling books and videos. MA isn’t a fun/gamified learning platform like Duolingo, the ‘fun’ comes from putting the work in and seeing yourself improve. For me it went from a grind initially to something I enjoyed doing.

https://www.geogebra.org/ is also worth exploring for its novel visual approach, but is much more rudimentary, less challenging, and less deep than MA.


I second this. Mathacademy is great and there is no way OP would be able to just jump into university-level math courser without re-learning prerequisites, considering they said that they forgot most of the school-level math.


I third MathAcademy. I graduated high school >25 years ago with almost no math skills and had a major struggle with the math prerequisites for my CS degree ~15 years ago. I've been wanting to get into higher math recently, so a few months back I started hitting MathAcademy heavily. Its structure and modularity is exactly what I needed.


> Its structure and modularity is exactly what I needed.

Through great effort, I completed Mathematical Foundations I & II. I talked about it a bit here [1][2]. If you read through MathAcademy's methodology and reasoning, it's incredibly strong [3], but in practice I never felt confident in my understanding or execution, everything felt quite discrete and I didn't understand the relationships or purposes of what I was doing. I kept going because I was getting better, and because people online who were quite good at math said not to try too hard to understand things fully at first, since the abstraction level of math is so high.

The weeks before finishing MFII, my motivation was higher than ever. The day I finished, I felt nothing, and in the following weeks I decided that it was time to let it go for now.

I think MA is good. I've never done so many exercises in my life, and although I wasn't super confident, I was far better at math than I'd ever been. But I think MA probably needs a lot more multi-part exercises so you understand what you're doing and where to use things. I feel like I learned "Discrete Math", but in the sense that all the lessons were discrete and I couldn't draw connections between them.

https://news.ycombinator.com/item?id=42519882

https://news.ycombinator.com/item?id=43275665

https://www.justinmath.com/files/the-math-academy-way.pdf


(I'm actually set to complete Mathematical Foundations II next week, after completing Mathematical Foundations I recently.)

Thank you for your comment. I had a very nontraditional path to engineering, even in an era of self-taught programmers, and I feel a lot of pain and despair and bitterness and, uh, a vicarious feeling of disappointment, I guess... so discussing this sort of journey does me some good.

> I feel like I learned "Discrete Math", but in the sense that all the lessons were discrete and I couldn't draw connections between them.

Very reasonable takes. I think you're spot on. I do have a lot of trouble with the abstractness and disjointedness of it. I'm hoping that repetition will improve it. So far I'm still struggling with the same things I struggled with in college - combinatorics, for whatever reason, just seems to slide right out of my brain.

By "modularity" I meant that I could squeeze in 10-15 minutes here or there without having to commit multiple hours to a single concept, and that I could take a day off without destroying anything, but that's probably connected to the "discreteness" you mention, without a holistic, oceanic kind of cohesion or connectedness.

I'm actually working on a project now, an educational site that's kind of along these lines but focused on areas of CS I've always struggled with - Lambda Calculus, Type Theory, Lisp, that sort of thing. I think I have some good ideas. I hope I come up with more, because I definitely want to build a rich mesh of knowledge rather than a catalog of disconnected facts and tools without any underlying meaning.


My advice is to (re-)learn elementary algebra to a proficient level before attempting any other branch of math. That is a core prerequisite for absolutely everything. By elementary algebra I mean roughly everything in classes called “Algebra” or “pre-calculus” that you learn in an American high school before calculus. Geometry and trigonometry can’t hurt either but algebra is more central.


For as much as I've learned in the last 10 years of being a software engineer, I've frankly forgotten at least half of the maths I once knew.

Of course, I could take the time to re-learn it all if need be, but I'm definitely thankful to have went straight from high school into college. Having to re-learn everything just to be at baseline would make the whole experience far less enjoyable. Kudos to those that have done so.



I'd recommend going on Thriftbooks and ordering a textbook. I can't remember the exact copy I had years ago when I was self-learning CS, but it was like $4.00 for a really incredible textbook.

Now, I don't have a degree, so take my advice with a grain of salt, but the book was really really good, and honestly, if you've been programming for awhile, I think most of the concepts didn't require a heavy math background (of course, it would probably help). The chapters were like: Symbolic Logic, Set Theory, Proofs, Algorithms, Cryptography, and other things which I can't remember.

Edit: The book is free to read online

EDIT EDIT: Removed link as I don't know if that was a "legal" link.

It's out of stock on Thriftbooks, but looks to go for $6-8 on there.


What's the name of the book?


It's called "Discrete Mathematics and its Applications" by Kenneth H. Rosen. A google search reveals a PDF as the first result.


Math Academy is a good option, but I wrote about the issues I had with it here.

Recently, I've been going through Introduction to Graph Theory by Richard J Trudeau. It's from the 70s, and I'm doing all the exercises. It really is an intro, and teaches some set theory and proof stuff. Doing Math Academy at least taught me that doing exercises is incredibly important for mathematics learning.

https://news.ycombinator.com/item?id=46124247



It's a different kind of math from the continuous math they teach in school. Personally I found it a lot more intuitive. Like it wasn't the easiest thing ever, but I did better than I thought I would.


> one or two math subjects

Only one or two? :)

It's not easy as an adult but it's definitely doable, don't get discouraged. The main hurdle isn't knowledge of specific topics, most undergraduate courses assume little to no previous baggage, i'd say it's more the lack of "mathematical maturity"[0], or the ability to "bridge" between the formal language of math and the intuitive "what we're doing here".

When you're writing code, you probably don't stop to think "I need to do this operation for each element of this vector, a for loop is what I need", you instead have a high level idea of what you're trying to accomplish and "make the code happen", filling in the formalities as needed. Trying to go line by line is how beginners operate, and that's why they never get anything done. I'd never get anything done either if I had to work like that!

The reason why many people get stuck in math is similar. You read a definition that goes "for all ε>0 there exists δ such that for all ..." and you immediately get confused, trying to keep the entire "abstract syntax tree" of what you just read in memory. Like in the code example, the "mature" way to see it is that we're trying to capture an idea, and the formalism is instrumental in that. What are the variables "morally" doing? (At a certain point you'll realize the formalism is actually working for you rather than against you, but that's a rant for another time...)

The conceptually easier but more time-consuming thing to do is to practice symbol pushing if you lost that since high school. For example: is it immediately obvious to you what (a+b)^n is if you expand it? Do you remember how to factor (a^3 + b^3)? Do not despair if you don't. Many more people than you think can't do that off the top of their heads, but it's the kind of "mechanical" skills that's probably blocking you at this point.

Another important aspect to learn is a bit of notation, the "standard library" of math, as it were. Understand "for all" and "exists" as quantifiers, and how they interact with negation and logical operators. It should be eventually obvious to you that negation "inverts" quantifiers. Learn at least a little bit how to work with naive set theory: union, intersection, etc. Look up what the "common" sets (integers, rationals, reals, complex) are and how they relate with each other.

And finally, try to get a feel for how proofs work. That's going to be important, even for the type of math you need for computer science.

Good luck!

--- [0] https://en.wikipedia.org/wiki/Mathematical_maturity


My university offered the math classes in either CS or Math departments. I always chose the math department. Better teachers and far more interesting professors (as people)


I have a degree in CS and I got a lot from it, so I'm absolutely not going to bad mouth CS, but I have the feeling that it's possible to just get a piece of paper having learned little to nothing in a way that couldn't happen with Math or Physics.

Obviously lots of great people have CS backgrounds, but it also feels like "how did this idiot get a degree" happens far more frequently for CS than Math. It's not like everyone coming out of a Math degree is automatically a genius, but they set the bar higher and as a result math classes "feel" better.


Psychology and business administration is even worse.

I studied CS, psychology and business administration (I dropped out of BA, it was useless info)


I think he's trying to generate engagement on X through controversy. The recent change to search, which now shows posts from people you've blocked (with no options to turn it off) suggests this too.

The problem with this strategy is that you have to keep escalating otherwise it gets boring fast, and it attracts people no one wants to advertise to. My feed is full of racebaiters and anti-woke culture crap despite telling the algorithm I’m not interesting. I’m not sure there's much else left.


That’s why I stopped: just being there is giving him money and if you interact with anyone else you’re incentivizing them giving him money, too. I signed up in 2006 but that was a sunk cost I couldn’t stomach growing.


> My feed is full of racebaiters and anti-woke culture crap despite telling the algorithm I’m not interesting. I’m not sure there's much else left.

I'm sincerely curious, why do you still have a twitter account?


I read the timelines of people who only use twitter. Local journalists and people who talk about about specific issues.


> My feed is full of racebaiters and anti-woke culture crap despite telling the algorithm I’m not interesting. I’m not sure there's much else left.

Why even keep using the platform?


There are circles of people that I like still on the platform. Plus, lots of great discussion on AI and entrepreneurship, both of which BlueSky takes a hostile attitude towards.

In addition, I take the general zeitgeist of X to be something like the Freudian id of the MAGA coalition, which is a useful thing to be tuned into, given that they run the country currently.


I read the timelines of people who only use twitter. Local journalists and people who talk about about specific issues.


If enough people leave Xitter then those people "who only use twitter" will either leave as well, or it indicates that they're just fine being on a "racebaiting" platform. I really don't get why people are staying there other than it means they're just fine with Musk's antics and the rage farming.


If you want to use hardware acceleration in Emby you have to pay for "Emby Premiere". Jellyfin, not having tiered versions, provides this for free.

This is obviously useful in general, but i rely on it to run a media server on my low-end minipc with Intel Quick Sync.


I don't think they are blocking based on browser. They are probably on another push. I'm getting "Ad blockers violate YouTube's Terms of Service" on lastest Firefox and uBO. I'm in Australia.


So is Iran just going to be the default bogeyman until they drum up enough negative sentiment for a war?

Iran doesn't really have any military projection. It can't even move equipment and people into countries it's close to (Syria, Iraq), let alone the US. Why would they take the risk of doing this? It's obviously bullshit.


>Iran doesn't really have any military projection.

I'll take "things people said about Afghanistan in 1999" for 400!

Just to be clear, I fully agree with your sentiment. Probably not Iran or any other foreign power.


Isn't it true about Afghanistan in 1999 and probably now too?

A lack of military projection doesn't mean that your country can go in and rout out all insurgency. It just means that Afghanistan isn't going to be able to wage war on US soil from Afghanistan.


This. Blame Iran by default is getting really tiresome at this point


> So is Iran just going to be the default bogeyman…?

likely, until theyre crying everything is antifa again. they seem to cycle around through their paranoia targets.


I think the American public is a lot more cynical than when they were duped into war with Iraq 20 years ago.

Certain people will try and drag you into an Iranian war, but I don't think it will work now. The playbook has been used too many times.


I agree with you in general, except for one important point - I think it will work again. Plenty of people will see through the lie, but enough will buy it that they’ll get their war.


There are some efforts being made on the styling front by a W3C Community Group: https://open-ui.org/


He will never leave Israel again. He is 75 and doesn't have many years ahead of him anyway. At some point soon he will either be voted out or kicked out through regular knessent machinations and spend his remaining years writing his memoris in hebrew only.


Trump is a fuck-you vote from the economic losers of globalisation. They know he won't do anything for them, but they also know the other side won't either. All the pearl clutching about trumps characteristics from inner-city relativists fell on deaf ears because it rang hollow.

A women of the luxury belief professional class from an academic family and an uninspiring bureaucratic life story was never going to be able to talk to these people and she didn't really try too either.

The specific policies don't really matter to people when they are exhausted and angry. Revenge does.


The author of this paper recently won an ig nobel award for this research. Here is an interesting interview with him: https://theconversation.com/the-data-on-extreme-human-ageing...


This mess has shown that you don't need an age limit for the presidency? He was going to lose the election exactly because of his perceived cognitive decline related to his age.

The DNC is at fault for selected him as the candidate.


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

Search: