Jump to content

Any suggestions for good beginner programming courses?

I am planning to pursue software engineering as my future career hopefully, i am going to college in about 6-7 months and i want to spend them learning coding/programming and anything really that can help in this specific major and i was wondering if someone can suggest me a good online course i can take which teaches bascially coding/programming from A-Z like from the easiest language and gradually on the harder ones. I am willing to pay obviously but it would definitely be appreciated it isnt like too too expensive because im Egyptian and inflation is at an all time high right now 😕

Link to post
Share on other sites

Figure out what language you want to learn.

 

Python is very beginner friendly, but slow.

Java is annoying but large enterprises run on Java, very easy to get a job if you know Java.

C/Rust/Go/etc are very fast languages but a bit harder to learn.

 

If you can't decide which language you want to learn start with Python.

 

Go to Udemy and find a course on your language of choice. Watch the sample lecture and read the reviews.

 

Add the course to your cart and wait for Udemy to have a sale (they have at least 1 sale a week) and the price will go down to $10 - $20 USD. If you are impatient search Google for "<course name> Udemy coupon code" and you will find one for 90% off.

 

 

Once you have the basics down figure out a problem you have and write code to solve that problem.

Link to post
Share on other sites

Seconded on what brendan said.

Python is really beginner friendly but abstracts away a lot of the computer science concepts. You miss out on core computer engineering knowledge that shows up on many other languages. On the other hand it builds your algorithm skills much faster and helps you think about things from a computer science perspective. It's mainly designed for scientists to use computers (classic example is my friend doing her physics PhD running python scripts to analyze the telescope data she collected.)

 

Java has an incredible amount of overhead that leaves you wondering, "why the fuck am I doing this like this" until you realize it was made for the specific goal of building large scale business systems and all that shit you write makes it clean when you have thousands of files shared between hundreds of devs. But for a beginner this scale actually obfuscates a lot of the core skills you really need so I don't think it's a good language to start.

 

Golang/Rust are essentially C++. Sure they have more syntactic sugar but at the end of the day they mostly support the same features and are often used within similar circumstances. These throw you into the deep end with full control over everything your computer can do and have a steep learning curve. But learn any one of these languages well and you'll be able to pick up any other languages within a month.

 

As for resources, I can't help but recommend harvard's CS50 on EdX. But i also remember when I first attempted watching those lectures in highschool that I was lost AS FUCK. There's this textbook, Beginner Perl, that personally I believe really equips you well with the terminology but Perl is more or less dead unless you really have a hard-on for core Linux.  Tho Perl is an interesting in-between language that slots in somewhere between C++ and Python, where you have a lot of stuff abstracted but to a lesser extent. Finally, as an MIT alumn, I can't help but mention MITx. There's 6.0001x (or w/e it's called now, they keep renaming it) along with any other class you can find on there. Furthermore, our fundamentals of programming class has incredibly well written assignments that guide you through what is expected of you and provides a .zip file with a full python test suite to check if your solution is correct. Although as a random online person you won't get feedback/help/access to the more in-depth answer checker, I think it's more than worth going attempting. I believe every single assignment is doable with sufficient googling without watching any of the lectures and feature really interesting problems, such as implementing n-dimensional minesweeper or a tower defense game. 

This is a signature.

Link to post
Share on other sites

Get head first java from amazon. Great for learning OOP programming. Other languages can also teach you oop but never to the same extend as Java. 


If you want to understand computer systems, and particularly unix operating system better (which was developed and closely associated with the C language), get The C programming language by Brian Kernighan and Dennis Ritchie. This book helped me tons back in college for learning system fundamentals and operating systems. Btw, you can actually do oop in C as well through clever use of function pointers. 

 

While I don't suggest piracy, pretty sure you can find plenty of pdfs of these books online. 

Sudo make me a sandwich 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×