Skip to main content
3 answers
3
Asked 2269 views

What should I know about software engineering and computer engineering ?

Im graduating high school next month and i want to apply for a bcs. in either software or computer engineering. i want to know the difference between them and i want to know how to prepare. what i mean by preparing is what programs or coding languages or any kind of hardware i need to be familiar with before joining any of these majors because i have very minimal info about any thing (school doesn't teach us a lot in this field) and i want to be prepared before i apply. thank u in advance :3.

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

3

3 answers


1
Updated
Share a link to this answer
Share a link to this answer

Thomas’s Answer

Best of the Village

Well the answer to your question may sound pretty simplistic. Computer Engineering handles both hardware and software while Software Engineering handles just Software.


For both, you're going to be needing a lot of mathematics. For Computer Engineering you probably will need to veer a little more towards physics.


The Computer field has gotten much larger over the years and while having general knowledge about everything is usually required, there's also a need to focus on a specific discipline. Do you like working on mobile applications? (JAVA and ObjectiveC would be your focus). Do you like working on Web Design (then HTML5, JavaScript and CSS would be your focus). Then there's Backend Development which could be in a host of languages. JAVA is probably your best choice there as it's one of the more prevalent however, if you end up in the Microsoft world you'd end up working in C# and the .NET variants.


I hope this helped, I know it was a little vague on where to focus your attention. Going to college will definitely mean that you'll have a lot of mathematics. Software Engineering isn't all about the programming language. It's also about learning how to process large amounts of data as efficiently as possible.

Thank you comment icon thanks a lot :) Shawkat
1
0
Updated
Share a link to this answer
Share a link to this answer

Estevan’s Answer

Best of the Village

First I would suggest that you read the descriptions for the two majors on the college(s) website which you plan to apply to. If the websites list the required classes or programs for the major, which they probably do, you can look at the differences there as well. That will probably get you the best and most exact info since these programs can vary from college to college.


That said here's what I think generally differentiates the programs from each other in my experience applying to and attending a university.


Both will teach you



  • how to write computer instructions (programming) in some language

  • about the basic relationship between software and hardware (e.g., whats's CPU used for, how are programs loaded into memory, etc)

  • math (likely) up to at least multi variable calculus and linear algebra


They start to differ as you take more advance classes (typically junior and senior year), mainly by their focus on hardware and real world physics vs. software and more abstract math. Again this is a generalization but here's how I would look at the differences at a high level.


CS will focus on



  • more programming languages and focus/go-deeper on more programming paradigms (e.g., object orient programming, functional programming, etc)

  • more algorithm analysis and deconstruction (an algorithm is a set of computer instructions so this means a focus on when to use what kind of algorithm)

  • Software for a human end user (such as graphics or operating systems)


CE will focus on



  • building hardware

  • more physics

  • some overlap with electrical engineering (e.g., resistance, heat dissipation, etc)


(disclaimer, I know less about typical upper level CE courses then I do CS courses)


So in summation its mainly software vs. hardware. Would you like to focus on designing software where you lack some physical world constraints but everything you build only exists virtually or would you like to design hardware which is very much tied to the physical, real world.


Again, these are generalizations. I, for example, was interested in making video games thus I major in CS program that had more hardware related courses then some of my peers because of the high performance nature of games and the relationship of console hardware to software.

0
1
Updated
Share a link to this answer
Share a link to this answer

Meg’s Answer

Good question! Here are a couple of things for you to think about - computer engineering will be working on hardware, so if you like to fix things and get your hands on things, this is a great place to be. If you want to get a little ahead of the game, build your own computer or at least find some to take apart, that will help you understand about different components and possibilities. Software engineering will be lots more keyboard time and building of software. The most important place to start if your school doesn't have a lot is to start in concepts and how to put things together and make things happen. I would spend more time on that then specific languages, since there are so many possibilities. Look up different exercises online to understand concepts and how to think through problems. For both you will need a certain amount of critical thinking skills and ability to problem solve, that's where a lot of the great ideas and innovations come from. Good luck!

Thank you comment icon hmmmmm,,,, i get the point now. i think i will go for computer engineering. i am really good with physics and math and tried to play with the components of devices before. the most thing i am not good with yet is coding. thats why i asked if there is any specific languages i need to learn this summer before i go there. thanks for the help :) Shawkat
Thank you comment icon That sounds awesome. There's so much there to be fascinated with, and every course you take will be the gateway to a world of other fields you didn't know existed. Pieter Sheth-Voss
Thank you comment icon Pretty much any language you learn will be of use, as it's the patterns and fun with figuring out problems and making things work. That said, learning to create a Javascript app with d3.js and possibly node.js is will be fun, create visual deliverables, and let you prototype things with others. wand playing with d3 will be fun. Or for hardware fun, get an arduino kit and try making some small thing plus software to control it. Pieter Sheth-Voss
1