Computer Science at UVA

<p>I've been accepted to UVA's School of Arts and Sciences (with Echols), but I plan to major in Computer Science and possibly a second major in Mathematics or English. For this reason I didn't apply to UVA's Engineering School - one because I wasn't sure how difficult it would be to double major in another school, and two because I AM interested in taking a lot of classes outside of my major, and the Engineering school would be more restricting in that sense. </p>

<p>That being said, I'm unsure how to evaluate the computer science program at UVA - is there anyone currently in the program who can tell me the difference between CS in Engineering and CS in Arts and Sciences? </p>

<p>Also how should the CS program in A/S be evaluated against in-state with full scholarship at UMaryland-CP and UNC-CH honors program?</p>

<p>Thanks!</p>

<p>Well I can at least partially answer your question because I am doing the a&s CS program.</p>

<p>First of all, it wouldn't be difficult to double major in CS and Math even if you do CS in the E-school, so consider that. Especially if you have AP credit for the HSS electives. If you wanted to do a CS/english then A&S is probably better.</p>

<p>The main difference between the A&S and e-school CS is that you have less required classes in A&S because its a BA. The intro classes are different (CS 150 and 205 instead of 101 and 201), and they are kind of a joke. I'm in 150 now and its horribly boring, we barely do any real coding, but after that you can take all the same classes as the BS and have strong preparation for whatever, with more room to double major.</p>

<p>I couldn't tell you anything about comparing it to other schools. Its tough to pass a full ride at UMCP, but I know nothing about their CS program. I know ours is solid though, and there is some really cutting edge research going on too.</p>

<p>the CS program in the college is only like a year or two old so they are still defining themselves (though I'd bet it will pretty much be the same as the e-school curriculum). As ehiunno stated the main difference is that the "other" required courses either fall in the e-school or in the college.</p>

<p>How much do pre-med courses and comp sci courses overlap?</p>

<p>Jask,</p>

<p>Take a look at the Course Offering Directory (COD) at University</a> of Virginia Home Page. </p>

<p>CS classes typically have only one section. There are normally several class sections for pre-med courses so you may not have a lot of difficulty getting your pre-med requirements in. Getting the professor you want, though, may be another matter.</p>

<p>So, in looking up some of my classes for next semester on the COD (see MechWahoo's post above), I found that classes in the ECE dept are restricted to ECE dept, CpE, blahblahblah, then I noticed it also said CompSci-CLAS. I almost commented on this thread that CLAS CompSci majors can take E-school classes and have them count as their major, but I didn't want to be wrong about it. However, this on the COD, and some talking around led me to find out that you can take certain e-school classes and they'd count for a BA in CompSci.<br>
So, my vote is go Echols, you'll be able to take a full range of classes, in the College and out. Might lead to a really sweet 4 years...</p>

<p>From what I understand from friends, The B.A.(SEAS) in CS focuses mainly on theory and the B.S degree(E-school) focues primarily on the actual application of CS (programming, etc).</p>

<p>DO NOT take that as written in stone. I tried to confirm it by checking out the website, but couldnt get much out of it.</p>

<p><a href="http://www.cs.virginia.edu/ba/differences.html%5B/url%5D"&gt;http://www.cs.virginia.edu/ba/differences.html&lt;/a&gt;&lt;/p>

<p>that link is pretty informative for the technical stuff</p>

<p>Well, I wouldn't even call what the BA does theory. Berkeley and CIT CS programs are theory. ;)</p>

<p>As stated above, the big difference between the two CS departments is in the 150-205 sequence vs the 101-201 sequence. My roommate is in CS150 and says they do hardly any coding, but there are some cool aspects that the professor taught them, such as hacking into WEP encryption.

[quote]
The CS150-CS205 sequence is a more conceptual introduction to computer science, that emphasizes the key intellectual ideas first in CS150, and includes connections between computer science and the arts and sciences. The CS101-CS201 sequence emphasizes first learning an industrial programming language, and is required for all students in the Engineering school.

[/quote]
</p>

<p>However, once you get past those two into courses, the sequence/type of CS courses are the same.</p>

<p>In terms of reputation, UMD's CS department has a great one. However, I would only go for that if you're really interested in writing code as a career. Basically, UMD's program would prepare you better in terms of vocational skill, but the BA at UVA will do a much better job at providing you with a well-rounded set of skills (i.e. more of the general college experience than simply a specific skillset).</p>

<p>CS 150 is a waste of time. end of story. I know nothing of 205, but after that the curriculums are about as identical as you want them to be. The major difference being the integration electives instead of CS electives, so while the BS has like 5 CS electives, the BA has 4 integration electives which are college classes that have CS application like linguistics, music and computers, scientific computing, etc. (assuming you use your CS electives in the BA to cover all the CS classes in the BS, which is easy to do).</p>

<p>tb makes a good point in his last one. The BA here will give you a broader more well rounded education, while the UMD will teach you how to code well. IMO, the former is more important. You would have a wider range of jobs from the BA here, but less pull in programming jobs.</p>

<p>I mean honestly, a math major with some programming classes and some good projects in their resume is as good as an actual CS major in terms of competitiveness.</p>

<p>I would consider what you want to get out of college. Do you want a narrow coding focused education or a well rounded education that you can tailor to what you really enjoy (and if thats coding, you can focus it there!). Personally, I think you will have a much better time in college following the latter (and you wouldn't have to take STS here, which is a huge plus).</p>

<p>Thank you all for the replies - it really has helped to get a more "inside" view, and it's comforting to see that what you guys say basically lines up with what a professor said when I contacted him. It sounded like (from him) that it was possible to take a lot of the same courses as those in the engineering school, which is great because that's maximum flexibility for me :) </p>

<p>I really think UVA makes the most sense... because I really am very interested in things outside the CS major, while still wanting to be able to tailor my CS coursework to my interests as much as possible. At Maryland I just don't think I could get 1) the same quality of social and academic experiences as I would at UVA, and 2) the ability to round out my education through amazing electives taught by impressive professors in well-respected departments. </p>

<p>Speaking of the math major, I'm assuming it's pretty common for CS majors to double up with Mathematics, right? Is anyone on CC currently doing that, or has anyone done it in the past that can speak to how much overlap there is between the majors and whether or not I'd still be able to do stuff like study abroad? </p>

<p>Really, thanks for all the responses. I love CC.</p>

<p>The BA in CS requires you to take 4 "integration electives", which are basically meant to make your degree interdisciplinary, i.e. it will fit in well with a math major. Not all math courses qualify as integration electives, but there is a pretty large list of courses, so all 4 electives for the CS major would probably also work toward your Math major.</p>

<p>Double majoring in two sciences that relate to each other, like CS/math, physics/math, etc, really aren't that hard. Yes, it does require a bit more work and planning, but for the most part, you can cross requirements (electives needed for one can be core classes of the other). I know someone doing Chem and CS, and he seems to be doing fine. He's taking a course in the e-school right now, but is doing the BA option, so I think you'd have lots of flexibility on whether you want to do hardcore programming or more theory based stuff. But UVA's sciences like to give the big picture a lot...</p>

<p>Regrading CS and Math...</p>

<p>I was an E-School student this year (intended CS major) and next semester I am likely switching to the College as a Math/Philosophy major. It is not at all hard to double in CS (if that's what you want). As for myself, I am just going to take a few CS classes here and there - perhaps enough for a minor. I have gotten the impression that CS grad schools would have no qualms about taking a math major, particularly one with CS research experience. </p>

<p>My advice is to stick with UVA and stay in the College; certainly if you want to pursue classes outside of Engineering.</p>

<p>You were given good advice Ejhfast :). CS grad schools love math majors with CS experience, IMO they make better candidates than people that just have industrial programming experience for many fields (obviously not for software development, but for theory and algorithms they have the upper hand).</p>

<p>But as far as a math/CS, it wont be hard at all from the college or the E school. The reqs for CS are Calc I-III, and 3 of diffeq, linear algebra, probability and statistics (you choose). (TECHNICALLY, the BA doesn't have math req's, but these are what the BS reqs are, and what you should take as a BA CS major and to fulfill math area reqs). The only other classes you need for the basic math major are Real Analysis, Complex Variables, and Survey of Algebra.</p>

<p>So you can see for the basic math major, the overlap is so significant that you would only need to take like 3 extra classes. I think there is another math elective req or something though. If you want to do an advances math major you would take essentially the 500-level versions of all of these classes, as well as the 500-level linear algebra. If you are REALLY good at math, you can handle these classes without the intro versions first.</p>

<p>Really, the double major isn't hard to do. Its up to you to decide what would be useful for what YOU want to do. If you want to go into software development, you dont NEED to take Algebraic Topology, but if you want to go into theory or algo's, you might want to take some 'werid' math classes like that or intro to algebra (552, which I am taking now if you have questions) so you can think abstractly, do you know what I mean? In reality, you shouldn't be taking these classes until your last couple years though, so DONT WORRY ABOUT THAT YET. By your last couple years you should have an idea of more specifically what you want to go into! I dont expect you to know that yet.</p>

<p>So IMO, go with UVA and stick with the college. It seems like it would be good for you to start out with a math/CS kind of track. </p>

<p>If you have any questions about the math or CS majors, feel free to keep asking or PM me. I am a first year in a superposition of being a physics/CS/math major, and i haven't opened the box to figure out which two I will collapse into [/corny physics joke] so I know a LOT about all three majors, their reqs, and what you can do with them.</p>

<p>[edit] OOPS i just realized you are Echols, so ignore the math area reqs part. With echols, you will have so much freedom it would be cake to pull of the math/CS double major. No worries at all [/edit]</p>

<p>^ Alternatively, you could diverge into two separate ehiunnos in two different worlds... Shrodinger's cat lives on...</p>

<p>I apologize for a bit of tangential discussion, but how difficult is MATH 522? I have yet to take a proof based math course, so I will probably be taking MATH 331 and 354 next semester. Is the grade distribution harsh in upper level MATH?</p>

<p>By the way, CS150 is one of the reasons I'm not bothering to double major in computer science. I'm not quite certain why they require it in addition to 101E, which is rather boring in its own right.</p>

<p>Ejhfast,
I assume you mean 552 (522 is partial diffeq, not proof based). If by harsh grade distribution you mean "everyone gets an A or a B" then yes, the grade distribution is harsh :p. But in reality, the grade distribution is skewed high because in general the class is extremely competent. The average on our hw is in the 9/10 range (we dont have tests) so you can see that the average grade in the class is a low A. Grant it, this is completely uncurved; everyone just seems to learn the material and know what they are doing. So in a sense its not harsh, but VERY competative. I am not sure if this holds true for every upper level math class though. I am told it varies, but yeah, the pressure is on when it comes to doing hw, because I know that if I don't do well, everyone else still will, and I have no curve to save me.</p>

<p>If I were you, if you have never taken a proof based course, don't let a 500-level be your first one. Start out with something like 354 (maybe 331 but I heard that class is cake), to get a feel for it. I took 354 first semester just to see if I would like proof-classes, turns out I found something I absolutely love, but a lot of people don't like proofs or algebra! Also 354 is generally really good prep for 552 because it covers a lot of the topics lightly and 552 moves REALLY fast. Oh, and I dunno if 351 is proof based or not, but that is sufficient prep for 551, which is proof based, which would be enough prep to take 552 IMO. just another way of getting there.</p>

<p>I'm not going to make it sound like its super hard though because its not bad if you know what you are getting yourself into. Especially with Mike Hill teaching it because he is really good (I dont know if he is still teaching it in the future).</p>

<p>The BA doesn't make you take CS101, just CS150. Instead of doing the normal 101-201, they do 150-205. Its supposed to give "motivating examples" so that college kids can "get it." Instead you just don't do much of anything. Its stupid though that if you have credit for CS101, they would still make you take CS150 (which is I think what happened to you). That makes no sense to me. Its supposed to give the same preparation for higher classes...</p>

<p>Here's something that might interest you. Two Computer Science professors were awarded National</a> Science Foundation CAREER Awards for effectively integrating teaching and research.</p>

<p>351 is proof intensive after the first few weeks; for many math majors it is their first heavy proofs course.
552 was rough last spring with sonkin; mike hill is a much better lecturer. brian parshall is teaching it in the fall (551-2 is a sequence which you can just take one of or both) and he is pretty great (he was head of the math dept and is i think the most highly paid - <a href="http://www.cavalierdaily.com/features/salaries/search.asp%5B/url%5D"&gt;http://www.cavalierdaily.com/features/salaries/search.asp&lt;/a&gt;).
i heard 331 is arduous and not so much of a fun class... it's basically proving calculus.
354 is amazing. but ive heard the opposite opinion from many people. :\
upper level math classes have better grade distributions than the calc series. although, looking at the COD, there are a lot of competent people teaching 132 next fall (mike hill, katie q. - finalist for the 7's teaching award, etc).</p>