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.

2 points

The W3schools tutorial is good

permalink
report
reply
3 points
*

What’s your current level of programming/comp sci knowledge if any? I know you said you’re a complete beginner, but I’d include things like spread sheet macros, some spread sheet usage w/o macros, shell scripts, batch files or powershell scripts as programming knowledge. You know what a constants, functions, loops and variables are?

permalink
report
reply
5 points
*

Python is alright.

permalink
report
reply
3 points

On the Python side, I can recommend Python Crash Course, it does not assume any kind of prior programming knowledge from the reader and will take you through all the base features of the language. If you want a more advanced dive into the language after you have covered the basics, Fluent Python is a personal favorite of mine.

permalink
report
reply

For programming, I would strongly suggest starting with Java. It has a ton of resources and you can do object-oriented programming with it. (Python cannot do a lot of the things that you would be expected to do with Java or another OO language, namely a thing called polymorphism that is very important.) If you wanted to learn more theory, I could send you some textbook PDFs tomorrow.

permalink
report
reply
0 points

This couldn’t be further from the truth, Python is built around OOP and practically everything in Python is an object. Default functions like len() are built around polymorphism. Java isn’t a bad choice either, but at least for me Python was way easier to get started with.

permalink
report
parent
reply
2 points
*

Literally try to give two functions the same name (with different signatures) in the same class.

I didn’t even know python had classes when I first started learning it because it’s not in many tutorials because user-defined OOP principles are so badly implemented in Python. Moreover, since it’s not a statically typed language it can be a real pain for a newbie to debug wrong variable types at runtime.

And, philosophically, python is so far away from the bare metal that it teaches a lot of bad programming behavior imo. But no one likes when I suggest starting with C or C++, so I guess Java is good enough.

permalink
report
parent
reply

askchapo

!askchapo@hexbear.net

Create post

Ask Hexbear is the place to ask and answer thought-provoking questions.

Rules:

  1. Posts must ask a question.

  2. If the question asked is serious, answer seriously.

  3. Questions where you want to learn more about socialism are allowed, but questions in bad faith are not.

  4. Try !feedback@hexbear.net if you’re having questions about regarding moderation, site policy, the site itself, development, volunteering or the mod team.

Community stats

  • 1.8K

    Monthly active users

  • 2.8K

    Posts

  • 58K

    Comments