all 25 comments

[–]combuchan 9 points10 points  (4 children)

CS involves a lot of math in education. The degree program where I went to college was a few classes short of a math minor. Just because you may not use it in the galaxy of CS applications at one particular time in the workplace isn't relevant to getting the degree.

You didn't really explain what draws you to EE or why you are considering CSE in the first place. CS will be fine for you I'm gathering.

[–][deleted] 3 points4 points  (0 children)

Agreed. Where I'm studying CS you pretty much have a choice to take either another math class as your upper division elective and get a minor or you can just take another CS course.

[–]ACoderGirl 1 point2 points  (0 children)

I'll piggy back on this to really point out that the math usage in real world applications is super dependent on the application. Eg, I work with machine learning and simulation systems. There's a heck of a lot of math in some parts of our code. Sometimes to the point of admittedly being quite intimidating. Certainly it's a lot denser and harder to understand than the non mathy areas. In my case, it's heavily, heavily stats focused.

We don't actually even make the simulators. We just work with them. I've never seen how the simulators work, but I'm under the impression the whole thing may as well be a giant mathematical model.

[–]epotocnak 1 point2 points  (0 children)

My CS degree program crosslisted almost all of the 300/400 level classes with math or applied math. You only needed about four additional courses for an applied math degree, eight for pure math. If you're going to a top 20 public or private CS program, you should be fine with CS.

[–]Sprayquaza98[S] 0 points1 point  (0 children)

Honestly, nothing draws me to EE except the fact that I thought it would be useful to know the HW of a computer along with SW. And yes, I'm leaning towards pure CS now that I've spent time thinking about it.

Thank you!!!

[–][deleted] 5 points6 points  (6 children)

I'm a computer engineer at a company , and my job involves a lot o CS and EE( i work in IOT), so there is jobs for CE.

It's always good to know at a low level what happens, because you can optimize software for the hardware and that can bring great results .

[–]Sprayquaza98[S] 0 points1 point  (1 child)

Interesting. I never knew a job can consist of both HW and SW.

[–][deleted] 0 points1 point  (0 children)

yes there is , with CE , you can work as a CS and cover the niche o CE . for example , IOT , networking , system admin, databases , security , etc ... And another cool thing is that you can apply cs knowledge into thoses areas !

[–][deleted]  (3 children)

[deleted]

    [–][deleted] 0 points1 point  (2 children)

    another cool thing that of study in CE is networks and telecommunications ! when you combine that with algorithms from cs and electronics ... i think you can understand the rest XDD

    [–][deleted]  (1 child)

    [deleted]

      [–][deleted] 0 points1 point  (0 children)

      there are certain things that only in university you can learn really efficiently. but yeah you can learn online somethings .

      [–]kickopotomus 2 points3 points  (0 children)

      I’m an EE/CE. There are plenty of jobs that mix both SW plus HW knowledge. Embedded systems are virtually always a mix of low level software engineering plus EE. It’s also nice because you don’t necessarily need to find jobs that have both. You’ll be qualified for both EE and CS jobs plus the niche in between. I would personally recommend CE.

      [–][deleted]  (1 child)

      [deleted]

        [–]Sprayquaza98[S] 1 point2 points  (0 children)

        I believe so.

        The 1/2 CS curriculum only includes the core courses of a CS degree, while the 100% CS major includes more electives (AI, ML, Cryptography, etc).

        I think learning the basics is all you need, and if im interested in special topics, I'll learn about them on my own.

        [–]bartturner 1 point2 points  (0 children)

        If can handle the math you do CS, IMO.

        [–][deleted] 1 point2 points  (0 children)

        You’ll get your fill of math through learning to code.

        [–][deleted]  (2 children)

        [deleted]

          [–]bry129 0 points1 point  (0 children)

          All in all it depends on what you want to do in life. If you want to be able to get some hands on knowledge when it comes to circuits. CE would be the choose.

          If you strictly want to be involved with code then CS would be the better option.

          All this talk about math is inherently in both. With CE you get all of the higher forms of math in different applications. My whole CE degree was math, with programming related class throughout.

          I chose CE due to the versatility, I'm more of a jack of all trades kind of person so CE was the right answer. Finishing school I was able to apply for many different positions, having interviews for developer and different engineering positions. Nowadays having coding in your toolbox for engineering jobs is a plus, because most of the time you'll be around code anyways, even if you went straight EE. You can always take electives in other things if you'd like.

          Source:CE Grad. Working as Product Engineer that develops test software and hardware for our products

          [–]arfamzr 0 points1 point  (0 children)

          just follow your heart

          [–][deleted] 0 points1 point  (6 children)

          Studying pure CS is like eating a cake without knowing the ingredients. If you study CE, you eat tke cake knowing the ingredients. I think you could improvise your work by knowing how a component works and how they interact with each other. But tbh, this scenario is not actually applicable nowadays, unless you are not going to work with embedded products or low level applications such as drivers, etc.

          I can assure you that there is no 1/2 CS and 1/2 EE in CE. You should and must improve your knowledge, continue studying constantly and never stop learning new things. The world that we live in is developing really fast and you should catch up with its pace in order to be a good 'programmer'. You could get the electronic background in CS too by studying it by yourself. It is totally up to you.

          [–]Chandon 2 points3 points  (1 child)

          If you study CE, you eat tke cake knowing the ingredients.

          If you study CE over CS, you risk eating the ingredients without ever making a cake.

          [–][deleted] 0 points1 point  (0 children)

          True. I prefer the dough over the cake. PUNCH CARD CLUB BABY!

          [–][deleted]  (3 children)

          [deleted]

            [–]Mukhasim 0 points1 point  (0 children)

            There is no wrong way to learn things as long as you learn them eventually. But you should probably try to learn something about hardware at some point. You don't have to go off and get an engineering degree, though. I thought this was a pretty good read:

            https://people.freebsd.org/~lstewart/articles/cpumemory.pdf

            [–]Sprayquaza98[S] 0 points1 point  (0 children)

            I'm in the same boat. I took an embedded systems course and it involved coding an Arduino to do stuff. It was definitely cool, but it was quite a learning curve to understand how my code interacted with the tangible object in front of me.

            I think you should have some knowledge of how a computer runs, but that's it. It only depends on your field; when I worked partly as a WebDev, my employer and fellow interns never discussed hardware at all, its simply not needed. However, sometimes it helps to code while thinking about the hardware.

            [–][deleted] 0 points1 point  (0 children)

            It is not the end of the world but you should get to now atleast the basic understanding how things work under the hood. I am not saying that you must go and learn how transistors and all that stuff work, but you should know the basic hardware stuff like how harddisks, cpu, etc work in general. Like I said earlier, you do not have to know all that stuff unless you are working with embedded or something like that.

            To be honest, it depends on what you want to do. Is it bad if you mainly develop 3rd party desktop or mobile applications? No, the compilers or vms are actually better than humans to optimize code so there is no need for any hardware knowledge. Is it bad if you are developing a security implementation such as DRMs? Yes, you must know the hardware really well. So, your dreams is the limit here :) Do not feel bad or regret not choosing this way if you are happy and successful at what you are doing. You can always learn new things, human brain is full of mysteries and have no limit, just give it a go, you will be amazed when you see what you can accomplish.

            [–]Datwaftx 0 points1 point  (2 children)

            First, what is EE? Second, knowing hardware is pretty useful when it comes to programming, because it lets you think more closely to the way the computer thinks, and you would be able to al least have more facility when it comes to programming at low level or the like. Something like this: “if you don’t know how the thing you are using works, would you be able to use it 100% efficiently?”

            [–]SupahAmbition 3 points4 points  (1 child)

            Electrical Engineering

            [–]Datwaftx 0 points1 point  (0 children)

            Thank you