Where can I learn software engineering, for free?

Started by
5 comments, last by Bacterius 10 years, 5 months ago

I'm pretty decent at programming but I suck terribly at designing things. My designs never pan out and I always end up throwing most of the initial planning away and coding in spaghetti. It works as expected, but it's spaghetti and it's hard to document. So is there any nice place with tutorials on this subject? I prefer language-nonspecific tutorials or C++ which is what I use 99% of the time. Thanks in advance.

Advertisement

How much do you already know?

Do you know the basics: MVC, etc...?

My Oculus Rift Game: RaiderV

My Android VR games: Time-Rider& Dozer Driver

My browser game: Vitrage - A game of stained glass

My android games : Enemies of the Crown & Killer Bees

Always prefer books to tutorials. Tutorials are woefully insufficient for learning anything in depth.

So take a look at the top of this list.

How much do you already know?

Do you know the basics: MVC, etc...?

I've never heard of it called "MVC" but I looked it up and I pretty much already knew that. I always separate input, logic, and rendering from one another as much as possible and then I separate different parts of the logic into independent classes whenever the opportunity arises. That last part is what I usually end up doing long after I started coding - I'd like to be able to plan for it in advance. Here's a recent example:

During design I planned it like this:

- class World keeps track of tile coordinates, time, and weather

- class Person walks on the world

- class Animal walks on the world

- class Vehicle walks on the world

But then I ended up doing it like this:

- class World keeps track of tile coordinates, time, and weather (no change there)

- class Entity stands on the world

- class MobileEntity inherits Entity and adds facilities for moving from tile to tile

- class BattleEntity inherits nothing and adds facilities for taking and dealing damage

- Person, Animal, and Vehicle all inherit MobileEntity and BattleEntity

Turns out I underestimated the complexity of what ended up having to be the classes Entity and MobileEntity.

Always prefer books to tutorials. Tutorials are woefully insufficient for learning anything in depth.

So take a look at the top of this list.

Hey, that looks neat! Thanks a lot! I'll be reading those now. :)

www.edx.org

There are tons of MIT lectures on youtube. About free diplom, I really don't know.

Always prefer books to tutorials. Tutorials are woefully insufficient for learning anything in depth.

So take a look at the top of this list.

And don't forget to practice by actually writing code. Just reading the damn book won't make you an expert in software engineering, just like reading a recipe won't cook it for you. It sounds obvious but there are so many people who read through books like this thinking "yeah I understand it" without writing a single line of code along the way, and at the end feel like they've learned nothing (and have, indeed, learned nothing, besides some superficial knowledge, soon to be forgotten).

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

This topic is closed to new replies.

Advertisement