I share your enthusiasm for the Nand2Tetris courses.
What language did you use to complete Project 6 (Hack compiler)? Was it Javascript?
If you really want to get up to speed quickly with a modern, object-oriented language, I recommend Python. It's relatively easy to learn, easy to use (interpreted rather than compiled), has a syntax that is at least similar to Javascript, and is very widely supported. I have previewed, and in some cases completed, a number of MOOCs (probably about a dozen) that teach introductory Python. The one I recommend is available on edX. It's a whole series of courses taught by Charles (Dr. Chuck) Severance at the University of Michigan. The first course in the series is
Programming for Everybody (Getting Started with Python). It covers the basics of Python, but not the object orientation features (which are covered in a later course in the series). You can audit this course for free but getting your problem solutions graded is not. Sadly, this is the direction of most MOOCs these days.
If I were beginning to learn programming all over again, though, I'd learn C first. In fact, back in 1988, this was the first language with which I actually became somewhat proficient. C was originally devised to create an operating system (Unix), so it's consequently pretty low-level (for a high-level language
) and forces you to understand how computer main memory operates at the "address" level.
If you're looking for probably the best MOOC for an introduction to programming, and computer science in general, I'd recommend David Malan's (Harvard)
CS50x's Introduction to Computer Science, also available for audit on edX. The current version of this course introduces programming progressively in Scratch (a lot of fun), then C, and finally Python. It's been around since the beginning of the edX platform and has steadily improved with each new (now yearly) version. The course delivers the same material that is contained in the on-campus CS50 course offered for non-CS beginning students at Harvard. In fact, in the original version, video lectures were recorded in the actual CS50 class. Current production values are very high, and David Malan is an extremely gifted lecturer. If you want to know what's expected of a freshman student at Harvard, you can find out by taking this course. HarvardX also offers a number of other CS50 variants, including one called
CS50's Introduction to Programming with Python, also taught by Malan and also recommended.
I wish you continued success with your Nand2Tetris adventure.