Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Curriculum for self-taught ComSci

Name: Bosola 2013-01-28 16:39

This has probably been posted in the past, but I can't find any archives of this board.

I've been looking to go into software development, but I have a non-technical background. I've done a few projects and a bit of front-end stuff here and there, but I'd like to take things to the next level and actually start studying software engineering. I can't / don't want to return to university, so I'd like to try and self-teach.

My question is, where can I find a good curriculum for self-teaching software engineering / computer science?

My current plan of attack, subject wise, is:

1. OOP; object modelling
2. Algorithm analysis
3. Data structures and their low-level implementations
4. Relational databases
5. Functional programming
6. Programming languages and compiler technologies
7. Networking; TCP / IP
8. Overview of operating systems; typical OS architectures
9. Requirements analysis / UML
10. Software development methodologies
11. Concurrency, threading
12. Processor architecture

What else? Any thoughts, or anything obvious I'm missing out?

Name: Anonymous 2013-01-28 16:46

Security.

4. Relational databases
9. Requirements analysis / UML
10. Software development methodologies

Back to Hacker Kikes, please.

>>3-1000
Fuck off and die, illogical liberal Redditard shitstain.

Name: Anonymous 2013-01-28 16:49

1. Read SICP.
2. Read SICP.
3. Read SICP.
4. Read SICP.
5. Read SICP.
6. Read SICP.
7. Read SICP.
8. Read SICP.
9. Read SICP.
10. Read SICP.
11. Read SICP.
12. Read x86/ARM/MIPS and 6502/Z80/AVR manuals.

Name: Anonymous 2013-01-28 16:50

>>2
Fuck off and die in a fire, illogical fascist racist and sexist cretin.  FUCK YOU I FUCKING HATE YOU.

Name: Anonymous 2013-01-28 16:51

You missed the most important thing: TDD
Without that 9. is shit.
I know is a part of 10. but it deserves it's own number. TDD IS THE TRUE PATH

>>2
Go die in a fire, fucking shitfucker.

Name: Anonymous 2013-01-28 16:55

>>4
Go eat suicide snails, Yannick Al-Jihad.

>>5
Go jump in a lake full of cut nigger dicks, Javashit loving kike.

Name: Anonymous 2013-01-28 16:57

>>6
Go eat suicide snails, Yannick Al-Jihad.
Stop projecting.

Fuck off and die in a fire, illogical fascist racist and sexist cretin.

Name: Anonymous 2013-01-28 17:01

>>7
I wonder when ``stop projecting'' became the default insult in your average RedditardTM's toolbox.

Fuck off and die, illogical raghead towelhead and Jewish nigger faggot.

Name: Anonymous 2013-01-28 17:04

>>8
Fuck off and die, illogical raghead towelhead and Jewish nigger faggot.
I am rubber you are glue.

Name: Anonymous 2013-01-28 17:06

>>9
C-4 is explosive plastic.

Name: Bosola 2013-01-28 17:25

>>2

Security could be useful and should expose me to some interesting knowledge.

>>3

I'll be sure to get a copy, then.

Name: Anonymous 2013-01-28 17:34

Name: Bosola 2013-01-28 17:51

>>12

Oh, wow, that is MOST handy.

Name: Anonymous 2013-01-28 21:20

do NOT learn any of that. do NOT read sicp. just program.

Name: Anonymous 2013-01-28 22:59

>>1

That's a good list. Also see >>2, security is both handy job wise and relatively interesting in comparison to everything else.

Some more:

* embedded systems
* web design
* operating systems
* graphics
* vector geometry.
* Many optimization/search algorithms use techniques that are connected to the derivative in higher dimensions, so learn you the vector calculus.
* distributed computing
* artificial intelligence
* machine learning, data mining
* how to make the singularity that solves all of humanity's problems and then eliminates it

Name: >>15 2013-01-28 23:01

And numerical algorithms/simulation. You might as well learn fluid dynamics while you are at it.

Name: Anonymous 2013-01-29 4:53

>>14
That's poor advice as it leads people to write substandard code because they don't understand the knowledge we've refined over numerous decades. People need to learn about how to properly structure their programs and SICP is the seminal resource to doing that. An unlearned programmer is unlikely to develop skills like:
system design
algorithms
data structures
database theory
etc.

Name: Anonymous 2013-01-29 7:40

>>1
13. Anuses
14. Colons
16. Prostates

Name: Anonymous 2013-01-30 10:08

You should have basic understanding of how human's mind works, because your brain would be the tool you use the most in your career. Introspect on how you solve problems and how you learn, then improve these skills. Then learn a shitty but not too shitty programming language, use it to learn the basic about algorithms and data structures. Then go solve a shit load of classic problem on SPOJ. There are also uva, topcoder to choose from.

At that point you would have become more competent than most programmers IN THE INDUSTRY despite you lack experience with tools and environments people use out there, but that's not the point if you are interested in computer science, so forget them altogether. Now it's the time to invest more skillpoints on your theoretical background: carefully study the theory of computation, review or even relearn your mathematics and mathematical logic if necessary, at least you should remember how to do proof and what set is. After that, it's the perfect time to start to learn about programming language theory and programming paradigms, which will lead to type theory. These things will lead you to more advanced abstract algebra, lambda calculus and its friends, category theory and higher order logic and stuff, but deal with it.

Along the way you might pick up some gems of the EE discipline, and understand how the comtemporary electronics computer works and how every piece of hardware out there is an utter piece of shit, which is certainly good. The Sussman is also from EE, you see.

Now that you have become a true wizard, you can set out to study whatever you like. Frivolous things like database, networking, computer engineering or artificial intelligence should be as easy as a pie for you now. Regularly read research papers, contribute to those workshops you are interested in, and try your best to survive without a job, since you didn't come back to academia and still studied that much CS.

Or simply, just read your SICP

This is not the only route anyway, but I'm pretty sure this is one of those route in CS that will either lead to true end or bad end. Good luck suiciding with a poisoned apple like Alan Turing

Don't change these.
Name: Email:
Entire Thread Thread List