Is this study plan realistic?
Posted by AdvertisingHumble290@reddit | learnprogramming | View on Reddit | 8 comments
Complete these before september.
-
CS50 (i am on week 4, tideman took 3 days)
-
Missing sem of mit edu
-
IM Gelfands algebra, functions and graphs(i am not a total beginner)
-
Lovasz descete mathes notes ( got it from TYCS)
After september ill do ( will take 1 - 1.5 years)
-
Mit descrete mathematics course
-
The odin oroject
-
Teach yourself CS
Idk what to follow with but i think this is enough for now. If i am able to comolete this ill know what i need next.
Why I am using these resources.
-
CS50 is a solid beginner recourse ofc
-
I read somewhere that MIT missing sem is veryhelpful. I think it was in hacker news.
And also cuz i wont be getting my laptop till october and this course can be vompleted in termux.
-
I read that descrete mathematcics is extremely helpful for programming. Got the recommendations from TYCS maths sevtion
-
TYCS is a solid resource but its not targeted at total beginners so i did cs50 etc at the start. I am also thinking of doing TOP before or parallel to it but am not sure.
Its not equivalent to full CS degree. I read on hacker news that its best for people whose end goal is CSE not pure CS major.
- TOP is higly rated everywhere as a solid beginner resource for webdev.
Due to various reasons I'll be going to a bad college. The profs over there arent best at teaching but are helpful and lax. So you dont have to worry about me juggling between college class and this.
I'll be primarily focus on this and since there is some overlap betweeen this and my colleg curriculum its would not be difficult to manage these. I dont plan to focus on their class but use that time doing this.
Beregolas@reddit
What are you actually trying to do? Do you want to get good grades? Do you want to learn Computer Science? Do you want to learn programming?
Yes, but it's really not required if you "just" want to be a programmer. The most important parts are Graph theory, very basic combinatorics and logic. Everything else is highly relevant for CS, but not so much for most programming. Basically: It depends on the questions I asked you at the start.
As for everything else: It doesn't matter nearly as much as most people seem to think it does. You can learn CS or programming from hundreds of different books and courses, and the "quality" of your knowledge depends more on what you do, than what the book/course does. Get a course or a book you like (libraries and librarians are your friends!) and start working.
The main reason that MIT for example is a good environment for learning is not, that their courses are better. They are largely the same as what I got at a mid level university in germany. They provide better quality secondary ressources, like tutors, office hours, libraries, learning groups, etc. In addition to that, they push you with external pressure, and provide an environment where you can make connections that will actually be valuable later. It's less about the material, and more about who else is there.
AdvertisingHumble290@reddit (OP)
grades are not really my focus. Programming I'd say. I do like pure CS (less than programming) but I dont intend to focus on it for the next 4 years. Only enough to be a good programmer.
Wdym by "just" be a programmer? Like just a programmer vs a good progammer?
Yes I fully understand this since its kind of a lived experience but I come from a third world country, education quality here at most parts isnt comparable to germany. What I wanted to ask was whether that plan was realistic or not. Or whether its a disjointed mess.
Thanks for replying.
Beregolas@reddit
no, I meant "just" a programmer as opposed to a computer scientist. I put it in quotes, because one is not better than the other, but many people learn computer science to become programmers. It helps, but it's a little like studying engineering to become a carpenter.
Your plan looks good in general, just a few things to point out:
You still probably need the degree for the sheet of paper, so even though you say that you can do both, revisit that assumption from time to time, and prioritize your degree if necessary.
Don't be too harsh with your time. Cramming doesn't teach you anything, and especially if you learn to know, instead of to get a sheet of paper, it doesn't make sense to have a tight deadline. Use it as a guideline instead, and take the time you need for every topic. I promise you, this way is faster than forcing yourself to adhere to deadlines while learning.
The only thing I'm missing is some slightly more advanced DSA. I am partial to this book https://jeffe.cs.illinois.edu/teaching/algorithms/ mostly because my professor recommended it as supplemental reading for our course, but also because I think it's pretty good. It presumes that you already know the absolute basics (like arrays for example).
AdvertisingHumble290@reddit (OP)
I am thinkin of maintanining 8GPA in college and focusing on this only when thats done.
TYCS does have DSA in its curicullum, they recommended this book and lecture. Algorithm Design Manual Steven Skiena’s lectures'
How are these? Would I need any other if I do them? Shall I do the one you recommended instead.
I am also unsure when to start CP. Few sources say that 1.5 year into college would be good time (you should have the necessary skills by then)
Beregolas@reddit
To be honest, I don't know. I always recommend the same one, because I know it's okay. There really is not that much difference between different ressources, definitely not an objectively better choice most of the time. You need to start with one, and if you think it's not working for you (teaching style, how it's formatted, how the information is presented, etc.) then you go and try the next.
CP? Either way, I don't think that's something you can really plan out. If you have time next to your degree, start learning stuff. You should go approximately in the "correct" order, but to be honest: it doesn't matter much. I regularly heard modules and lectures out of order, and just learned the prerequisites along the way, just to learn them properly again a semester later. It's no big deal. regular effort and progress is far more important than a good plan or curriculum.
AdvertisingHumble290@reddit (OP)
Then I'll just use this plan as a guideline and add or remove things as I see fit. Thanks for your time.
Beneficial-Panda-640@reddit
It’s not unrealistic, but it’s very heavy on theory and courses. The bigger risk isn’t finishing it, it’s not building enough real backend projects alongside it.
I’d trim some overlap and start coding actual things earlier, APIs, small services, anything you can deploy. That feedback loop tends to matter more than stacking more resources.
AdvertisingHumble290@reddit (OP)
Only TYCS seems to be the theory heavy part of it. I'll skip some parts of it ig.
TOP is heavy project based course and maths cuz I wont have a laptop till october.
What type of projects do you recommend? Monitisable or whatever I like? I was thinking of making a website for cs50 final project which solves an annonying problem I encounter frequently but its not possible to monitize it and it'll be challenging to fine tune it to my wishes.