View Full Version : Advice for a prospective Computer Science Student
sam191
May 14th, 2009, 08:51 PM
Hello all,
I am looking for some advice. I am in college and will be taking intro to programming courses next fall, but my Computer Science degree does not start until fall of 2010.
What can someone in my position do to prepare? I am a novice Python programmer and a beginning Linux user.
I have read MANY forums and am getting different answers everywhere I look. Many recommend SICP. This made me realize that I have been focusing on the syntax of programming, and that I have a big gap in my foundational programming skills.
I now feel as if I am worrying too much, and wasting my time researching WHAT to learn, rather than learning! :D This is no good.
I would greatly appreciate some advice for a person in my position(books, material, any particular order?) to put my worries to rest and to get me going in the right path with a strong foundation.
Many thanks in advance!
_Sam
grepgav
May 14th, 2009, 08:58 PM
Don't worry to much, but if you can just challenge yourself to learn programming by coming up with your own project you can learn some valuable skills going in.
Also, make sure you are comfortable with math, especially abstract thoughts and discrete math because that will be a common theme in your coursework.
BTW- I am a 3rd year CS student and I liked to learn programming on my own before starting college, and it did help me get a quicker start for a lot of my classes.
sam191
May 14th, 2009, 09:03 PM
Thanks grepgav!
I have fairly strong math skills. I am at a community college right now and have pretty much been on top of my science classes (math, physics) but I am almost certain it will get a lot harder soon.
I also had a few projects in mind, but for some reason I kept thinking that they were a waste of time and that I could be learning something else. Bad habit?
grepgav
May 14th, 2009, 09:10 PM
At least for me, the best way to learn new languages and ideas is to just sink my teeth in and start figuring it out with trial, error, and google. As long as you are challenging yourself and learning new things I think it will pay off, because that is a skill (teaching yourself/figuring things out) that you will need to be successful in CS.
simeon87
May 14th, 2009, 10:52 PM
You could learn a new language, like C, but you can also focus on exploring common concepts in computer science, such as data structures (like lists, maps, etc) or trying a language with a different paradigm, like functional programming (in comparison, Python is imperative/object-oriented). You could try to learn a bit of Haskell for example.
But that's all theoretical, you could also pick something that you're interested in and try to develop a small application that does that. A game for example, with rendering on the screen and the basics of physics simulation. So interest drives your exploration of new concepts (which a computer science degree will certainly cover.. well, physics simulation only when you specialize but graphics certainly).
sam191
May 15th, 2009, 05:56 AM
Thank you for your replies,
So basically I should learn what I am interested in, and not what others tell me to learn?
I have this bad habit of NOT learning stuff because it might hinder my foundation. I have just realized this!
I think I am going to experiment with PHP and learn C++! After all of the forums that told me not too. And then Java and C#. Those seem to interest me the most(game and web development)
I hope that I will get the right foundation through my computer science degree.
This was a big wake up call for me.. Thanks guys!
majamba
May 15th, 2009, 05:58 AM
focus more on calculus and physics don't worry about the programming because those courses are hardest
abraxas334
May 15th, 2009, 10:19 AM
I think I am going to experiment with PHP and learn C++! After all of the forums that told me not too. And then Java and C#. Those seem to interest me the most(game and web development)
Definitely do what you are interested in! But C++ as an entry level language is mean. I was in the situation where I had to go from no programming knowledge to rather complex C++ stuff. Then I discovered Java and suddenly things made a lot more sense. Also I believe most CS degrees use Java as an entry language (at least at my uni). It has good IDE's and visual stuff is fairly easy, which makes programming for me very satisfactory!
Good luck and enjoy!
ajackson
May 15th, 2009, 10:44 AM
The best advice I can give is to have a read through the sticky (http://ubuntuforums.org/showthread.php?t=1006666) at the top and some of the links in there. Have a read of the various articles and stuff on this (http://lambdagrok.wikidot.com/learn:start) site.
Finally, and most importantly, remember that if you have fun while learning you will learn in a better manner. So also look to what interests you and try to adapt your learning to that, you will have your fair share of dry topics to learn but mix them up with the fun stuff and you learn it easier.
simeon87
May 15th, 2009, 12:28 PM
I think I am going to experiment with PHP and learn C++! After all of the forums that told me not too. And then Java and C#. Those seem to interest me the most(game and web development)
I hope that I will get the right foundation through my computer science degree.
Perhaps I should stress that the language doesn't matter, it's not important in the end because once you know how to program, it's only a matter of picking up the syntax and perhaps a few new concepts that a particular language might support. So becoming a good software developer or computer scientist doesn't involve learning many languages but learning the skills that matter (writing correct, clean and maintainable code, knowing what's happening etc). Java and C# are so similar that when you've learned one, you'll be able to switch between them without much trouble.
sam191
May 15th, 2009, 08:43 PM
@ majamba:
Really? I find programming to be harder than Calculus (I am currently taking Calculus at the Community College)
@abraxas334:
I found C++ to be easier to wrap my head around than Java( this is from playing around with the syntax) but then again, I am still iffy with OOP. The CS classes here teach C++ first then Java as CS 210 and CS 211 respectively.
@ajackson:
Thanks, I have already read through most of those. And will remember to make fun a priority :D
@simeon87:
Thanks for the advice. I do know that certain languages are better suited for certain tasks.
I would like to become an overall strong programmer in many fields(web programming, applications, maybe try a little bit of systems)
But my main goal right now is game programming, I just want to make sure that the skills and languages I am learning for this will be useful later on in my career.
Powered by vBulletin® Version 4.2.2 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.