Sign in to follow this  

Where can I learn software engineering, for free?

This topic is 1505 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

Edited by SeeForever

Share this post


Link to post
Share on other sites

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. :)

Share this post


Link to post
Share on other sites

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).

Share this post


Link to post
Share on other sites

This topic is 1505 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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

Sign in to follow this