Live data from Hacker News

Ask HN: How to you learn anything new in Computer Science?

news.ycombinator.com

1–10 of 19 posts

Ask HN: How to you learn anything new in Computer Science?

#1
I am a undergraduate student and my courses don't include much of the modern technologies. I consider myself to have a solid base in CS and have tried many times to learn new things but I always get bored with the courses and start another topic leaving the previous incomplete. Please share your ways of learning.

Re: Ask HN: How to you learn anything new in Computer Science?

#2
Two things I find very helpful:

1. Hang out online where people talk about new technologies. For me, that's HN, dev.to, and twitter (only works if you follow people doing cool things in tech)

2. Try out new technology by doing _small_, mostly pointless, but FUN little projects. That way, you don't have time to "get bored", because they're just little fun side projects! Also, you don't have to worry about them "scaling", etc - because you can just tell yourself that it's just a silly little project. But after several of these silly little projects - you'll be surprised at how much you've learned, and actually accomplished!

Re: Ask HN: How to you learn anything new in Computer Science?

#3
post #2

Two things I find very helpful: 1. Hang out online where people talk about new technologies. For me, that's HN, dev.to, and twitter (only works if you follow people doing cool things in tech) 2. Try out new technology by doing _small_, mostly pointless, but FUN little projects. That way, you don't have time to "get bored", because they're just little fun side projects! Also, you don't have to worry about them "scalin…

This. I sometimes find it hard to find suitable side projects that are

- small enough that you don't lose interest on the last mile

- big enough that it gives you something at least mildly valueable

- easy to entry and easy to work on occasionally. That last point kept me away from some hardware projects because I felt I need to carry the hardware wherever I go, just to do some experiments on the go.

All at the same time.

Any strategies in finding ideas?

Re: Ask HN: How to you learn anything new in Computer Science?

#4
post #3
post #2

Two things I find very helpful: 1. Hang out online where people talk about new technologies. For me, that's HN, dev.to, and twitter (only works if you follow people doing cool things in tech) 2. Try out new technology by doing _small_, mostly pointless, but FUN little projects. That way, you don't have time to "get bored", because they're just little fun side projects! Also, you don't have to worry about them "scalin…

This. I sometimes find it hard to find suitable side projects that are - small enough that you don't lose interest on the last mile - big enough that it gives you something at least mildly valueable - easy to entry and easy to work on occasionally. That last point kept me away from some hardware projects because I felt I need to carry the hardware wherever I go, just to do some experiments on the go. All at the same…

Hm, I don't know that I have a formal process for finding good side projects, but here's something I've been doing recently that might work for you:

1. Find something you want to play around with; for me recently, that was React Hooks

2. Start a codesandbox (I guess that only works if you're doing web dev stuff though), and just start messing with the examples from the tutorials

3. I almost always find something I want to explore further during that step, so then I take it offline and start a larger project

So I guess my advice would be: start small; even smaller than you think you should start (i.e., don't come up with a whole project to do - just "mess around" with the tech/idea in some small way first).

Then eventually, you'll get ideas about what you can try out, and what you should break off into a bigger chunk and try as a larger (but still small!) side project

Re: Ask HN: How to you learn anything new in Computer Science?

#6
post #3
post #2

Two things I find very helpful: 1. Hang out online where people talk about new technologies. For me, that's HN, dev.to, and twitter (only works if you follow people doing cool things in tech) 2. Try out new technology by doing _small_, mostly pointless, but FUN little projects. That way, you don't have time to "get bored", because they're just little fun side projects! Also, you don't have to worry about them "scalin…

This. I sometimes find it hard to find suitable side projects that are - small enough that you don't lose interest on the last mile - big enough that it gives you something at least mildly valueable - easy to entry and easy to work on occasionally. That last point kept me away from some hardware projects because I felt I need to carry the hardware wherever I go, just to do some experiments on the go. All at the same…

Have you tried making games? Can be as big or small as you want, can be as simple or complicated as you want, in the end you made something which didn't exist before and that is a satisfying feeling. It might not be a great career choice, but games have many of the most interesting problems in computer science.

Re: Ask HN: How to you learn anything new in Computer Science?

#7
This is what has helped me immensely: pick a service that you use and just reimplement it for your personal use.

You'll have a clear idea of the requirements and can even open source it at the end :)

Pick anything that would benefit frkm being self-hosted or something that you currently pay for. E.g. dropbox, etc.

Re: Ask HN: How to you learn anything new in Computer Science?

#8
There's no replacement for having a good network of friends and mentors to bounce questions and ideas off of. That makes all the difference for me.

Another thing is to disregard any statement that starts with "it's simple" or "all you gotta do is" unless that statement is followed by a "here, let me show you...". My main point is that the learning never stops, and you'll benefit from accepting that you are responsible for teaching yourself. Being fully dependent on a TA or professor to shove knowledge into your head is a good formula for hating a class when you start to understand the teacher isn't as good as teaching as you hoped they would be.

Lastly, learning is a lot harder if you aren't working on something fun, too. For example, if you're taking a class on databases and it's about as interesting as watching paint dry, maybe doing something more hands on involving databases would be fun. For example, I enjoy doing things like shaving microseconds of the amount of time it takes to query a table, and pushing the boundaries of what is possible helps me understand a whole lot about why that database was designed that way in the first place, which compliments the course material very nicely.

Post reply on HN