Live data from Hacker News

Where to Start in Computer Science?

news.ycombinator.com

11–19 of 19 posts

Re: Where to Start in Computer Science?

#11
post #5

If it where me and I where starting out I would get an Arduino board and a book on C/C++ development for Arduino. The reason I would do this is because it is very much like the early days of PC development where you are closer to the hardware and the feedback loop is quick, it also cuts away the layers and layers of stuff that can be distracting in a less focused segment. While working through learning to develop on…

Would a Basic Stamp kit (from Parallax) be similar enough?

Basic Stamps are also simple to program however if you have the choice I would recommend the Arduino. The difference being that with an Arduino you are learning in the C programming language from day one which is a very useful and powerful language in use in a number of fields including Game Development. By comparison the Basic Stamps are programmed in PBasic which is not used outside of Basic Stamp programming (and similar Basic languages such as Visual Basic and QBasic are outdated / no longer in wide usage).

On a related note Hackerspaces tend to be great places to meet other programmers and many of them have quite active Adruino communities. http://hackerspaces.org/wiki/List_of_Hacker_Spaces

EDIT: grammer

Re: Where to Start in Computer Science?

#12
post #10

Earlier quoted context omitted.

Would a Basic Stamp kit (from Parallax) be similar enough?

So long as it has a C compiler it would be fine, the big point is that you want to manage memory as you want to understand how the memory and the hardware is managed. I personally like to have people learn by doing and then read the theory afterwards. For me at least the theory sticks better after someone has witnesses it. My recommendation was because you said that you want to learn computer science and to me that i…

Got it. I'm already looking into it.

Re: Where to Start in Computer Science?

#13
post #11

Earlier quoted context omitted.

Would a Basic Stamp kit (from Parallax) be similar enough?

Basic Stamps are also simple to program however if you have the choice I would recommend the Arduino. The difference being that with an Arduino you are learning in the C programming language from day one which is a very useful and powerful language in use in a number of fields including Game Development. By comparison the Basic Stamps are programmed in PBasic which is not used outside of Basic Stamp programming (and…

Ok that makes perfect sense. I know basic has been largely set aside for quite some time now and I always wondered what the point of learning a useless language was... this is the kind of stuff that I am trying to avoid wasting time on.

Re: Where to Start in Computer Science?

#14
post #9
post #8

For you that I'd say start with Python. It's used for software development, scripting, system administration and web development which seems to hit everything you want. I'd check out udacity's cs 101 which teaches how to build a search engine in Python as well as Google's Python class: http://code.google.com/edu/languages/google-python-class/ Since you're still in school it might be worthwhile to see if you could sne…

Seconding Google's Python class. It does an amazing job of covering the most common use cases in a very short class. I'm still relatively new to programming and whenever I'm writing code I invariably find myself referring back to the lessons from the class. Note that the class is taught in 2.x so if you're running 3.x then the example code won't run. IIRC, updating the print statements for the new version was the onl…

I had no idea Google even had classes

Re: Where to Start in Computer Science?

#15
post #11

Earlier quoted context omitted.

Basic Stamps are also simple to program however if you have the choice I would recommend the Arduino. The difference being that with an Arduino you are learning in the C programming language from day one which is a very useful and powerful language in use in a number of fields including Game Development. By comparison the Basic Stamps are programmed in PBasic which is not used outside of Basic Stamp programming (and…

Ok that makes perfect sense. I know basic has been largely set aside for quite some time now and I always wondered what the point of learning a useless language was... this is the kind of stuff that I am trying to avoid wasting time on.

While basic is a good language to learn the (pardon the pun) basics of programming, it's not a great language to learn computer science if that is your goal. For that I think the best two languages you can learn are C and then Lisp. Neither are huge languages as far as number of jobs go but both are fundamental and foundational languages. Mastery of both will allow you to master any other language quickly. C will help you understand the hardware and Lisp will help you understand pure software CS theory that is why I recommend C first and then Lisp, you want to build a foundation, then layer on from that foundation and the best way is to work from the hardware up. Once you understand how the hardware is controlled by the software, it makes it very easy to see how to optimize code when you are dealing with what looks like pure software problems.

The Arduino board has a lot of support and following, so that is why I recommended it, and it supports other languages as well so as you grow and learn new languages you can use your knowledge of the board to learn new languages on. If you find a different board that you like though and it has a C compiler then it will suffice, but Arduino does have a huge community that tend to help each other out.

Re: Where to Start in Computer Science?

#16
Have you read "Code" by Charles Petzold yet? I highly recommend you get ahold of this book. It's the quickest way to get to a solid understanding of the fundamentals of computer science and makes for an interesting read with all of the history laced in.

Check out Udacity too. I've been using it for about the past week or two and I refer it so much I'm starting to feel like I work for them.

Re: Where to Start in Computer Science?

#17
post #16

Have you read "Code" by Charles Petzold yet? I highly recommend you get ahold of this book. It's the quickest way to get to a solid understanding of the fundamentals of computer science and makes for an interesting read with all of the history laced in. Check out Udacity too. I've been using it for about the past week or two and I refer it so much I'm starting to feel like I work for them.

Yes thanks to hacker news I have come to know about Udacity and can't wait to sign up for next terms CS101. I am always reading I can't seem to get enough... per your recommendation I'll definitely check it out.

Re: Where to Start in Computer Science?

#18
post #16

Have you read "Code" by Charles Petzold yet? I highly recommend you get ahold of this book. It's the quickest way to get to a solid understanding of the fundamentals of computer science and makes for an interesting read with all of the history laced in. Check out Udacity too. I've been using it for about the past week or two and I refer it so much I'm starting to feel like I work for them.

Yes thanks to hacker news I have come to know about Udacity and can't wait to sign up for next terms CS101. I am always reading I can't seem to get enough... per your recommendation I'll definitely check it out.

Yeah, I just started doing the course way late, since I just recently heard about it myself. You can still access the materials. It might be good motivation to haul through everything in time for the final exam. That's what I'm trying to do.

The way it works is that if your final grade is higher without incorporating your homework grades, they just take your final exam as your grade for the class. This is nice because I'm turning in every homework late and getting a 0.

I don't care about the grades anyways. I like the structure of the instruction for learning. You should sign up and just rock through Unit 1 and see what you think of it. It goes fast at the beginning.

Re: Where to Start in Computer Science?

#19
post #2

I recommend you learn either python, java, or c++. In fact learn all three you will be an elite programmer (:

Oh ok well that's reassuring because those are three languages I have toyed around with in the past. From a step one scenario (where I consider myself to be), do you have any recommended learning resources?

check out udacity amazing for first time programmers, or khanacademy computer science section teachs python
Post reply on HN