Two Plus Two Newer Archives

Two Plus Two Newer Archives (http://archives1.twoplustwo.com/index.php)
-   Other Other Topics (http://archives1.twoplustwo.com/forumdisplay.php?f=36)
-   -   Programmers (http://archives1.twoplustwo.com/showthread.php?t=134805)

Dane S 06-10-2006 12:18 AM

Programmers
 
I'm headed back to school in the fall after a year or two off and planning to major in Computer Science this time around. The intro class reportedly teaches Java which I have no experience with. Actually the only experience I've had with code is some messing around with VB6 when I was a kid. I liked it and think I got somewhat good at it for a 7th grader but I have no basis for comparison. My ambition is to eventually get into video game design.

So my question is what's a good way to learn some basics this summer so I'll be ahead of the game when school starts? Should I just begin work on Java or get started with some other language since I'll be learning Java anyway in class ? Suggestions as well as any specific books or other resources that might help out much appreciated.

goofyballer 06-10-2006 01:09 AM

Re: Programmers
 
imo, it's easier to learn C (which features more complicated things like pointers) and then learn Java than the other way around. Java has a lot of things which it kinda does "magically" to make things easier for the programmer; it's easier to learn memory management from the C perspective, where you're dealing directly with memory, than it is to learn Java's cookie cutter reference stuff and then have someone tell you "ok, remember everything you learned about references in Java? Forget about it" when you have to learn C.

CallMeIshmael 06-10-2006 01:13 AM

Re: Programmers
 
[ QUOTE ]
imo, it's easier to learn C (which features more complicated things like pointers) and then learn Java than the other way around. Java has a lot of things which it kinda does "magically" to make things easier for the programmer; it's easier to learn memory management from the C perspective, where you're dealing directly with memory, than it is to learn Java's cookie cutter reference stuff and then have someone tell you "ok, remember everything you learned about references in Java? Forget about it" when you have to learn C.

[/ QUOTE ]

astroglide 06-10-2006 01:21 AM

Re: Programmers
 
http://msdn.microsoft.com/vstudio/ex...harp/learning/. you can download or stream the videos.

the development environment (visual c# 2005 express) is free. you don't explicitly need to download or use it to get something from the videos.

if you move onto a book, i'm having good luck with jesse liberty's "programming c# (4th edition)", it's published by o'reilly and associates.

the c# language picked up a ton from java, so a large percentage of what you learn will directly transfer.

it's easy to watch the videos, and even if that's as far as you take it you will know a lot more than you do now. just start by watching a couple.

skunkworks 06-10-2006 01:29 AM

Re: Programmers
 
Goofyballer's post is a perfect example of the "hardcore" answer given to people that ask for some guidance as a beginner. C is most definitely not the first language I would want to teach someone. I'd rather have you thinking about general but very important concepts in CS rather than trying to figure out how to manage memory or learn pointer arithmetic. C as a first language is something that hardcore geeks seem to espouse.

Dane, most CS programs aren't really about teaching programming languages to students. You'll definitely learn at least one language pretty well (Java), and you may pick up a few similar ones (C/C++, VB) or a few strange ones. But the thing is, most teachers only use them as a tool to teach about deeper problems and solutions. You will very probably never have an assignment that explicitly teaches you how to create a connection to a database (something very useful in the real world), but you definitely will be learning the different algorithms used to search for a value in a binary tree.

The best preparation for school would be for you to learn your object oriented programming fundamentals through and through. What is a class, what is an object, what are functions in a true OOP sense, polymorphism, inheritance, etc. The most important thing is to learn how to think in an OOP way (a programming paradigm).

Good luck with the video game programming/design. I never took the video game course offered at my university, but I did take a 3D graphics class (OpenGL) and almost failed miserably. By the way, that was all done in C [img]/images/graemlins/tongue.gif[/img]

Dane S 06-10-2006 02:07 AM

Re: Programmers
 
[ QUOTE ]
http://msdn.microsoft.com/vstudio/ex...harp/learning/. you can download or stream the videos.

the development environment (visual c# 2005 express) is free. you don't explicitly need to download or use it to get something from the videos.

if you move onto a book, i'm having good luck with jesse liberty's "programming c# (4th edition)", it's published by o'reilly and associates.

the c# language picked up a ton from java, so a large percentage of what you learn will directly transfer.

it's easy to watch the videos, and even if that's as far as you take it you will know a lot more than you do now. just start by watching a couple.

[/ QUOTE ]

Thanks astro.. exactly what I was looking for. I'll check those out.

Dane S 06-10-2006 02:13 AM

Re: Programmers
 
[ QUOTE ]
Goofyballer's post is a perfect example of the "hardcore" answer given to people that ask for some guidance as a beginner. C is most definitely not the first language I would want to teach someone. I'd rather have you thinking about general but very important concepts in CS rather than trying to figure out how to manage memory or learn pointer arithmetic. C as a first language is something that hardcore geeks seem to espouse.

Dane, most CS programs aren't really about teaching programming languages to students. You'll definitely learn at least one language pretty well (Java), and you may pick up a few similar ones (C/C++, VB) or a few strange ones. But the thing is, most teachers only use them as a tool to teach about deeper problems and solutions. You will very probably never have an assignment that explicitly teaches you how to create a connection to a database (something very useful in the real world), but you definitely will be learning the different algorithms used to search for a value in a binary tree.

The best preparation for school would be for you to learn your object oriented programming fundamentals through and through. What is a class, what is an object, what are functions in a true OOP sense, polymorphism, inheritance, etc. The most important thing is to learn how to think in an OOP way (a programming paradigm).

Good luck with the video game programming/design. I never took the video game course offered at my university, but I did take a 3D graphics class (OpenGL) and almost failed miserably. By the way, that was all done in C [img]/images/graemlins/tongue.gif[/img]

[/ QUOTE ]

Thanks for the info. Do you think the C# stuff astro posted will be a good start to learning those OOP fundamentals you speak of?

I'm definitely more interested in the design side of gaming than the programming side, so I wouldn't say I'm looking to get too hardcore though a solid grounding is of course desirable.

UATrewqaz 06-10-2006 02:16 AM

Re: Programmers
 
Learn C++ and C#, also learn about relational model databases if you haven't, and also learn graphics related stuff if you plan on going into video games (as video games are graphics heavy)

But those are only technologies you'll be learning.

A degree in CS focuses primarily on concepts and theories behind computer science (binary/electrical engineering concepts, algorithms, data structures, memory management and other OS issues, software engineering practices, etc.)

tshort 06-10-2006 03:50 AM

Re: Programmers
 
If your class in the Fall is using Java, I suggest you learn Java. Try to get the book you will be using in the class. I'm going to assume that your first CS class will be brain-numbingly easy, so expect this if you learn the language this summer. In your second class, you should be challenged with learning and implementing various data structures. After that, it will be easy to learn the languages similar to Java (C++, PHP, C#, etc.). C++ will have some differences which at first will simply seem like a pain in the ass, but it won't take you too long if you know Java and programming concepts.

From there, you will probably have a programming paradigms class where you learn methods of programming in languages that are very different from Java and C++.

Realize that most of your curriculum will not be focused on writing programs, as others have mentioned. You will learn about hardware basics, data structures and their various implemenations, and mathematical / logic concepts. I wouldn't doubt, if you stick with it, that you become interested in something way different from game programming. Which probably wouldn't be bad idea, as it is my understanding that game programmers aren't in high demand.

Dadswell 06-10-2006 04:08 AM

Re: Programmers
 
On a releated note I think the intro course for first year students should be Assembly. That should quickly weed out the people that are not skilled/don't want to be there.


All times are GMT -4. The time now is 08:34 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.