It is currently October 21st, 2014, 7:18 pm



Post new topic Reply to topic  [ 92 posts ]  Go to page Previous  1, 2, 3, 4
Author Message
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 18th, 2012, 3:23 am 
Offline
Elite
Elite
User avatar

Joined: December 7th, 2011, 8:42 pm
Posts: 1586
Real Name: Konstantin
I agree with all of the above. But that still leaves the question of what is the best course of action for someone who is just learning programming and wants to become a game designer. Again, I don't consider it as wanting to be just any kind of coder on the team. You really don't need much for that, and what little you need can be acquired from any CS or Game Dev program.

There is a lot of demand for people to do simple programming in high level languages. Web development is a shining example of that. There are also a lot of people willing and capable of filling these positions. I don't understand why you'd want to be one of these people. If you are going to be doing something, learn to do it well. If you cannot be among the best, consider another field. Maybe you can do much better there. If it happens that you are mediocre at absolutely everything and you decided to go into development just because it's something you think you'd be least mediocre at, my advice is not for you.

If you want to squeeze as much knowledge as you can out of your CS program so that you can get a good position giving you at least an opportunity to grow into a lead, you need to prepare as good a background as you can. If you have years of time ahead, then again, none of it matters, but realistically, we are probably talking about someone who's either about to start university or has just started. So time is short, and to make the best of that time, if you don't know C/C++ already, you need to learn it. If you do already know C++ and are comfortable with basic OO programming, you want to diversify. You want to have some practical exposure to a broad category of languages. It's good to know an example of compiled, byte-code compiled, and an interpreted language. It's good to know examples of languages from each generation. In fact, in 4GL, you might want to be exposed to more than one so that you can actually see what 4GL is all about. I'd say the same thing about 5GL, but there aren't enough of these to make a good case study.

If you start learning Python before you know C++, you are shooting yourself in the foot. You will want to know both. If you start with Python, you will take longer to learn programming than if you start with C++, because you will not waste time re-learning anything. If the university program went another route because they are trying to get as much tuition as possible out of people that go through it, then you'll have to take it into your own hands. Learning C++ before you start or concurrently will give you an advantage. It will either let you learn more from the material you are studying or give you more time to look for other sources of learning. Independent projects are the best way to learn more, and all you need for that is extra time. Every bit of advantage counts. So again, no need to cripple yourself with poor choices.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 18th, 2012, 3:35 am 
Offline
Regular
Regular

Joined: July 18th, 2011, 8:40 am
Posts: 60
KSquared wrote:
I agree with all of the above. But that still leaves the question of what is the best course of action for someone who is just learning programming and wants to become a game designer. Again, I don't consider it as wanting to be just any kind of coder on the team. You really don't need much for that, and what little you need can be acquired from any CS or Game Dev program.


Oh yeah, game development. I completely forgot we had a central topic in the thread :|
Yeah we did go off in a bit of a tangent there, but it's an interesting topic to open up regardless. It seems almost everyone in the field has an opinion on this subject.

KSquared wrote:
There is a lot of demand for people to do simple programming in high level languages. Web development is a shining example of that. There are also a lot of people willing and capable of filling these positions. I don't understand why you'd want to be one of these people. If you are going to be doing something, learn to do it well. If you cannot be among the best, consider another field. Maybe you can do much better there. If it happens that you are mediocre at absolutely everything and you decided to go into development just because it's something you think you'd be least mediocre at, my advice is not for you.

If you want to squeeze as much knowledge as you can out of your CS program so that you can get a good position giving you at least an opportunity to grow into a lead, you need to prepare as good a background as you can. If you have years of time ahead, then again, none of it matters, but realistically, we are probably talking about someone who's either about to start university or has just started. So time is short, and to make the best of that time, if you don't know C/C++ already, you need to learn it. If you do already know C++ and are comfortable with basic OO programming, you want to diversify. You want to have some practical exposure to a broad category of languages. It's good to know an example of compiled, byte-code compiled, and an interpreted language. It's good to know examples of languages from each generation. In fact, in 4GL, you might want to be exposed to more than one so that you can actually see what 4GL is all about. I'd say the same thing about 5GL, but there aren't enough of these to make a good case study.

If you start learning Python before you know C++, you are shooting yourself in the foot. You will want to know both. If you start with Python, you will take longer to learn programming than if you start with C++, because you will not waste time re-learning anything. If the university program went another route because they are trying to get as much tuition as possible out of people that go through it, then you'll have to take it into your own hands. Learning C++ before you start or concurrently will give you an advantage. It will either let you learn more from the material you are studying or give you more time to look for other sources of learning. Independent projects are the best way to learn more, and all you need for that is extra time. Every bit of advantage counts. So again, no need to cripple yourself with poor choices.


All things considered, I guess you are right. If nothing else, the appreciation you'll have for higher level languages after knowing the lower level ones is worth it. Not just in terms of "OMG THANK YOU FOR BEING SO MUCH SIMPLER" but also for understanding what they can do for you. But I'll still insist that you don't need to master C/C++ to be good at writing code with the higher level ones.

_________________
Steam Profile


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 18th, 2012, 3:55 am 
Offline
Elite
Elite
User avatar

Joined: December 7th, 2011, 8:42 pm
Posts: 1586
Real Name: Konstantin
By the time you can be considered to have mastered C++, I don't think there is any longer a need to distinguish between languages. At that point, you can just say you've mastered 3GL OOP. So yes. I agree, mastering C++ should not be your goal. But if you'll be working in game-dev, it's still entirely 3GL right now, so it's probably inevitable. As the AI field grows, I suspect there will be a great need for experts in 5GL for game development, but we aren't quite there yet. Outside of game dev, yes, you might have greater need for mastery of specific 4GL.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 18th, 2012, 5:35 am 
Offline
Regular
Regular
User avatar

Joined: February 3rd, 2012, 2:02 pm
Posts: 126
Location: USA
I originally wrote responding quote after quote, but after seeing how long it turned out, I think I will break it down to a more general response. :lol:

KSquared, I do agree with you about if you can start with the language (C++ or the like) and get through it, you'll have an advantage. The sooner the better. However, I don't see using a different language to get one acquainted with the basics as "crippling" or "shooting yourself in the foot." It's a minor inconvenience at best. It's just a difference of syntax for the most part at that level.

I don't feel my university CS program is bad. I can't say the greatest in the world, but I don't think it's bad. I didn't like the Python class, falling asleep because I already knew all the simple pre-OO-learning things. But, I understand the reason for it. Because for someone where this was their first time, they might have a hard time. But having a difficulty at first does not mean you can never be a good programmer, no more than one who starts out having much difficulty reading will not mean they can never be a strong reader. Programming is seriously something else, that you can't exactly know how to do until you start doing it. So you can't expect that even future great programmers can't have a heck of a time at first. Or, that's how I feel.

And if it actually was for tuition reasons, I think the entire program would've "dumbed down" to match. Not just a shift in the intro language. *shrugs* Maybe that's just me, not thinking every move my school makes is about money.

Oh, and a semester isn't a year. A semester is about 4 months. ;)

I started out with BASIC myself. :) And I've gotten to try out several languages. Granted, it may not be the "most effective" path, but I've enjoyed it. I've enjoyed the constant trek of learning new things. And I can't help but feel that I've benefited from all that I learned before actually getting into C++. Ways of programming--ways of seeing and thinking--that I would likely never have tried otherwise. (Like Terrapin Logo) And this probably influences my perspective on the matter. About whether doing so causes harm.

I agree with there being more paths in universities and colleges. That would be great. If anything, at least give more options to skip or test out of basic programming, or allow one to choose a language to start off with. (Like maybe that Intro to C class I took should've counted as a substitute) To not shoot for a "one-size fits all" type of thing. I've found that the higher-level courses will let you select your own preferred language to use (C++, C#, Java usually) so I don't find that much of a problem there.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 18th, 2012, 7:02 am 
Offline
Elite
Elite
User avatar

Joined: December 7th, 2011, 8:42 pm
Posts: 1586
Real Name: Konstantin
Again, it's not the question of whether you can learn just as well by other means, or whether you can benefit from other programming experience before getting into C++. Of course, you can. The question is, what gets you most experience in limited time, and the answer is, C++.

ShadowFalco wrote:
It's just a difference of syntax for the most part at that level.

It's what looks like just difference in syntax at that level. But as I've stated a couple of times already, it actually goes significantly deeper.

C++ forces you to program a certain way because a compiler expects certain things of you. If you understand why, you are a better programmer for it. But even if not, it still forces you into better practices. Variable declaration makes you more aware of memory usage and makes you think in advance about your algorithm. Way C++ handles arrays makes you consider the way they are stored in memory. Ways you use headers makes you aware of the relationship between compiler and linker, as well as force you to structure your object model more elegantly.

These are just some of the things you learn without even realizing you are learning them with C++. With Python, each of these has to be separately instructed on. There is no other way to get that knowledge to the student. As a result, you end up either wasting more time or not learning some of these things.

If you have all the time in the world, you have all kinds of options. But that's not the case most of the time. Unless you started programming as a kid, you are competing against people who did. You need to catch up and do so fast. Python just doesn't cut it for that.



Oh, and there are ways to test out of introductory classes. Advanced Placement courses are one option. Back when I went to school, these were still C++. Last I've heard they've switched to Java, which isn't the worst substitution by far. Most universities will also give you credit by exam on some low-level courses, but you have to talk to people about it and make sure it's all in order. Finally, you can simply get around these courses by getting approval to take higher level courses without pre-requisites, and substitute the hours from higher level courses for the hours you need. You typically need instructor's permission for that, but I haven't been denied once in 3 different departments.

In fact, this is the sort of thing you should be doing. The very first CS course I took at uni was data structures, and overall, the only freshman/sophomore level classes I was taking were for the English/Liberal Arts requirements that every university seems to have. I know there are a lot of people out there who have no idea what they'll be doing in college, and maybe for them the intro courses make sense, but if you have some idea of what you plan to do, there is no reason not to take care of all that while still in high school.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 18th, 2012, 9:33 am 
Offline
Newbie
Newbie

Joined: February 18th, 2012, 9:24 am
Posts: 1
I don't think the carpenter analogy is actually a very good one. Carpentry is a profession that has been around for a long, long time. It was literally around before the time of Christ. Software engineering is not such a profession. It has been around for less than 100 years. If you were an architect building a bridge, you would need a certification. The reason there are essentially no software engineering certifications is that the tech industry is itself entirely unsure what the best programming practices are.

So a carpenter might benefit from learning all the time-tested tools available to him. A developer should not. Programming has not been around very long, and the trends have constantly changed and evolved. I don't think learning the newest languages and frameworks is how you become a "good" developer; it's rather futile. While that can lead you to get things done, it won't lead to elegant code. While elegance was mentioned in the video, the path to elegance was not discussed. It's far more important to learn fundamental ideas and design patterns. This way, not only will you adapt to new tools more quickly, but you will also learn to think critically about whether these tools promote good code qualities.

Once a minimum aptitude with algorithmic thinking has been achieved, I would recommend the books CLRS and GoF (if you google it'll come up at the top). Though the examples in these books are quite old-fashioned (word processors? window systems?) they teach ways of thinking that lead to elegant code.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 19th, 2012, 4:11 am 
Offline
Elite
Elite

Joined: January 19th, 2012, 11:21 pm
Posts: 1174
hamstermk4 wrote:
Out of all the programmers I have met in college and on the job, only four of them were female. It would be nice to see more of them, but I don't have high hopes.

One thing that I would like to see addressed in the episode is the "experience" requirements. Nearly all programming jobs say "2-3 years experience required." I want to know what most employers expect a new hire to know from 2-3 years experience that they didn't learn in college. Also how is a new programmer supposed to get those 2-3 years experience if nobody will hire them fresh out of school?


That is the vicious experience cycle of the workforce. It exists in nearly every field of work there is. I was once turned down for a job at Jack in the Box, being told "We're looking for someone with more experience in the food industry"

_________________
Image
My latest game! Votes and feedback are a big help.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 19th, 2012, 12:44 pm 
Offline
Newbie
Newbie

Joined: February 19th, 2012, 11:39 am
Posts: 1
Programming is about expressing your ideas in terms of data. You need to break down a system and understand all of the data presented therein. It doesn't really matter what language you use to start with.

A programmer deals with two major problems. These are accessing the data, and processing the data. If you look at the industry, a lot of programming has to do with integration of existing systems (I want our company to handle orders placed at kiosk A or website B or with company C). In this style of programming, understanding the problem is boringly trivial yet accessing the data responsible for making that happen is not. Many people say that CS degress are useless because in a CS program you are writing programs where you know where all the data is. If there were a weakness in the typical CS program, it is that it doesn't do a good job of teaching you how to reasearch and find information about external systems.

In games, you have the reverse problem: the data is trivially accessed (it's all in memory) but constructing the proper system to model the game is not trivial. Not only that, but once you have constructed the system there are features that need to be added at the last minute, or there is some new rule to the game that must be modelled. Games have traditionally been "hackish" because a game's data is often highly coupled, and a quick fix to that is to make certain variables global to the system. Graphics effects and hacks are an art form. However, it is an increasinly marginalized one due to graphics cards changing how programmers understand graphics (the hardware engineers are taking over what software engineers are doing in that space).

The whole tools discussion is an interesting one that is rife with sales pitches. Many experienced programmers will guilt you into using tools that they developed themselves. Many tools are redundant or otherwise poorly designed. Many tools do things that you don't expect them to do (this is especially true of a certain company based in Redmond, Washington).

One last final thought: If you look at a game's credit list, you will find very few programmers. It typcially takes only 3 to 5 programmers to do a typical AAA game, as most game studios will simply have you use a pre-built engine. As an indie developer, it's often upon you to do the programming AND the art AND the storyline AND the gameplay. I know Extra Credits likes to encourage indie development, but it kind of takes a jack-of-all-trades to do that.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 19th, 2012, 8:17 pm 
Offline
Newbie
Newbie

Joined: January 14th, 2012, 5:02 pm
Posts: 3
Gilmok wrote:
Graphics effects and hacks are an art form. However, it is an increasinly marginalized one due to graphics cards changing how programmers understand graphics (the hardware engineers are taking over what software engineers are doing in that space).


It's quite the opposite actually. The graphics cards used to support only fixed pipelines, which meant everything happened on the hardware side. Now we use programmable pipelines, which basically means programmers upload code to the graphics card, and that code runs in real time to process rendering.

Gilmok wrote:
One last final thought: If you look at a game's credit list, you will find very few programmers. It typcially takes only 3 to 5 programmers to do a typical AAA game, as most game studios will simply have you use a pre-built engine.


I would absolutely love to see a AAA game with only 3-5 programmers. I've worked on many projects, and even modest games require a dozen of programmers. Even with an existing engine, unless you are just doing an expansion, you will need at the very least (and I am being super optimistic) 25 programmers. You can very well create a game with even a single programmer, but not a AAA game.

http://www.youtube.com/watch?v=9VNNJAGZxdk just check the first 2mins... something tells me you'll find more than 5 programmers in there.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 20th, 2012, 1:28 pm 
Offline
Newbie
Newbie

Joined: February 20th, 2012, 1:14 pm
Posts: 2
Notoriety wrote:
I don't think the carpenter analogy is actually a very good one. Carpentry is a profession that has been around for a long, long time. It was literally around before the time of Christ. Software engineering is not such a profession. It has been around for less than 100 years. If you were an architect building a bridge, you would need a certification. The reason there are essentially no software engineering certifications is that the tech industry is itself entirely unsure what the best programming practices are.

So a carpenter might benefit from learning all the time-tested tools available to him. A developer should not. Programming has not been around very long, and the trends have constantly changed and evolved. I don't think learning the newest languages and frameworks is how you become a "good" developer; it's rather futile. While that can lead you to get things done, it won't lead to elegant code. While elegance was mentioned in the video, the path to elegance was not discussed. It's far more important to learn fundamental ideas and design patterns. This way, not only will you adapt to new tools more quickly, but you will also learn to think critically about whether these tools promote good code qualities.

Once a minimum aptitude with algorithmic thinking has been achieved, I would recommend the books CLRS and GoF (if you google it'll come up at the top). Though the examples in these books are quite old-fashioned (word processors? window systems?) they teach ways of thinking that lead to elegant code.

The analogy is a better one than you'd think.
As you mentioned yourself the path to success as a developer is understanding the fundamentals and design patterns.
The understanding of design patterns and fundermentally how declarative, differs from object oriented, differs from procedure, differs from functional are the tools that mark a successful developer.
I agree that relearning the latest language doesn't really matter. Lets face it if you know C, C++, AWK, Perl, SQL, Haskell, Prolog, any sgml based structure and assembler then you can pretty much pick up the new languages as the arrive without trying much.
The trick has always been know what patterns work and what patterns dont. And that hasn't changed much.
Just like for carpenters I'm sure the tools and techniques may have changed of the past few thousand years, but the drive for better approaches and tools and the understanding about what works and what doesn't is probably pretty similar to our exact same path.

Personally I have found talking and working with people is the best ways to get these skills...


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 20th, 2012, 1:30 pm 
Offline
Newbie
Newbie

Joined: February 20th, 2012, 1:14 pm
Posts: 2
galdon wrote:
hamstermk4 wrote:
Out of all the programmers I have met in college and on the job, only four of them were female. It would be nice to see more of them, but I don't have high hopes.

One thing that I would like to see addressed in the episode is the "experience" requirements. Nearly all programming jobs say "2-3 years experience required." I want to know what most employers expect a new hire to know from 2-3 years experience that they didn't learn in college. Also how is a new programmer supposed to get those 2-3 years experience if nobody will hire them fresh out of school?


That is the vicious experience cycle of the workforce. It exists in nearly every field of work there is. I was once turned down for a job at Jack in the Box, being told "We're looking for someone with more experience in the food industry"

I always advise people coming to me to enter the a developer role to work on open source projects in there spare time. It just makes hiring someone much less of a risk if they can talk about the the open source project they worked on; opposed to just saying they are a quick learner


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 22nd, 2012, 2:25 am 
Offline
Newbie
Newbie

Joined: February 22nd, 2012, 2:13 am
Posts: 2
Just wanted to point something out: while looking at someone else's code is a great way to learn how certain programs work, not all programs can be easy to understand. I've come across some really bad code in my time, and trying to decipher them are really difficult.

If you're just starting out, look for code examples that have lots of comments in them. Well-made comments and explanations can save a load of time.


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: February 22nd, 2012, 10:15 am 
Offline
Regular
Regular

Joined: July 18th, 2011, 8:40 am
Posts: 60
Ok, time for the mandatory song link. We should've had this earlier in the thread really.
http://www.youtube.com/watch?v=v4Wy7gRGgeA

_________________
Steam Profile


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: March 7th, 2012, 10:25 pm 
Offline
Newbie
Newbie

Joined: January 23rd, 2012, 10:05 pm
Posts: 4
I study drawing and recently started studying music and animation. I said it before and I'll say it again: Your show applies to these (and many more I imagine) arts as much as in video games!

I mean seriously, take this episode and you only have to change a few words to present it to a drawing or animation class!


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: January 4th, 2013, 7:13 am 
Offline
Newbie
Newbie

Joined: January 4th, 2013, 7:12 am
Posts: 1
I always wanted to be a developer since I was a kid, but I am currently struggling on whether or not if I should stick to it. I started my second CS class at my college recently in which we learned about the workings of a computer such as how a processor works, io outputs, and etc. I found this incredibly.... boring. I always was interested in coding and solving intricate puzzles, but learning about the inner workings of a von nehman computer left me very uninterested. This concerns me as this video describes how programmers must be interested in the working of objects and machines, but for some reason I don't think I have that talent. Any advice or reassurance anybody? I know I was a little late to the party on this episode.
:|


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: January 4th, 2013, 2:59 pm 
Offline
Regular
Regular

Joined: July 18th, 2011, 8:40 am
Posts: 60
Similar to a great number of fields (academic and not), there is a very wide range of "levels" in which one may gain expertise. By levels, I mean abstraction. In the same way you have theoretical vs experimental physicists, or pure vs applied mathematicians, etc, you have CS graduates who are more familiar with the high level abstract aspects of the field and others who are closer to the technical aspects.

Computer scientists who become experts in the theoretical aspects of the field resemble applied mathematicians. They are computational scientists. Their problems revolve around computational theory and the like, problems which a few decades ago were tackled by mathematicians (because computer science wasn't a thing yet).

On the other hand, we have the computer scientists who work in the "low level of abstraction" side of things. They work with hardware architectures, or low level communication protocols, or chip designs, etc. Here you will find a large crossover with electrical and electronic engineering.

This is a gross oversimplification of the two extremes. There are other aspects to CS and there are certainly jobs and positions which require bits of knowledge from both low and high level computer science.

This next paragraph is a bit of a rant. It's something I'd like to share to get opinions on, but you can skip it (it may have also been mentioned in the thread already but I don't remember and I've already spent more time on this post than I should):
Spoiler: show
In recent years, from talking to colleagues, professors and friends in academia, I have noticed that CS departments in Universities have started shifting away from the classical CS curriculum and are slowly becoming web-developer generating machines. This is only natural of course; the supply follows the demand. The industry has changed and CS graduates need to be prepared for industry jobs if that's what they're going for. A web developer doesn't *need* to know the von Neumann architecture. It's just a bit of a shame that the percentage of CS graduates that are less educated in the theoretical parts of the field is growing. We're producing less scientists and more IT professionals. I understand that this is just the opinion of someone from the academic side. I'm sure the people who are actual IT professionals feel this is the right way to go.


Ok, back on course. It's fine if you don't like the computer architecture course. It may not just be the material; it could be the professor, the way he teaches, the lack of interactivity with the course material. It could just be you. You can't love all aspects. I had to learn the TCP/IP stack 3 times for various courses during my studies and I still can't remember anything. I can never remember these kinds of things, the parts you just need to memorise to write them down during the exam and no real understanding is required. Or for instance, databases. I always found database courses to be extremely boring, even though I wasn't bad at them in any way. In my opinion, it is possible to become an expert in computational theory without knowing how a CPU works. It would be good if you had a basic level of understanding of how a CPU works though, so a minimum dedication to the "boring" courses will be required.

Bottom line, I wouldn't be too discouraged. It's your second class, after all. I can understand how it might be a bit frightening to think that you might end up stuck in a field that's very different from what you expected, but if you like programming and problem solving as much as you say, there's definitely a direction for you inside CS.

Perhaps you could look ahead at what courses you are going to be doing the following years, which I'm sure you've already done when applying, but going through all the Wikipedia articles on each subject (again, if you haven't already). Wikipedia pages on CS-related subjects are very well written and they'll give you a great taste of what's to come and whether you will like it. If there's absolutely nothing to your liking, that might be the time to reconsider.

_________________
Steam Profile


Top
 Profile  
 
 Post subject: Re: Extra Credits: So You Want To Be a Developer (Part 1)
PostPosted: January 4th, 2013, 7:38 pm 
Offline
Elite
Elite
User avatar

Joined: December 7th, 2011, 8:42 pm
Posts: 1586
Real Name: Konstantin
miniknight, consider everything Achilleas said. But also look into applied mathematics. They don't concern themselves with hardware at all. Of course, majoring in mathematics, you would have to take some courses in pure math. Analysis, abstract algebra, etc. I don't know how you feel about these. But as Achilleas said, there is a big overlap between the more abstract CS and the more applied mathematics. A lot of it is problem solving, figuring out algorithms, their order of operation, writing implementations of these algorithms, and so on. Not much different from CS. The biggest shift is that you would see a lot less data structures and a lot more linear algebra.

I'm not sure it is your sort of thing, but if you are feeling dissatisfied with CS courses, it might just be.

Achilleas wrote:
You can't love all aspects. I had to learn the TCP/IP stack 3 times for various courses during my studies and I still can't remember anything.

I'm not sure I ever met anyone who had drastically different feel for TCP/IP stack. Including people who wrote their own implementations.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 92 posts ]  Go to page Previous  1, 2, 3, 4

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: