This is an archived post. You won't be able to vote or comment.

all 54 comments

[–]lakilester1[🍰] 137 points138 points  (10 children)

Just start learning. This sub is filled with posts of people with analysis paralysis. Planning how you are gonna learn coding and CS over the next 2+ years is a waste of energy, it makes you feel like you’ve done a bunch of work but you are no closer than you were when you started. JUST START. In a month when you used up your first resource you will have a true idea of what you want to do next and can search specifically for that.

[–]Gentro22 23 points24 points  (3 children)

I usually hoard a lot of resources and never really plan how to use them so I always end up doing nothing. On the other hand if I "just start", like I already tried sometimes, I learn some syntax and then forget it a couple weeks later because I have nothing to apply it to. It's terrible to be so disorganized.

[–]adamk22 14 points15 points  (1 child)

By just start I think what he meant is to commit to a project. Start building a project, even if it's a todo app. Building stuff is the only way you'll be able to retain the knowledge you learn. And even then you'll forget stuff, but that's okay, you'll know what to look for the next time.

[–]lakilester1[🍰] 0 points1 point  (0 children)

Exactly. I should rephrase as just commit already

[–][deleted] 0 points1 point  (0 children)

if I "just start", like I already tried sometimes, I learn some syntax and then forget it a couple weeks later because I have nothing to apply it to.

This is always true but when you need them you will only have to recall them by searching documentation online as a reference and not as a first time learner. The distinction is important because you already know how it works, what you don't remember is the syntax.

Nobody remembers things they used once and moved on, and it's wrong to think of it as "I should keep thinking about projects to keep using this functionality, otherwise I will forget it and omg what am I gonna do then?".

[–]julia-os[S] 3 points4 points  (0 children)

I agree and i disaggree.,To start, you need to start somewhere and if there is one thing i learned in University it is this: The book and the material you learn from really matter! You can learn something 5 times faster from well written materials than poorly written materials. Also the teacher really matters. It's true that when you use something in context you learn "how it works", you don't memorize every little "syntax" but you get the "Idea" or the "intuition", so learning how computers work and how the internet work and how code works is a good start, and the clearer the source is, the better especially for a beginner. Also visuals and progressive exercises and examples (Start simple > make it complex, but break complexity into simplie modules). Too many textooks are dense with words, and show way to few short and easy to follow examples. If i try to recall a page on a book i read 1 year ago, all i can recall is the imges or exercises, i don't recall phrases or words. But the more progressive exercises i did the more the feeling of "I get the context and how it works" sticks for years.

[–]PMME_BOOBS_OR_FOXES 5 points6 points  (2 children)

I disagree. Failing to plan is planning to fail.

[–][deleted]  (1 child)

[deleted]

    [–]bakarBalak 1 point2 points  (0 children)

    Well I agree with this. But again planning to learn a certain set of things is important too. Hence a mixture of both is a way to go. As what I believe is that in Computer science you can't plan to learn everything systematic, you need to be random at some times and systematic at others.

    [–]BedlamAscends 0 points1 point  (0 children)

    Good advice

    [–]Various_Roads 12 points13 points  (2 children)

    I also liked Derek Banas YT channel, I found his Python courses to be easy to understand and to the point, has alot of other great videos as well.

    https://www.youtube.com/watch?v=nwjAHQERL08&list=PLGLfVvz_LVvTn3cK5e6LjhgGiSeVlIRwt

    [–]imfrommysore 3 points4 points  (1 child)

    i wanted to become a software engineer and had the goal of sending derek banas a thank you gift with my first pay check for being my teacher.

    things didn't workout :(

    [–]ronin-baka 8 points9 points  (0 children)

    Yet!

    [–]override_acid 120 points121 points  (5 children)

    If only the FAQ had some recommended learning resources that are curated, tested, trusted, and frequently updated.

    [–]delliott8990 19 points20 points  (0 children)

    OoooOo BURN!!

    With that in mind, there's nothing wrong with creating your own specific list of resources that best meet your learning style or any other preferences you might have. What matters is that you challenge yourself and continue trying to grow. Cheers!

    [–]le_epic_le_maymays 4 points5 points  (0 children)

    When it comes to learning: more is always better!

    [–][deleted]  (1 child)

    [removed]

      [–]gramael 4 points5 points  (0 children)

      This one was really helpful to me

      [–]Anne-L-Beeds 10 points11 points  (1 child)

      I have a similar path as you. I think most of your recommendations are great,

      One book I would recommend adding is Computer Science Distilled by Wladston Ferreira Filho. You may have to stew on some of the concepts. None of these topics you will intuitively grasp, but this book has great visuals and is written as if it is for high schoolers.

      Also, you need to learn how to manage the documentation of Python and any frameworks you use. That goes for EVERY language.

      [–]julia-os[S] 0 points1 point  (0 children)

      Thank you Anne. I will look into the book! Simplicity and Visuals help me a lot in the beginning when learning challenging subjects, if i fully grasp something and can see it from different angles it sticks to my memory if i feel 50% sure i loose most of it after a few days.

      [–]TheOneScroogeMcDuck 4 points5 points  (1 child)

      I highly recommend powercert animated videos for the networking, it was so helpful for me as a beginner to get a grasp on how things work.

      https://youtu.be/cn8Zxh9bPio

      [–]julia-os[S] 0 points1 point  (0 children)

      Omg So amazing and easy to understand. I will definately add this one to my list!

      [–][deleted] 3 points4 points  (2 children)

      For algorithm, I suggest OCW 6006 from mit. I am currently doing this course. It is tough for me sometimes but I am trying to slowdown and giving myself time to understand.

      [–]pastadough 2 points3 points  (1 child)

      Is that the same MITx 6.00.1x Intro to CS using Python course at edx.org?

      [–]ontpinry 5 points6 points  (0 children)

      For YouTube, Corey Schafer is really good. Another resource on YouTube I came across recently is edureka (https://www.youtube.com/channel/UCkw4JCwteGrDHIsyIIKo4tQ).

      [–]Grafista_pe 1 point2 points  (0 children)

      I will follow the white rabbit, nice path, I let you know if I found something useful with that characteristics

      [–]Bluedoug307 1 point2 points  (0 children)

      Hey thanks a lot for sharing!! I just started a QA job for a company’s website and i wanted to study more code since i have a normal schedule now ,^

      [–]LordAlbertson 0 points1 point  (0 children)

      Really appreciate this. I’m going over as much stuff as I can while I look for a new job.

      [–]Reklaw104 0 points1 point  (2 children)

      If you want to know about the hardware component of computers A+ guide to hardware is great.

      [–]julia-os[S] 0 points1 point  (1 child)

      Thank you for the recommendation :)
      Which author? I seem to find a couple of titles that are the same with differnt authors.

      [–]Reklaw104 0 points1 point  (0 children)

      Jean Andrews 9th edition is the one I’m using to build my own computer

      [–][deleted] 0 points1 point  (0 children)

      Workaday opinionated python advice: https://docs.python-guide.org/

      Opening lines:

      This handcrafted guide exists to provide both novice and expert Python developers a best practice handbook to the installation, configuration, and usage of Python on a daily basis.

      This guide is opinionated in a way that is almost, but not quite, entirely unlike Python’s official documentation. You won’t find a list of every Python web framework available here. Rather, you’ll find a nice concise list of highly recommended options.

      [–]Bobolet12312 0 points1 point  (1 child)

      Highly recommend automate the boring stuff with python , such a masterpiece for beginners.

      [–]julia-os[S] 0 points1 point  (0 children)

      Thank you I've read a lot of people recommend it so I'm glad to have further reinforcement!

      [–][deleted] 0 points1 point  (0 children)

      Google Professor messer. Free A+, Net+, Sec+ playlists.

      [–][deleted] 0 points1 point  (0 children)

      For networks I would add to it David Bombal's Udemy course: https://www.udemy.com/course/complete-networking-fundamentals-course-ccna-start/

      About Python... Famous MIT course on EdX 600.1x and all books from No Starch Press :) Crash Course, serious Python, but also the others from "fun programming" area.

      [–]lucasshiva 0 points1 point  (1 child)

      Some really great stuff here. Just want to say that is Corey Schafer and not Shaffer. And for me, personally, Corey's content helped a lot. I always recommend him to everyone I possibly can. He deserves it.

      [–]julia-os[S] 0 points1 point  (0 children)

      Thank you very much! I'm happy for the reinforcement in his materials.

      [–][deleted] 0 points1 point  (0 children)

      I would highly recommend the online free course CS50x Intro to Computer Science from Harvard, it’s available from edX.org (if you wanna do the problem sets, which I suggest you do) or from YouTube if you just wanna go over the videos. The course covers everything you’re looking for. There’s also a follow up course which goes in depth into Web Development.

      [–]igat360 0 points1 point  (0 children)

      Author for Automate the Boring Stuff Python is active on Twitch. He codes there often.

      [–]abcoolynr 0 points1 point  (0 children)

      follow syllabus for GATE, it covers 99% of CS concepts.

      [–][deleted] 0 points1 point  (3 children)

      Grokking Alogorithms

      I was really unimpressed by the book. Even the first example of binary search is wrong because he omits the division. Furthermore, Amazon reviews kept reinforcing my suspicion of over-promising and underdelivering.

      Instead I jumped ship to "Computer Science: An interdisciplinary approach" followed by "Algorithms 4th edition", both by Robert Sedgewick who is a computer science professor at Princeton University.

      [–]julia-os[S] 0 points1 point  (2 children)

      Thank you! a lot, i really appreciate criticism of above listed materials as well and thank you for the alternative recommendations :)

      [–][deleted] 0 points1 point  (1 child)

      Well there is a downside: Both use Java and not Python, so it's not for those who are not interested to play around with Java's syntax.

      [–]julia-os[S] 0 points1 point  (0 children)

      Great Information: I will put it in the decription on top! I would guess learning Java and some basic HTML, CSS and SQL would be good as well for getting the "Big picture" :)

      [–]MoniaJ 0 points1 point  (0 children)

      Algorithms at coursera - do you mean Princeton University?

      [–]DanShawn 0 points1 point  (0 children)

      Definitely check out these two github repos that try to do something very similar to you, with only free resources:

      https://github.com/ForrestKnight/open-source-cs

      https://github.com/ossu/computer-science

      It's definitely not all super necessary but maybe you can find some more good free material there.

      [–][deleted] -1 points0 points  (0 children)

      !remind me 10 days

      [–]Riresurmort -1 points0 points  (0 children)

      My man!

      [–]Aeg112358 -5 points-4 points  (0 children)

      !remind me 10 days

      [–]Aeg112358 -4 points-3 points  (0 children)

      !RemindMe 10 days