|  |
03-27-2006, 05:23 PM
|
#1 (permalink)
|
Newb Techie Join Date: Oct 2005 Posts: 13
| where to go from here I'm 17, and I've only been programming for about half a year. I'm fairly sure that I want to go into some kind of programming career, but I don't really know what to focus on. Right now, I have foundation of BASIC and some C++, as well as enough HTML to get by. I have heard, and am beginning to agree, that C++ is not a good direction for someone with only one other language, and such a largely unused one. What should I do in terms of studying languages? Should I devote some of my time to web-based programming? I expect to finish high school next year, with average grades. I know I want to go on to study in college, but with what focus? And how important will things like hardware or knowledge of Unix-based operating systems be? I have a good grounding in Spanish, will this be of any use to me in this career and should I continue to pursue it? I need to know what I should be doing now. What can I do that is really going to matter in the long run? Thanks in advance for your advice. |
| |
03-27-2006, 06:09 PM
|
#2 (permalink)
|
Ultra Techie Join Date: Jul 2005 Posts: 530
| If you really want to do anything serious in the 'programming' field, I would go on to college and study for a Bachelors of Science in Computer Science.
Your knowledge of spanish might help you career-wise, but I don't consider that very likely. I have seen a lot of research papers in computer science written in Spanish though, so if you are truly fluent, that might help you.
Don't worry so much about which languages to learn or which you know. C++ is a good, stick with it if you know it. Don't bother with HTML, since most of that stuff is generated automatically now anyway.
If you want to dabble in web programming, try some PHP. Its so close in syntax to C++ that I made 'the leap' to writing useful code in it in a few hours of playing around. Web programming is useful if you want to sharpen your skills and earn some extra money though. You can find a small company or club or something and try to get some kind of dynamic webpage going for them for a small fee. Once you get better at this, its pretty easy to find larger work in your spare time.
As far as your main focus, if you stick to developing your skills in C++ you'll be alright with a university education. I wouldn't waste any time 'studying' a language. Come up with ideas for projects and try to complete them. Write a resizeable dynamic array class. Write an automatically balanced binary tree class. Write classes to manipulate images in simple ways. (PGM is a simple format to learn)
Don't bother studying hardware beyond a basic understanding, since you'll learn that in a university setting anyway. Hardware is always changing, so learning that the AMD xyz processor goes with the nVidia abc chipset isn't worth knowing as far as a career goes.
You'll need to use unix-based operating systems, but you need not be an expert. I know enough to get around and compile C/C++ code, and thats about it. Nobody is going to force you to run it on your main machine, and that probably won't help you anyway, since most of the work I've ever done on *nix has been from a remote SSH/Telnet session anyway.
__________________ Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache) |
| |
03-27-2006, 06:13 PM
|
#3 (permalink)
|
Ultra Techie Join Date: Jul 2005 Posts: 530
| By the way, I was a member of my high schools programming contest team. (See if your high school has such a team) I highly recommend this type of practice.
Here is a site I found on Google with these types of problems... check out the past contest problems. (I've never done these particular problems, but I've done problems like them) http://www.cs.scranton.edu/~mccloske/hs_prog_contest/
EDIT:
Here are some past problems from my university: http://www.cs.ucf.edu/~contest/hs_to...neral.problems
__________________ Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache) |
| |
03-28-2006, 06:04 PM
|
#4 (permalink)
|
Super Techie Join Date: May 2005 Posts: 479
| well, just do what you enjoy.. Hopefully you program because you love it, if that is the case, continue to program, learn how to write elegant algorithms. Elegant algorithms typically exist in more hackerish languages, areas such as artifical intelligence (often written in lisp), OS(typically C), and genetic algorithms (c is often used for efficiency) is areas to start.. Books will help too, just search for algorithms in amazon and read the reviews..
Hoping your considering post secondary education in computer science (i do believe that is a major.. you specialize in year 3)..
Spanish sadly won't help you much, the working language of computing world is English (there is a reason why it never occured to Linus to comment in Finnish, his native language), and all important papers are published in English. Therefore, make sure you know how to write correctly in English..
__________________ lisp hacker 
running: FreeBSD 5.4 - still learning 
develop with: SBCL + emacs for lisp, Anjuta IDE +gcc for c, SPE for python..
browse with: opera |
| |
03-28-2006, 06:29 PM
|
#5 (permalink)
|
Ultra Techie Join Date: Jul 2005 Posts: 530
| Yes Computer Science is a major and a very well established one. (40+ Years old at this point)
I would like to add to the comment about learning some other languages like lisp and stuff.
A lot of the stuff we do in the computer vision lab I work with uses Matlab. I wish I had learned matlab years ago.
__________________ Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache) |
| |
03-28-2006, 08:28 PM
|
#6 (permalink)
|
True Techie Join Date: Jun 2005 Posts: 131
| Forgein languages are pretty useless for CS. Everyone pretty much speaks English, even if they are outsourcing to India. When you get to college you probably won't need to take a foreign language (most other majors have to) because of the ****load of math, science and cs courses you will have to take. So my best advice for you is to learn to love math.
Most undergrad computer science majors pretty much study the same thing, the only real differentiation is when it comes to the cs electives that you choose. |
| |  | | Thread Tools | | | | Display Modes | Linear Mode |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | | |