Electrical engineering and Computer engineering in UCSD

<p>Thanks, uscd<em>ucla</em>dad, re: the content being more important than the umbrella dept under which the CS program falls. Glad to hear, since son loved Virginia Tech, but doesn't want to be an engineer.</p>

<p>Karin--are you near enough to a college to visit and sit in on some of the classes which you are ambivalent about? Before law school I sat in on a class...realized it was for me when I started trying to figure out what the prof was saying & coming up w/answers to questions he posed to the class. </p>

<p>If you like it/become engaged, maybe that will help answer for you?</p>

<p>
[quote]
Isn't CS too competitive? I heard there are lots of people getting into this field, and its impacted.

[/quote]

I'll echo 'BCEagle91' - I think the number of CS applicants is decreasing - at least at UCSD and UCLA. Meanwhile, there's a pretty high demand for CS grads in the workforce. This is one of the reasons why CS grads and other engineering majors are among the highest paid right out of college.</p>

<p>Regarding competetiveness at UCSD - yes, there's some competition. Firstly, every student accepted by the Jacobs School of Engineering at UCSD has already met a pretty high bar regarding admission (it's higher than UCSD in general which is already pretty high) which means everyone else in the classes did very well in HS or, if a transfer, in a CC, and is a pretty sharp student. </p>

<p>The classes, especially the lower division courses the first couple of years, are graded on a curve and sometimes a very tough one. This means that one wants to be ideally above that curve or at least not much below it but so does everyone else in class (who are all very capable students to begin with) and yet not all of them can be.</p>

<p>However, the CS students there aren't cutthroat with each other and will generally help each other out. It's actually not so much like they're competing with the other students as they are the curve. There seems to be a comeraderie among many of the CS students after a while - maybe because they're together in the lab for hours on end. It's a different dynamic than I've heard it is for those on a premed track where the students are more cutthroat competing with the other students. </p>

<p>I'm not sure what you're looking for anymore. You don't already have the training in these majors but that's why you're going to college. Very few to none of the students entering an EE major actually have circuit design experience so almost all of them are starting at about the same point. The knowledge they get in physics in magnetism and electronic devices is actually pretty minimal compared to what they'll learn in the major. CS/CSE is somewhat similar but not to that extent. What they learn in AP CS will be covered in about the first quarter at UCSD. By the second quarter or so most people, whether they took AP CS or not, have leveled out regarding education. It's true however that a background in writing programs is helpful and will likely mean less work for those with that background when they start their major but again, things eventually level out.</p>

<p>You sound as if you might not actually be interested in any of these or maybe even in engineering. Is that the case? If so, why would you pursue it rather than some other major? If it's just that you think you're interested but aren't certain, then go ahead and give it a try. It's easy to switch majors from the engineering school to another major, it's not easy to go the other direction (switch into engineering).</p>

<p>
[quote]
are you near enough to a college to visit and sit in on some of the classes which you are ambivalent about

[/quote]

This is an idea although in engineering it would really have to be at the start of a very beginning class or else it'll be too hard to comprehend what they're even talking about.</p>

<p>"This is an idea although in engineering it would really have to be at the start of a very beginning class or else it'll be too hard to comprehend what they're even talking about."</p>

<p>MIT Open Courseware has videos for introduction to programming and circuits and electronics. Berkeley has videos for their CS 61A-B-C sequence which is the first three semesters of CS. So one can see what happens in CS and EE programs in the comfort of their living room at any convenient time.</p>

<p>After reading all these posts, I am more leaning to CS. The main reason that I eliminated CS was that I thought it has already been impacted and too competitive. Moreover, even though I did not take AP CS in HS, things will level out eventually.
Could you show me more stuff about CS? What do they do aftet graduate? I intend to do self-study before the school starts in order to be more prepared. Any suggestions on self-study? Which programs should I start with, Java, C++ or C language?
Even though things will level out, I do not want to be too far behind. :)</p>

<p>How hard is CS? Is it true that CS grads have a better salary than ME and EE? I remember the averge that I checked out online was ME<EE<CS.</p>

<p>Here's what CS grads from Carnegie Mellon are doing: <a href="http://www.studentaffairs.cmu.edu/career/employ/salary/scs.pdf%5B/url%5D"&gt;www.studentaffairs.cmu.edu/career/employ/salary/scs.pdf&lt;/a&gt;&lt;/p>

<p>"How hard is CS? Is it true that CS grads have a better salary than ME
and EE? I remember the averge that I checked out online was ME<EE<CS."</p>

<p>I think that ME and EE are harder than CS but I'm a CS person. The
better salary prospects may be due to the wider range of jobs that the
CS graduate can do. The CS graduate can do different kinds of
programming, including programming that doesn't require the level of
math involved in the CS degree. A CS major should be able to do CIS
work (with a little training on the business side) whereas a CIS major
would have a great deal of trouble doing math-intensive CS work.</p>

<p>The UCSD CS website has a bunch of specialty areas listed and you
might want to read up on those specialties. You could also read the
CACM magazine that I linked to earlier and perhaps IEEE articles (you
may be able to get access to IEEE publications through your university
library).</p>

<p>"What do they do aftet graduate?"</p>

<p>I think that software engineering is the primary target for the CS
degree. But there are lots of other jobs and it would take a while
to come up with a list. Perhaps looking at job listings where a CS
degree would provide you with an idea of what CS grads do for work.</p>

<p>"Which programs should I start with, Java, C++ or C language?"</p>

<p>Common languages in introductory courses are Java, C and Scheme. Java
is an object-oriented language that can be easy to get started with
but many students have trouble with the object-oriented paradigm. Java
also has the disadvantage (some would consider it an advantage) in
that it abstracts you away from the hardware. C is generally closer to
the hardware but the development environment is generally a little
unfriendlier. C++ is usually taught after C as C++ contains
object-oriented extensions to C. Scheme is a language similar to LISP
which is/was used as a learning language and a development language
for artificial intelligence programming. The syntax and semantics
may feel a little on the oddball side but it has its strengths in
getting the concept of data structures across.</p>

<p>Java is generally used in AP CS courses.</p>

<p>For Scheme, you can find video lectures and a full online textbook
at The</a> Structure and Interpretation of Computer Programs</p>

<p>There are a set of videos and Powerpoint slides for Computing I using
C at CSCI</a> 230 :: Computing I Distributed Lectures</p>

<p>I was able to view the slides but not the video but that may have been
due to proxy problems on my end. If you can't see the videos, let me
know and I'll see if I can find something else.</p>

<p>You can find Java Programming lectures at
Free</a> Computers Video Lectures - Learnerstv.com</p>

<p>It's always helpful to have a textbook to read while watching the
videos to get further background material and as a source of
exercises. If you need problem sets for C, let me know as I may
have a good source. You can also do problems written for C in Java.</p>

<p>Karin-A:
Unless they've changed very recently, the intro programming courses (first few quarters) at UCSD are primarily Java. However, they also will do some C++ and C and then some other languages. If you wanted to prepare (which is a good idea but not necessary), try to learn some intro Java. </p>

<p>
[quote]
How hard is CS?

[/quote]

It's a lot of work and will be pretty hard compared to most majors. It'll require a lot of analytical thought and effort. If you want an easy major with lots of free time, CS or EE aren't the ones to go after.</p>

<p>
[quote]
Is it true that CS grads have a better salary than ME and EE? I remember the averge that I checked out online was ME<EE<CS.

[/quote]

It really doesn't matter. Pick what you want to do and pursue that. All of these majors generally pay well.</p>

<p>
[quote]
What do the grads do when they graduate?

[/quote]

Again, look around you. An EE would design the circuitry on your PC. This includes the motherboard, add-in cards, the display, etc. A CSE person will do some design work around the microprocessor in the PC and perhaps write the BIOS level code. A CS person will write the operating system, browser, word processor, spreadsheet programs, and all the other programs that you actually run., Remember that there's a lot of overlap in CS/CSE so one might end up doing what's normally done by the other. The PC is just one example. I already gave you another one about the TV but there are literally thousands of other examples including in your car, the airplane you might ride in, reservations systems, cable boxes, cable/DSL modems, GPS devices, a lot of things military, and the list goes on. </p>

<p>Generally you'd work for a company that develops any of these devices. You'd probably work in a 'high-tech industrial' type building in a nice area of town with a lot of other fairly well-paid people. You'd probably have a cubicle and a desk and a PC to do your work on. Read 'Dilbert' to have a pretty good understanding of the work environment. :) You might even end up working at home telecommuting quite a bit. Depending on what you do you may or may not travel. You'll likely not be working a typical 8 hour day - you'll probably work extra hours as-needed. You'll probably be under pressure from time to time to meet deadlines and will need to exercise your brain to do your work. Most of your work won't be rote.</p>

<p>You'll likely work designing circuits (EE) or designing/writing software (CS/CSE) for a number of years and then determine if that's what you want to keep doing or if you want to go into some other area like development or support management, product management, or many other areas. You might end up with your name on some patents and might even be able to get royalty payments or at least reqards from your company for them. You might end up to be a VP or CEO of the company although the latter would require a lot of focus on the business side. You might also work for a few years and then decide to start your own company. </p>

<p>Check out mathmom's and bceagle's links to find out more about CS and EE.</p>

<p>Thank you so much.
I have looked at those websites, and they are so helpful, especially the online lecture of Java.
One thing that I know for sure is that I like math. The fact that CS requires lots of Math really interests me. Even though I am not sure if I have a good sense of logic, I want to give it a try.</p>

<p>Does UCSD have a good CS program? Last time I checked the ranking of computer science, UCSD was ranked somewhere around 28th, which is pretty bad. I primarily got accepted by UCLA, UCSD and UC Berkeley, and I chose UCSD in the end for its nicer campus and enrivonment, which sounds truly silly and immature. Anyways, I do not want to major in a field that UCSD is far too behind than UCLA, or even UCB. </p>

<p>For For the self-study of Java, should I buy a random textbook or buy the one UCSD will use for intro of Java?</p>

<p>
[quote]
Does UCSD have a good CS program? Last time I checked the ranking of computer science, UCSD was ranked somewhere around 28th, which is pretty bad.

[/quote]

KaRin-A:
You're seriously mis-informed as to the significance of the ranking numbers. This ranking is out of thousands of colleges. A ranking of 28th is very very high. And actually, UCSD seems to be ranked higher than that -

[quote]
The Jacobs School’s Department of Computer Science and Engineering (CSE) was ranked 9th in the nation for computer systems, and 13th for the overall category of computer science. In addition to computer systems, the department ranked highly in all computer science specialties surveyed by U.S. News including theory (14), programming language (17) and artificial intelligence (19). This computer science ranking is based upon a survey conducted by U.S. News in fall 2005.<br>

[/quote]

UC</a> San Diego Maintains High Rankings in 2008 U.S. News Graduate School Survey [Jacobs School of Engineering: News & Events]</p>

<p>When my son and I were looking at CA colleges (we're from the East Coast), we stayed with a friend of mine who works in computers. He thought very highly of the UCSD program and called it a hidden gem. </p>

<p>I'd think you'd be better off using UCSD's Java textbook if you can get a hold of it easily.</p>

<p>Haha, a hidden gem, nice one. Thank you so much. I now have decided to major in Computer science. Hopefully I can do good.</p>

<p>By the way, what program do I need to self-study Java? visual studio or what?</p>

<p>UCSD<em>UCLA</em>DAD, I am looking at the courses that I will need to take in my first quarter, which are CSE 8A/8AL (intro to JAVA and labs). They are already full at this point, but my enrollment appointment date is August 26. I dont understand how it works. So I cant take the courses that I have to take?
Also, do you know about this program in UCSD? UCSD</a> Department of Computer Science and Engineering - Bachelor's/Master's Combined Program
I apply for it during my junior year? Did your daughter get in this program too? Is GPA the major requirement?</p>

<p>KaRin:</p>

<p>I'll send you a PM.</p>

<p>OK. Thanks.</p>

<p>I would suggest NetBeans to get started on Java.</p>

<p>What is the difference between all these programs? I dont have a slight clue on what to start with.</p>

<p>NetBeans is an Interactive Development Environment (IDE) for Java. You can view your source code and run your program in the environment. I don't know if it includes Java but it should tell you on the website. Java can be interpreted or compiled using a Just-In-Time compiler. If it doesn't make sense, don't worry about it as you'll learn the difference within a year. The most important thing is to install it, get it running so that you can write a simple program that works.</p>

<p>If you want to play with C, you can download Microsoft's Visual Studio with C/C++ Express Edition (which is free). That provides a visual environment with which to write, compile and run your programs. It is a bit daunting to get it to work. You could also download a set of programs called cygwin which provides a Unix-like environment on Windows that allows you to compile and run programs.</p>

<p>You can get netbeans at Welcome</a> to NetBeans</p>

<p>I am downloading NetBeans now. So I just need to watch the online Java intro video lecture, read the textbook that I will use in UCSD and practice with NetBeans?</p>

<p>Another popular Java IDE is Eclipse.</p>

<p>You can try to read the textbook but that's probably a difficult way to start since most of these textbooks aren't so readable without instruction. I suggest taking one of the free online tutorials that can be found by googling 'java tutorial'. Get yourself to where you can write/run a "Hello World" program and then go from there. Once you can write the hello world program you'll have worked through using the tools of an IDE, getting a JRE (Java Runtime Environment - the thing that actually runs the program you write) installed/running (it might be in the IDE), and have worked through a very basic part of the language and how to make it run.</p>

<p>When I install the NetBeats, it says it cant find JAVA SE DEVELOPMENT KIT (JDK).
Can you make a list of what programs I have to download?
Eclipse, Netbeats, Java Runtime Environment, what else?</p>