Jump to content

Majoring Computer Science are helpful for my future?


Vinsin

Recommended Posts

**I am new to this if I post into a wrong place forgive me.

 

 

My question is because I don't really know what Computer science course teach you, right now I am studying HTML4, CSS, CS3, C#, C, C++, SQL, MySQL & PHP, etc at home (not from school).

 

The main point is when I searching job on www.indeed.com and I enter one of the category above, I find out most company didn't have Bachelor degree as a requirement and the salary are very high too, is between $50,000 ~ $120,000. But one or two company did ask for Bachelor degree.

 

And I know in college, Computer Science don't teach all those category, so what is the point for me to get a Bachelor Degree if I can find a part-time or full-time job with one of the category above?

 

I know some of you in this forum know about questions like this, can you please answer my question.

 

Thank you

Link to comment
Share on other sites

Computer science degrees usually teach programming only incidentally. Programming is necessary to complete the courses, but learning ActionScript or C# is not the goal of the program.

 

I am sure you can find many jobs that do not require a computer science degree, only programming experience. You will be limited, though. Computer science (things like algorithms, data structures, parsing techniques, the low-level architecture of computers, and operating system design) provides many useful tools which can be used to solve complex problems.

 

Take a look at the curriculum of a college computer science program and contrast it with what you're learning at home.

Link to comment
Share on other sites

Computer science degrees usually teach programming only incidentally. Programming is necessary to complete the courses, but learning ActionScript or C# is not the goal of the program.

 

I am sure you can find many jobs that do not require a computer science degree, only programming experience. You will be limited, though. Computer science (things like algorithms, data structures, parsing techniques, the low-level architecture of computers, and operating system design) provides many useful tools which can be used to solve complex problems.

 

Take a look at the curriculum of a college computer science program and contrast it with what you're learning at home.

So...do I need a Degree to find a job?

Link to comment
Share on other sites

Often jobs require any degree because all degrees have things in common, like the ability to get things done and especially you learn how to learn. But if they don't require that they may not care. Often you can get a programming task done with a well-designed, elegant, beautiful solution, or you can do the same job with terrible, brittle, sloppy code. Again some employers won't care.

 

Here are some things you would get in a comp sci degree that you might not get just learning the different languages:

- Learning how to learn and how to figure out the things you'll need to implement something.

- Problem solving, code design skills.

- Algorithms (how to solve a computational problem the right way).

- A lot of the boring details on how to do things right and rigorously (the "science" part of computing science), that you might not bother to learn on your own.

 

Also on the other hand, getting into a job and actually working with a team and their code---at least as long as they're competent---will teach you other details too that you might not learn in school.

So...do I need a Degree to find a job?

No, some employers will just care that you can get a program to do what they want, and they don't care if it's quality code. Others want higher quality but care only about ability or experience, and there are a lot of self-taught computer geniuses. Many jobs will require a degree though. Edited by md65536
Link to comment
Share on other sites

If you want to get into programming then software engineering might be a good alternative to computer science. And often companies will take graduates with a technical degree e.g. maths/science. What you really need to demonstrate is an aptitude for learning, logical thinking and problem solving. A degree can help with this or even a course that doesn't go to degree level.

 

As md65536 says employers are looking for different things.

 

But you can get into the industry and be self taught (though I don't personally know that many without a degree.). I would recommend learning about good software design/architecture and read authors like Martin Fowler and Robert Martin (Uncle Bob) as well as learning the languages and technologies you need. If you can give yourself a decent project and implement it then you'll have something to talk about in interviews as well as learning from it. If it's something like a website you've built then you'll also have something to demonstrate.

 

If you want a job and don't think you need a degree then I'd say jump right in. The best way to learn in the software industry is from experience but learn and read around the subjects you need along the way. You'll know what those are when you get started. I didn't have a computer science background when I started and I did OK but the learning curve was quite intense at the start of my career.

Link to comment
Share on other sites

Some companies do not require that you have a degree in Computer Science in order to secure a job in programming. One of my friends is currently a programmer, he does not have a degree in Computer Science, he completed 2 of 4 years of a Physics degree before choosing this field and self-taught the programming essentials - but, then, he is a bit ridiculously intelligent! However, a degree in Computer Science would certainly be an asset if and when the supply of programmers begins to increase and swamp the labour market, employers may well become more selective. I would second the points made above by other members: the ability to think logically and to demonstrate problem-solving skills is essential. Any programming related experience would also be advantageous.

 

Good luck!

 

Tri

Link to comment
Share on other sites

If you want to get into programming then software engineering might be a good alternative to computer science. And often companies will take graduates with a technical degree e.g. maths/science. What you really need to demonstrate is an aptitude for learning, logical thinking and problem solving. A degree can help with this or even a course that doesn't go to degree level.

 

As md65536 says employers are looking for different things.

 

But you can get into the industry and be self taught (though I don't personally know that many without a degree.). I would recommend learning about good software design/architecture and read authors like Martin Fowler and Robert Martin (Uncle Bob) as well as learning the languages and technologies you need. If you can give yourself a decent project and implement it then you'll have something to talk about in interviews as well as learning from it. If it's something like a website you've built then you'll also have something to demonstrate.

 

If you want a job and don't think you need a degree then I'd say jump right in. The best way to learn in the software industry is from experience but learn and read around the subjects you need along the way. You'll know what those are when you get started. I didn't have a computer science background when I started and I did OK but the learning curve was quite intense at the start of my career.

Like I say learning PHP, SQL, C, etc. what are the good ways to learn about this?

 

I am a beginner started from HTLM and PHP, and I am using ConTEXT to partice entering codes do you have any good advice for me while I learning these category?

Link to comment
Share on other sites

I'm not an expert on those particular technologies but I expect there are tonnes of good resources on the web. You need to google things like "good coding style" "best practice" alongside whatever technology you're looking at and hopefully you'll find some good discussions which can take you to some good resources. stackoverflow.com is my favourite site for specific questions.

Link to comment
Share on other sites

Related, slashdot has a recent story about things computer programmers ought to learn:

http://developers.slashdot.org/story/13/10/08/0210210/what-are-the-genuinely-useful-ideas-in-programming

 

This doesn't tell you how to learn about them... but you can read books on the topics, or google them, or google which books are good.

 

Often if you don't need to be an expert you can read a book on a topic and copy ideas out of the book without understanding them very well. If you're just starting out you might want to focus just on fundamental ideas of programming and practice making simple programs in a popular language.

 

Then of course, depending on what you focus on, some languages and topics are more important than others. I'm more interested in computer graphics and physics, so I would add 3d math and numerical analysis (boring but useful) to the lists.

 

Some of the worst code I've seen by professional colleagues involved trying to handle angles in 3d with 2d thinking and math, and another case not understanding the idea of linear interpolation and just hacking around the problem. Yet, the bad solutions worked good enough and these people continued working in the industry (though they weren't star programmers or anything). I myself wrote terrible code not understanding 3d math and also due to not understanding object-oriented programming/data structures, and only learned some of how to do it better after years of experience (was never a star either).

Edited by md65536
Link to comment
Share on other sites

For a comprehensive introduction to computers and programming, do the project on the nand2tetris site. It is the kind of background that gave me the ability to learn the syntax and semantics of any language from a reference manual and a few days practice. However, languages come with libraries of programs that take much longer to master. And, to learn the art and science of programming is a life long endeavor, as there is much more to programming than learning a programming language. But, it is the first step.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.