Study Abroad Information for Computer Science Majors

Note: the following information is targeted for students majoring in the BS in Computer Science and the BA in Computer Science. Some of the information is also relevant for students in the BS in Computer Engineering, but students in that program will need approval from the advisor listed on this SEAS page and should see that person for questions related to course equivalencies for courses offered by the ECE department here at UVa.

Undergraduates who wish to spend one semester studying abroad often do so during their 5th or 6th semester. SEAS students in the BSCS major can spend one of these semesters abroad and still graduate on-schedule, but careful planning is required. Students in the BACS major may have more flexibility, as long as they started taking CS courses here at UVa no later than their 2nd year.  Here are some recommendations.

Are there any CS requirements I must fulfill before studying abroad?

Not officially, but in practice it's important that you complete CS2150, Program and Data Representation, before you go abroad. There are two important reasons for this.

For these reasons, doing a study abroad before completing CS2150 can delay your progress towards graduation.

What courses should you take at the foreign university and how will they count towards your degree?
How will this change your course-schedule?

Much depends on what kind of courses you can take at your chosen university; in particular, whether or not you can take one or two CS courses that satisfy UVa CS requirements.

If the situation for US students at your chosen foreign university does allow you take computing courses, look for courses that can count for these UVa CS courses. These might include:

If you can take one or two CS courses during your semester abroad that are approved, then you may be able to graduate without major changes to the suggested course-schedule for the BSCS degree.

But you can approach your time abroad in a different way.  A former director of our BA program explains it this way:

The main advice I usually have for students who want to do this is that they should take advantage of the opportunity to be abroad and take classes that will be different from anything they would have an opportunity to take at UVa.  This usually means not taking any CS courses abroad, but still keeping connected with CS by doing some things on their own.  For BACS students who plan ahead a little bit, it is usually easy to take either a Spring or Fall semester abroad.  If necessary, it may be possible to find courses that they want to take abroad that can count as integration electives or CS electives.

Whatever you wish to do, planning in advance is important to make sure you can return to UVa and complete your degree requirements on time.

Important: You must get approval in advance from the CS International Study Advisor (see this page for that person's name) in order to get credit for these non-UVa versions of our CS courses. (This advisor will sometimes need to get approval from your degree program's Director, but he or shee will take care of this if it's needed.)  Provide as much information about the content of the course(s) at the foreign university as you can.

Sometimes it may be impossible to find out info about available CS courses until you actually arrive at your foreign university. In this case, contact the CS International Study Advisor before you leave and tell him or her about your study-abroad plans, and then use email to get approval once you arrive at your foreign university and learn what courses are possible for you to take.

Bottom line: get approval as soon as you can and certainly no later than the early stages of the CS course you're taking at the foreign university.

If it is not possible to take approved CS courses at your chosen foreign university, then try to take courses that can count for some of these kinds of requirements:

If you can only take courses in these categories, then more significant changes in your course-schedule in your 3rd and 4th years will be needed. This will require careful planning! Also, in the normal course-schedule, each semester is designed to have a balance of technical and non-technical courses. If you take all non-technical courses during your semester aboard, when you get back you may end up having a schedule with a heavy concentration of technical courses each term. If this is a problem, you could consider taking a technical course during a summer semester.

BSCS Majors: If you plan to spend Semester 5 (Fall, 3rd year) abroad:

The normal suggested schedule for Semester 5 is:

CS4102 is guaranteeed to be taught during the fall. It is normally also taught in the spring, and has been since Spring 2010. We plan to continue offering it in the spring.

If you cannot take it abroad, you should now take CS4102 during Semester 6 or 7. It is not a pre-requisite for any later course. While abroad you could take something that normally falls in Semester 6 or 7 so you have room for CS4102 then.

CS3330 is taught fall and spring terms, so if you cannot take it abroad, you can delay it until Semester 6. It is a pre-requisite for a number of required CS courses (e.g. CS4414, ECE4435) and electives (e.g. CS4457), so you should not delay it past Semester 6 or you may have problems.

BSCS Majors:  If you plan to spend Semester 6 (Spring, 3rd year) abroad:

The normal suggested schedule for Semester 6 is:

CS3240 is guaranteeed to be taught during the spring. It is normally also taught in the fall, and has been since Fall 2012. We plan to continue offering it in the fall.  If you cannot take it during your 6th semester, plan to take it in your 5th or 7th semester.

If you cannot get a CS elective or APMA abroad, then try to take these during Semester 5 or 7 where you would normally take a non-technical course from one of the categories above. Again, this may lead to the situation where Semesters 5 and 7 are heavily loaded with technical courses.

CS3102 is guaranteed to be taught during the spring semester. (It is normally also taught in the fall, and has been since Fall 2009. We plan to continue offering it in the fall.) If you cannot take it abroad, you can take CS3102 during your 4th semester, 5th, 7th or 8th semester. In the past, it was recommmended in the 4th semester, so there is no harm taking it early. If you take it late, it is not a pre-requisite for any required courses, and perhaps a few electives (possibly Cryptography); however, the material it covers is part of the GRE CS subject exam, if you are planning on applying to grad schools that require the subject exam.

Stories of CS students Who've Studied Aboard

The following comments are from three students studying abroad in Fall 2007.  Their comments are from October when the first arrived at their overseas university.˙

Suzanne Collier, Fall 2007

My name is Suzanne Collier and I am a third year Computer Science major. This fall I am studying abroad in Copenhagen, Denmark through a program called Danish Institute for Study Abroad (DIS) which is in affiliation with the University of Copenhagen. Although I take classes with mostly American students I am living along side Danish students and very immersed in the culture. Abroad I am not taking any computer science courses, but instead taking electives. Even though I am not continuing my computer science studies abroad I am still learning a tremendous amount which I think will translate well when I return back to UVA. Computer scientists have a wide range of job opportunities and taking a different mix of classes will only aid that process. The courses I am taking include: Brain Functioning and the Experience of Self (a psychobiology course); Copenhagen History and Contemporary Issues; Environmental Problems and Policy: A European Prospective; and News Media in Transition. My classes here focus a lot more on hands-on, experiential learning. Every Wednesday in place of lecture we go on field studies to visit different places that relate to our studies and talk to professionals in different fields. We also just took a short study tour to expand our studies and will take a long study tour in a month. It is a nice break to get out of the classroom. The learning environment here is great! Overall, my study abroad experience so far has been excellent. Being thrown into a completely new environment is frightening as well as exciting. It only reflects what will happen when I leave college and have to go out into the working world and I will be that much more prepared to deal with new and uncomfortable situations.

David Horres, Fall 2007

I am a third-year CS major spending my fall semester at Georgia Tech Lorraine in Metz, France. Georgia Tech has an entire campus here run completely by Georgia Tech staff and faculty. The campus is located in a circle of several French engineering schools, some of which are the the top ranked in France. I am taking courses in Robotics and Perception, Computer Vision, Statistics, and Engineering Ethics. If you don't speak French, that's fine--the Georgia Tech courses are all in English and are taught by visiting faculty from the Atlanta campus. The average class has only around 10 people, so the instruction is quite intimate. Yet, the best part about studying in this program is that Georgia Tech Lorraine holds no classes on Fridays, which grants students more freedom to travel to other locations in Europe on weekends. Although you will live in France and be exposed to a great deal of French culture, this program is particularly well-suited for students who want to see plenty of Europe.