<p>I will be a freshman at Georgia Tech this fall and I need some help regarding computer engineering. I recently decided that I want to pursue computer engineering after being accepted as an undeclared major. However, I still have some questions. Is computer engineering broken up into computer hardware engineering and computer software engineering? If so, what is the difference between computer software engineering and computer science?</p>
<p>Also, I get the feeling that I may be at a disadvantage going into a computer major because I have no significant experience with computers or programming. Can you guys give me some things that I should/can learn during the summer to either catch up or prepare myself with (programming languages to learn, books to read, etc.)?</p>
<p>Learn any programming language! Start with the basics (HTML) and maybe use CodeAcademy.com to get you started learning Python. There are tons of PDFs from different colleges online that are intros to Python.</p>
<p>Computer engineering is mostly the hardware side. You will take a few classes in programming and software engineering as well, but the main focus is on the hardware. You will still learn enough programming and software to land a job as a software engineer if you decide to after graduation, but it will take some extra study to catch up with the programmers if you don’t already have a lot of experience with that.</p>
<p>It IS a little difficult to keep up if you don’t have any computer experience, because a lot of your classmates will. For engineerng I would suggest learning a little C++ and as much about the workings of a computer and its hardware. For CS I would suggest C++ or Java as a starting language.</p>
<p>Regardless, if your school has a good program, they will start from the basics. I know plenty of engineers that learned their first programming language from the intro to programming class at college. They generally weren’t as good at programming as those who pursued knowledge and practice outside of class, but that usually holds true with anything you do.</p>
<p>An electrical engineering prof from University of Michigan told me Computer Engineering and Electrical Engineering are very similar. So similar in fact, it is possible that two students, one in EE the other in CE, could take the exact same schedule (all 4 years) and both get a degree in their declared field.</p>
<p>Computer science isn’t physical at all. All programing. </p>
<p>I would wait until you take some more physics classes, and in particular, E & M, before you make your decision.</p>
<p>A lot of computer engineering programs do not require E&M. It is extremely similar though. In fact, at my first university, CE majors automatically had an EE minor as part of the course requirements.</p>
<p>I disagree. Most CS degrees require at least a few EE classes dealing with various aspects of computer architecture and hardware. It may not be of much use in a real job, but it’s part of the field.</p>
<p>You could take quite a few CS grad level architecture classes and never see hardware the way EE’s do… But at the conceptual level, you need a solid understanding of the architecture you’re running on if you’re doing embedded or real time anything.</p>
This correct. I shouldn’t have been so absolute with my words. At Umich, we have one course about computer hardware required for a bachelors in CS. </p>
<p>In case any prospective students are interested, the required class description is below. </p>
<p>“EECS 370. Introduction to Computer Organization
Prerequisite: (EECS 203 or EECS 270) and (EECS 280 or EECS 283). I, II (4 credits)
Basic concepts of computer organization and hardware. Instructions executed by a processor and how to use these instructions in simple assembly-language programs. Stored-program concept. Datapath and control for multiple implementations of a processor. Performance evaluation, pipelining, caches, virtual memory, input/output.”</p>
<p>Other than that, all other required classes are programming in one sense or the other (after pre-reqs, electives and intellectual breadth of course)</p>