Jump to content

Is Computer Science Hard?

OkLoL
Go to solution Solved by GoodBytes,
20 hours ago, neonfirefox said:

Im applying for a computer science major, and im average in math, how much math is required to become a software engineer or a software developer? Is this major hard to learn?

As a person who recently graduated (last year) in Computer Science, I can tell you that, you can put Computer Science part of the group of hardest degrees. What I mean, is that it isn't something you need to be gifted for graduating, what I mean, is that you need to take it very seriously starting day 1. Depending on your university, and option you take in the program, expect many times have "no life", and just be at university and working 8-9h per day, 7h on a good day. That is of course, if you want good grades, and not marginally passing, and failing courses here and there.

 

There is actually little programing in Computer Science. You have your Java/C++ course.. maybe haskell or F# or other rarely used programming languages, but that is it. Of course you only learn the programming language, there is no: How to develop a Windows application, course, or How to use Visual Studio... etc. Why? because University focuses on you being a researcher, not be in the work field. So, beside Computer Science, (and this adds to the program difficulty), is that you need to do the rest on your own time, including personal projects, that is if you want to stand out for when you apply for a summer interships/job or your first job in your resume. Remember, MANY people just have a CS degree. Why would they pick you over anyone else? So you need something to stand out. Of course, that does not apply if you plan to do a Master degree and phD later on.. in that case, just focus on your academic work, as that is the only thing that matters.

 

The program is filled with "math". Why did I put math in quotes? Because while you have your standard engineering math classes, which may or may not apply to your career depending on what you plan to do, you have other courses that uses the LOGIC side of math. So, it isn't some more calculus or linear algebra classes or what not, but it is the logic side that takes place. You also have LOTS of proofs to make, which will test your deep understanding of the material.

 

I was average on math, but I like math. I made it. You just have to be persistent, and motivated to push yourself continuously. Basically, what I am saying is, that any degree is "easy", if you know what you want to do at the end, if you are interested in it (it is normal to have a few courses you end up not liking), you'll be engaged to learn as you'll have fun, despite the many challenges one can face.

 

That is my advice.

Im applying for a computer science major, and im average in math, how much math is required to become a software engineer or a software developer? Is this major hard to learn?

Link to comment
Share on other sites

Link to post
Share on other sites

a lot of math

but its not exactly the same as math, you can do stuff that doesnt require math, it just limits how efficient you can code

you should definitely try it and see if you like it, even if youre average at math

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Enderman said:

a lot of math

but its not exactly the same as math, you can do stuff that doesnt require math, it just limits how efficient you can code

you should definitely try it and see if you like it, even if youre average at math

is there a similar computer major you'd recommend?

dont mind me ill just butt in here

i7 4790k | MSI Z97S SLI Krait Edition | G.Skill Ripjaws X 16 GB | Samsung 850 EVO 500 GB | 2x Seagate Barracuda 2TB | MSI GTX 970 Twin Frozr V | Fractal Design R4 | EVGA 650W

A gaming PC for your budget: $800 - $1000 - $1500 - $1800 - $2600 - $9001

Remember to quote people if you want them to see your reply!

Link to comment
Share on other sites

Link to post
Share on other sites

I'm not currently as science major but I can tell you about learning to code. Coding, as with most things has its own learning curve. The steepness of the curve kind of depends on your current knowledge of how computers work. Memory allocation can come up at times and you learn how to deal with it. Coding in general follows a series of rules that change a little from language to language but for the most part stay consistent. Basically once you learn one language, learning another is very simple. Computer Science is also a very niche major. You either love it and get it or you hate it and can't ever grasp it. Id recommend trying to basic level stuff first and see if you like it. Sites like codingbat.com can help if you are learning java. I just wrote all of this not knowing if you know how to code or not so if you don't then follow this. If you do, ignore me.

6600k, Msi 980, Msi gaming m5, Corsair 8gb ddr4, Raid 0 Samsung 850 evo 250gb,1tb WD Black, Noctis 450

Link to comment
Share on other sites

Link to post
Share on other sites

A few universities around here have development style degree programs through their schools of business rather than science. Usually a slightly lower math requirement.

 

Just something to maybe look for.

Link to comment
Share on other sites

Link to post
Share on other sites

22 minutes ago, HPWebcamAble said:

is there a similar computer major you'd recommend?

dont mind me ill just butt in here

computer science

software engineering is very different, a lot more work on hardware programming and low level logic stuff

start with compsci and if you enjoy that then maybe look into software engineering

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

Well I'm in Computer Science in University of Toronto, and let me tell you this: It's pretty difficult here.

It's not coding as one might think. A Computer Science degree is different from a Programming degree. The objective of our Computer Science degree is to learn and understand about the theoretical aspects of Computer Science.

There will be mathematical proofs, logic, algorithm testing, computational mathematics, code proofing, linear algebra, statistics, calculus, computational theories and discrete maths.

You could also study data structures and analysis, software engineering, network security, computer graphics and much more if if you wish, but the major program only requires you pick 2 of these advanced courses. If you want to a Specialist degree, then you have to take handful of those advanced CS courses.

Quote

The problem is that this is an nVidia product and scoring any nVidia product a "zero" is also highly predictive of the number of nVidia products the reviewer will receive for review in the future.

On 2015-01-28 at 5:24 PM, Victorious Secret said:

Only yours, you don't shitpost on the same level that we can, mainly because this thread is finally dead and should be locked.

On 2016-06-07 at 11:25 PM, patrickjp93 said:

I wasn't wrong. It's extremely rare that I am. I provided sources as well. Different devs can disagree. Further, we now have confirmed discrepancy from Twitter about he use of the pre-release 1080 driver in AMD's demo despite the release 1080 driver having been out a week prior.

On 2016-09-10 at 4:32 PM, Hikaru12 said:

You apparently haven't seen his responses to questions on YouTube. He is very condescending and aggressive in his comments with which there is little justification. He acts totally different in his videos. I don't necessarily care for this content style and there is nothing really unique about him or his channel. His endless dick jokes and toilet humor are annoying as well.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

CS, yes, lots and lots of math, math further than calc 3. CIS or something like that, not really. Maybe calc 1 or even lower depending on your school.

Link to comment
Share on other sites

Link to post
Share on other sites

A lot of math, a lot of theory.  If you don't like math theory, you won't like CS at all. 

 

It normally starts alright, the 1st and 2nd semesters of CS are pretty heavy programming classes to get you familiarized with how programming languages work (normally taught in Python, Java, C, C++), but by your third semester, you're going to be dealing less with actual code and more with machine languages (like MIPS) and diagrams (look up Logisim on Google).  Once you get into upper divisions, it's almost all algorithms.

AD2000x Review  Fitear To Go! 334 Review

Speakers - KEF LSX

Headphones - Sennheiser HD650, Kumitate Labs KL-Lakh

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, neonfirefox said:

Im applying for a computer science major, and im average in math, how much math is required to become a software engineer or a software developer? Is this major hard to learn?

I don't think so man.. plenty of people that I believe are incapable of thought have a computer science degree.

Link to comment
Share on other sites

Link to post
Share on other sites

35 minutes ago, icey said:

plenty of people that I believe are incapable of thought have a computer science degree.

I work in a helpdesk: a few weeks ago I helped a developer turn on her screen. As in, push the power button. 

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, neonfirefox said:

Im applying for a computer science major, and im average in math, how much math is required to become a software engineer or a software developer? Is this major hard to learn?

Computer science is a weird major. It require both creativity and logic to do it well. People say it requires a lot of math but I would say that isn't necessarily true. People who do well in math generally are better at logical operations which help immensely at programming. 

Link to comment
Share on other sites

Link to post
Share on other sites

20 hours ago, neonfirefox said:

Im applying for a computer science major, and im average in math, how much math is required to become a software engineer or a software developer? Is this major hard to learn?

As a person who recently graduated (last year) in Computer Science, I can tell you that, you can put Computer Science part of the group of hardest degrees. What I mean, is that it isn't something you need to be gifted for graduating, what I mean, is that you need to take it very seriously starting day 1. Depending on your university, and option you take in the program, expect many times have "no life", and just be at university and working 8-9h per day, 7h on a good day. That is of course, if you want good grades, and not marginally passing, and failing courses here and there.

 

There is actually little programing in Computer Science. You have your Java/C++ course.. maybe haskell or F# or other rarely used programming languages, but that is it. Of course you only learn the programming language, there is no: How to develop a Windows application, course, or How to use Visual Studio... etc. Why? because University focuses on you being a researcher, not be in the work field. So, beside Computer Science, (and this adds to the program difficulty), is that you need to do the rest on your own time, including personal projects, that is if you want to stand out for when you apply for a summer interships/job or your first job in your resume. Remember, MANY people just have a CS degree. Why would they pick you over anyone else? So you need something to stand out. Of course, that does not apply if you plan to do a Master degree and phD later on.. in that case, just focus on your academic work, as that is the only thing that matters.

 

The program is filled with "math". Why did I put math in quotes? Because while you have your standard engineering math classes, which may or may not apply to your career depending on what you plan to do, you have other courses that uses the LOGIC side of math. So, it isn't some more calculus or linear algebra classes or what not, but it is the logic side that takes place. You also have LOTS of proofs to make, which will test your deep understanding of the material.

 

I was average on math, but I like math. I made it. You just have to be persistent, and motivated to push yourself continuously. Basically, what I am saying is, that any degree is "easy", if you know what you want to do at the end, if you are interested in it (it is normal to have a few courses you end up not liking), you'll be engaged to learn as you'll have fun, despite the many challenges one can face.

 

That is my advice.

Link to comment
Share on other sites

Link to post
Share on other sites

Difficulty of a Computer Science degree is on par with any of the major Engineering Science degrees (i.e. mechanical, aero, electrical, civil, computer, naval architect). It's not easy, but these degrees do have higher returns over lower level "technology" degrees since they are focused on the science behind the systems work versus learning how to operate or fix the systems.

 

I have an Engineering background so I am not as familiar with CS; however @GoodBytes and @Shahnewaz have already given the most accurate information. I can make the distinction between the engineering disciplines though. In a nutshell:

 

Electrical & Computer Engineering: EE and CompE are similar as they mostly deal with hardware. Electrical tends to be bigger hardware with big voltages (e.g. radar systems), and computer is small stuff (e.g. gpus). I would expect both disciplines could do either work similar to how Mechanical, Aero, Naval, & Nuclear engineers can do the work of any of the others.

 

Software Engineering: More software development for production as far as I know. Computer Scientists can do this as well, but CS is a bit more broad and covers more specifics than just coding.

 

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, neonfirefox said:

Im applying for a computer science major, and im average in math, how much math is required to become a software engineer or a software developer? Is this major hard to learn?

If you have the time and patience you could but it is very stressful especially in Major Test and Exams but the pay off is worth it.

"Simple Yet Complex" 

Link to comment
Share on other sites

Link to post
Share on other sites

On top of what everyone else is saying, the job field itself can be extremely stressful for weeks at a time. You'd have to be ready and willing for that life style

CPU: Amd 7800X3D | GPU: AMD 7900XTX

Link to comment
Share on other sites

Link to post
Share on other sites

49 minutes ago, goodtofufriday said:

On top of what everyone else is saying, the job field itself can be extremely stressful for weeks at a time. You'd have to be ready and willing for that life style

Not true. All depends on where you work, and what field.

Example:

 -> A game studio is restricted with hard deadline that can't be moved, and so, close to the end of dev of the game you might have heavy ad long crunch time, where you have to work extra hours, which you are not paid for (then again your wage is high to compensate for this).

 

 -> A small company you don't really have that. You only work hard when a sale for some version of a software with specific specification is requested. This might be a once or twice type of event especially if other contracts don't have anything that requires tweaking or changes, or is just simple to do.

 

-> If you work developing software for the company you work for (internal tools), then there is no real deadline, and anything put are just superficial just to have a time line, and you have limited to no stress, or long hours.

 

-> Some companies have horrible work environment and that very stressful, blaming issues/bugs on people ideas, instead of understanding that something new has issues, and prevents doing things right or fixing things, because "it worked before", or "it was always done that way"..

 

But this is where YOUR research comes in. When you do an interview, it is a game of dual interview. You interview the company, and they interview you. This is how they get to know you more, see better your interest, and you fit better in the company, same for you.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, GoodBytes said:

 - SNIP -

So if I hate math proofs, it's not a good major for me (I've been thinking CS major for years)? Maybe something like software engineering?

Link to comment
Share on other sites

Link to post
Share on other sites

Soft Eng is extremely similar than Comp Sci. They are many talks on merging the two, as there is not much point. It is just that software development is both math (logic, and deep understanding), and engineering. So Computer Science comes form Mathematics, while Software Engineering, comes from, well Engineering... But that is on paper (in very early days, some considered software dev as linguistic language or even art... but I won't get on that, as it is irrelevant now)

 

You have a bit less proofs in Soft Eng, as you avoid some of more advanced courses (I mean it all depends on your school). But there is no avoidance, and your elective courses might bring you to the classes with proofs, all depending on your school program and what you pick.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, GoodBytes said:

Soft Eng is extremely similar than Comp Sci. They are many talks on merging the two, as there is not much point. You have a bit less proofs in Soft Eng, as you avoid some of more advanced courses (I mean it all depends on your school).

 

Basically, I should look at a specific school's list of courses for each of the majors to decide?

Link to comment
Share on other sites

Link to post
Share on other sites

Course names can be deceiving.

Best to contact a professor of at the university you are looking at, that is willing to help (although, they might be more discouraging you than anything, because they are researchers, not working in the field), and/or academic advisor.

 

If you want to avoid the most proofs, just go in web development option, but expect your degree to have little value unless you go in the overcrowded web dev field.

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, GoodBytes said:

Course names can be deceiving.

Best to contact a professor of at the university you are looking at, that is willing to help (although, they might be more discouraging you than anything, because they are researchers, not working in the field), and/or academic advisor.

 

If you want to avoid the most proofs, just go in web development option, but expect your degree to have little value unless you go in the overcrowded web dev field.

Ok, well thanks for the info and sorry @neonfirefox for somewhat stealing your thread:).

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, AlexTheRose said:

If you want to make the $100K+ sums that employees of Facebook and Google boast annually, then yes, it is very difficult to achieve that. You really have to have your shit together if you hope to make a career out of CS – that means learning different kinds of languages, finding the ones that suit you and suit the current market best, and learning how to use not just the language but the countless APIs others have developed over the years. Knowing all about JavaScript doesn’t help you at all if you can’t use Flux/React when the job calls for it, for example.

 

And it’s not just limited to book knowledge; an older professional software dev I saw on Quora outlined that looking up how to do stuff and “learning the vocabulary” of a language is cheating, in a sense – he said that how quickly and how well we can adapt to new coding environments—or, in his terms, how well we can “cheat”—determines part of what makes us a good developer. That aside, in my opinion what makes a good developer is someone who can follow standards and make robust, malleable code. They don’t tell you in University that half of your peers will probably go on writing shitty code that’s not reusable, not modular, and not even salvageable at all! Good code makes a stellar developer.

 

And this is important too: Learn a coding stack! No matter if you’re learning C# or JavaScript, you need to learn the stack of accompanying languages that go along with them. For C#, learning MSSQL, LINQ, XML/XAML, and other accompanying languages is critical; likewise, for JavaScript you probably won’t get very far without learning not just basic HTML5/CSS3, but also higher level languages like Jade, Smarty, SASS, Less, and possibly even CoffeeScript. You need to not only learn these languages and their APIs, but apply them in a portfolio somewhere – GitHub is the perfect place for that.

 

But all in all, what’s even more important than learning languages, their APIs, and applying all of that, is marketing your skills. I’ll tell you something that’s not quite common knowledge: Businesses tend to fail miserably at attracting good developers. The dumb executives don’t know their heads from their asses when it comes to sifting through applicants and separating the boys from the men. They’ll ask dumb, arcane questions like, “can you solve this puzzle of mine?” or, “what is the answer to this X random factoid about Computer Science?” and as a result all of their hires end up being good puzzle-solvers, trivia experts, and other people who may fit the real bill perfectly, or could just as well be absolutely horrible where it matters. So learn how to solve puzzles and study your trivia, okay? :P

 

9 hours ago, GoodBytes said:

As a person who recently graduated (last year) in Computer Science, I can tell you that, you can put Computer Science part of the group of hardest degrees. What I mean, is that it isn't something you need to be gifted for graduating, what I mean, is that you need to take it very seriously starting day 1. Depending on your university, and option you take in the program, expect many times have "no life", and just be at university and working 8-9h per day, 7h on a good day. That is of course, if you want good grades, and not marginally passing, and failing courses here and there.

 

There is actually little programing in Computer Science. You have your Java/C++ course.. maybe haskell or F# or other rarely used programming languages, but that is it. Of course you only learn the programming language, there is no: How to develop a Windows application, course, or How to use Visual Studio... etc. Why? because University focuses on you being a researcher, not be in the work field. So, beside Computer Science, (and this adds to the program difficulty), is that you need to do the rest on your own time, including personal projects, that is if you want to stand out for when you apply for a summer interships/job or your first job in your resume. Remember, MANY people just have a CS degree. Why would they pick you over anyone else? So you need something to stand out. Of course, that does not apply if you plan to do a Master degree and phD later on.. in that case, just focus on your academic work, as that is the only thing that matters.

 

The program is filled with "math". Why did I put math in quotes? Because while you have your standard engineering math classes, which may or may not apply to your career depending on what you plan to do, you have other courses that uses the LOGIC side of math. So, it isn't some more calculus or linear algebra classes or what not, but it is the logic side that takes place. You also have LOTS of proofs to make, which will test your deep understanding of the material.

 

I was average on math, but I like math. I made it. You just have to be persistent, and motivated to push yourself continuously. Basically, what I am saying, is that any degree is "easy", if you know what you want to do at the end, if you want to really be engaged and learn, as you'll have fun, despite the many challenges one can face.

 

That is my advice.

For me this brings up another matter. As a CIS major, it seems like schools are throwing random programming classes together for a degree ( learned a lot of useless stuff). How do i know what languages I should take the time to learn ( coding stack as alextherose put it).

Windows 10 Edu | Asus ROG Strix X570-F Gaming | Ryzen 9 3950x | 4x 16GB G.Skill Trident Z RGB| ROG Strix GeForce® RTX 2080 SUPER™ Advanced edition | Samsung 980 PRO 500GB + Samsung 970 Evo Plus 2TB + 8TB Seagate Barracuda | EVGA Supernova 650 G2 | Alienware AW3418DW + LG 34uc87c + Dell u3419w | Asus Zephyrus G14

Link to comment
Share on other sites

Link to post
Share on other sites

51 minutes ago, Scruffy90 said:

For me this brings up another matter. As a CIS major, it seems like schools are throwing random programming classes together for a degree ( learned a lot of useless stuff). How do i know what languages I should take the time to learn ( coding stack as alextherose put it).

Depends on your school. I only had 2x real programming classes, which was Java (intro and adv), and C++ (skips the basis as it is same as Java), and another course which is a bunch of old languages that no one uses except ruby (but not Ruby on Rails), which is supposed to teach how to adapt to a new programming languages on the spot. I can't say much on the last one as I was programming since I was a kid, so I have that skill way before I step at university.

 

But that is all the programming class I had, the rest was theory (few), and lots math as discussed previously (proof, logic), and 3 actual math classes.

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, GoodBytes said:

Depends on your school. I only had 2x real programming classes, which was Java (intro and adv), and C++ (skips the basis as it is same as Java), and another course which is a bunch of old languages that no one uses except ruby (but not Ruby on Rails), which is supposed to teach how to adapt to a new programming languages on the spot. I can't say much on the last one as I was programming since I was a kid, so I have that skill way before I step at university.

 

But that is all the programming class I had, the rest was theory (few), and lots math as discussed previously (proof, logic), and 3 actual math classes.

The schools I've been too have changed all the classes they teach over the course of the last few years. And I'm pretty sure that they don't think about learning concurrent languages. That has always been my biggest issue with the schools. For instance in the last year I've learned c++,object oriented Java, SQL, HTML, UNIX shell scripting, and others, and the only ones I see that could be easily used together are HTML, shell, SQL and Java. Im probably going to start a different thread to get everyone's thoughts on the matter. I feel like that's the biggest obstacle even when going to school. I feel unprepared so close to the end of uni.

Windows 10 Edu | Asus ROG Strix X570-F Gaming | Ryzen 9 3950x | 4x 16GB G.Skill Trident Z RGB| ROG Strix GeForce® RTX 2080 SUPER™ Advanced edition | Samsung 980 PRO 500GB + Samsung 970 Evo Plus 2TB + 8TB Seagate Barracuda | EVGA Supernova 650 G2 | Alienware AW3418DW + LG 34uc87c + Dell u3419w | Asus Zephyrus G14

Link to comment
Share on other sites

Link to post
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

×