Live data from Hacker News

Ask HN: I dropped out. How do I continue my CompSci education?

news.ycombinator.com

21–30 of 33 posts

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#21
Congratulations on your startup!

In my opinion, you could check out what kind of courses they typically offer in their curriculum at MIT/etc and check out their corresponding courses on OCW. Since you're doing this out of sheer fun, don't be bothered getting too caught up with the structure of it. If you see anything you like, just read up on it.

Usually the ones you've mentioned are a good stepping stone towards more advanced ones though you mentioned you don't want advanced ones. Here are some you can look into:

1. user interface designs (helpful with any startup I think) 2. software engineering (teaches you a little bit of structure in a development process) 3. courses about testing, testing methods 4. operating systems (not crucial but it's fun to read, kinda helps with ideas about distributed computing)

Good luck!

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#22
I might make me here unpopular, but I would say: No, you did it wrong! Let me clarify on this: Yes, in CS you might not learn how to program well, this is true. However, when you study you get knowledge about several interesting computer science problems and how to solve them. You will see that problems later in your programming carrier however now you have a good background to solve them. Just a simple example: You given an array (let's say integeres). How would you remove all duplicates? A naive solution would be to check for every value, if there is more of this in the array. This has a running time complexity of O(n^2). The better way would be first to sort your array and then just iterate and remove all neighbours which are equal. This corresponds to O(nlogn) + O(n) complexity.

What I try to say, as a young "coder" you might not see all the troubles (in this case performance) you make when coding just straight away. You need to understand what you are actually doing, for this CS study gives you a good background.

The other really important point is: Startups fail with very high probability! CS diploma (or whatever this is in your country) gives you a solid background on which you can relay, when looking for a job position after your startup time. So, complete with your study is maybe a very classic way, however this is the most secure way for a long term.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#24
post #20

I know that some people will disagree with me violently, but you can self-learn pretty much any topic in CS as long as you are willing to put in the effort (any topic in any subject, really, the main factor is motivation). As someone who skipped straight to a masters, I know it is certainly doable to self educate. MIT open courseware might be a good place to start, although I've never used it myself. http://ocw.mit.e…

Also UC Berkeley has video podcasts of entire courses on iTunesU, with materials available online.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#25

"NAND to Tetris" will give you a good grounding in the basics of hardware design, the low-levels of operating systems, implementation of languages. Basically, you get a good overview and practical experience tinkering with the whole thing. http://www.reddit.com/r/programming/comments/7s383/from_nand... I got the same thing from my CS education, but by accident. You can get it packaged neatly in one place from this co…

This alone will put you in the top half of the programming community with regards to knowledge and overall understanding.

Really? Is the bottom half really that dumb? Or people just choose to ignore things which are not immediately of there need. I completed that book and though it was a great read, I wouldn't say I know much more than a person who has a CS degree.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#26

"NAND to Tetris" will give you a good grounding in the basics of hardware design, the low-levels of operating systems, implementation of languages. Basically, you get a good overview and practical experience tinkering with the whole thing. http://www.reddit.com/r/programming/comments/7s383/from_nand... I got the same thing from my CS education, but by accident. You can get it packaged neatly in one place from this co…

This alone will put you in the top half of the programming community with regards to knowledge and overall understanding. Really? Is the bottom half really that dumb? Or people just choose to ignore things which are not immediately of there need. I completed that book and though it was a great read, I wouldn't say I know much more than a person who has a CS degree.

Or people just choose to ignore things which are not immediately of there need.

A sentence that answers its own question! (Left as exercise.)

I completed that book and though it was a great read, I wouldn't say I know much more than a person who has a CS degree.

The problem is that often the same material is covered in the process of getting a CS degree, but in the wrong order and in a time-dispersed manner. "NAND to Tetris" gives you an overview of the whole thing in a coherent way. And yes, there are people with a CS degree who would get a few "Ah Ha" moments out of doing the course. Also note that I said it would put you in the the top half of the programming community and not the top half of those who hold CS degrees.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#27

I'd suggest you look into machine learning. It's probably going to be the single most important area of computing in the years to come. Start with the Stanford course online. Also, if you haven't already, learn functional programming.

I hear this a lot: "learn functional programming", so I did a Haskell module and I still don't understand what all of the fuss is about. Can you attempt to explain it to me?

I think PGs Common Lisp is a good book for functional programming. It really forces you to solve problems in new ways. While it is not difficult to do the problems in each chapter, doing them the "lisp" way will definitely challenge a C programmer.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#28

Earlier quoted context omitted.

I disagree. If anything, it's school that can wait. Especially considering you can get a decently comprehensive CS education w/o paying mid-5 figures a year in tuition. Rather than giving all that money away needlessly, spend a fraction of it on room and board and spend the majority of your time teaching yourself. You'll be done way ahead of 4 yrs. And then jump into the startup world.

You don't go to college just to study.

I can't agree with this more. I was a bit of an outcast at my school and I still had the time of my life. I played in a few bands, went to a lot of shows, worked at the college radio station, took classes in philosophy, writing and photography and got a degree in Comp Sci. I would argue that the non-programming experiences are just as valuable to someone starting their own company.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#29
post #22

I might make me here unpopular, but I would say: No, you did it wrong! Let me clarify on this: Yes, in CS you might not learn how to program well, this is true. However, when you study you get knowledge about several interesting computer science problems and how to solve them. You will see that problems later in your programming carrier however now you have a good background to solve them. Just a simple example: You…

You can do even better by inserting each element from the array into a hashtable and either discarding or doing a deep compare on collisions. Ignoring the probability of collisions, this is O(n) at the cost of extra space.

Re: Ask HN: I dropped out. How do I continue my CompSci education?

#30
post #18

I dropped out, too (it was to a programming job). This was quite some time ago (1982). I tried to finish school later, but work always won. I never had the discipline to do both. To keep up: 1. Read CS textbooks and do small projects to make sure you understand the material at a practical level. 2. Join the ACM and keep up with interesting publications from their electronic library. (The Usenix papers are free, but m…

Regarding point 2, it might be worth checking out if any local university has a public library with journal access.
Post reply on HN