At first I thought I'd follow along the MIT OCW 6.0001 course, but it's like eight years old and on a far outdated version of Python and Anaconda. When I tried to install the software as per the syllabus's instructions, I found the download links were dead. I had to spend a few hours going through archives to get the required Anaconda 4.1.1 and Python 3.5 only for it to not even work upon installing. When I tried opening the Anaconda navigator, the logo would pop up, it would say initializing, and then it would just crash before it could launch. Referring back to the syllabus was of no help because the instructions there were literally as brief as "Install Anaconda and Python 3.5 via the installer".

I wasn't able to troubleshoot any of this because all the google results for this question were full of jargon I sure as shit won't be able to understand until I finish the course in the first place. I have no idea what an IDE is, what a pip is, what a spyder is, what a path variable is, or why one would want to use the command prompt.

I was actually able to successfully install the newest versions, but I can't use these for the course because I'm an absolute beginner who has no frame of reference for what differences are actually going to be important.

Now I'm in the process of looking elsewhere. Problem is, I can't find anything like the MIT OCW course. I really loved the videos of actual lectures and the fact that I didn't have to enroll or sign in to anything. There exist a lot of Python tutorials on the internet, but I was hoping to also get an introduction to computer science in general because I need to learn the fundamentals of the subject. I'd like to have a deeper understanding than one would get by just learning a computer language without any of the theory behind it.

Does anyone have any recommendations for a more recent curriculum? Ideally I'd love it to have lecture videos, but I'll be content with just problem sets and a good textbook if it's up to date and has a robust step by step guide for setting up.

  • Juice [none/use name]
    ·
    1 year ago

    Python might not be the best language to learn a lot of those things, because python hides them for usability. Python really is a "try to make it before you really know how" kind of language. Python is also not the language I would want to learn object oriented programming on.

    JavaScript would be a little better, in that regard. but I struggled to learn any programming until I learned something with stricter typing: C then Java. Python legit confused me as a beginner, because I couldn't tell what was happening. Idk maybe its just me.

    • cosecantphi [he/him]
      hexagon
      ·
      1 year ago

      I initially decided on Python because that was the language the MIT OCW course was using, but since I'm not going to be doing that course, I'm willing to choose a different language. The only thing is I've heard C is much harder for a beginner to learn than Python is, but if you could suggest any good books written for beginners, I'd give it a try.

      • Juice [none/use name]
        ·
        1 year ago

        Well for books, any of the "Head First" books by O'Reilly do a great job of taking a beginner through the nuts and bolts of learning a language, so those might be sort of ideal for you.

        There's nothing wrong with Python as a beginner, but from the perspective of being able to see and mess around with how the code actually functions, the thing that makes python "beginner friendly" is that it abstracts all of that functioning away from the user.

        The things that make C difficult to learn are exactly the reasons why you want to learn programming: to understand the science behind it all.

        JavaScript is a little less abstract than Python. And the only languages I know are java, python and js. I wouldn't recommend Java for anyone who wasn't building like banking software, so sorry I don't really have a better recommendation. Personally I think you could start anywhere, if you're going to stick with it and learn cs then I don't think it matters that much. The first language is the hardest.

        As someone who took it upon themselves to learn coding and cs, succeeded and changed their life because of it, good luck!