What is Computer Science? In Computer Science, we study computational methods, called algorithms, for solving problems, and the systems we build to run those algorithms. We study how to think about them, how to evaluate and compare them, and how to use them to develop solutions and applications.
What degrees do you offer in Computer Science? We offer BS and BA degrees, as well as a Minor in Computer Science. The BS provides rigorous preparation in all core areas of computer science and is for students interested in cutting-edge R&D careers in industry or academia. The BA provides a more flexible course of study that is good for students with interdisciplinary interests. It is popular with double majors and students interested in careers in a computer-related discipline or industry.
Where do people with a Computer Science degree go after college? UR CS graduates go to the best graduate schools like MIT, CMU, Berkeley, Princeton, Stanford, and others, or go to work at companies ranging from Google, Microsoft, and Apple to startups working on data science, affective computing, virtual reality, and much, much more. In a typical graduating class, about 20% of our students join full-time graduate programs upon graduation.
What kind of courses do you offer? Our courses are divided into introductory and pre-major courses, core Computer Science courses, and advanced courses in many different areas, often associated with our faculty members’ research interests. The introductory courses teach the basics of programming, algorithmic thinking, and the design and analysis of programs. Our core courses teach formal (mathematical) models of computation and their applications, principles of computer systems, foundations of artificial intelligence, and the theory of computation. Our advanced courses range from the web to machine learning to human-computer interaction to robotics and much more.
I’m a freshman. How do I get started in Computer Science? Incoming freshmen typically take CSC171 and MTH150 in their first term and CSC172 and their first Calculus course in their second semester. Students with AP or other advanced credit can start with CSC172 and MTH150 (see below). Once you’ve completed CSC172 satisfactorily, you may declare as a CSC major and start taking the core CSC courses.
I’m not a freshman but I want to get into Computer Science. How do I get started? You need to take CSC171 and MTH150, followed by CSC172. You then need to complete the additional requirements for the BS or BA degree. Please note that it is generally not possible to complete a CSC degree in two years starting in the junior year.
How many Computer Science majors are there? Students need to complete 3 pre-major courses (including CSC172) with an average of 2.0 in order to declare either their B.S. or B.A. major. We currently graduate about 115+ majors per year. We have no caps on the number of Computer Science majors. We have over 500 students in the CSC pipeline though not all have officially declared their majors.
What if I have multiple interests? The flexibility of the Rochester Curriculum attracts students with diverse interests to the University of Rochester. More than 50% of our Computer Science majors double major or minor in another discipline, some as an outgrowth of their clusters. Common double majors and minors include Mathematics, Financial Economics, Linguistics, Brain and Cognitive Science, Studio Arts, English, Music, Digital Media Studies and Business.
How big are the classes in Computer Science? Computer Science is growing both nationally and at Rochester. The introductory class CSC171 is 150-200 students, with smaller lab sections and peer-run study groups of about twelve students. CSC172 and core courses average about 125-150 students each. Advanced courses average 50-75 undergraduates.
How will my Advanced Placement Computer Science work be considered toward my Computer Science curriculum? Students who have completed the CEEB Advanced Placement Computer Science A exam with a score of 4 or 5 will receive 4 credits of elective CSC coursework, and will be evaluated at orientation. Please check with your CSC advisor during Orientation to be sure of accurate placement in CSC courses. Our goal is to place you correctly so that you are neither over your head or bored with the material. We also want students to be prepared for the next level course they would be expected to take.
Do I need a computer in my room? What kind should I get? Students are not required to have a computer of their own when they come to campus but nearly all students do. They can access the computer science labs remotely at their convenience, from their dorm room, library or lab using ssh protocols. It doesn't matter whether your computer is a Mac or a PC, dual boot, notebook, laptop or desktop. The network on campus can accommodate any computer. Each dorm room is wired through ResNet and there is wireless access around campus. Our department's systems run Fedora Linux. For more information about the kind of computer you can purchase with educational discounts, check out the UR Tech Store: http://tech.rochester.edu/services/ur-tech-store, email: firstname.lastname@example.org, telephone: 275-8353.
What types of research can students do as undergraduates, and how soon would I be able to do it? Undergraduates interested in research can work on ongoing projects in systems, theory, artificial intelligence, and human-computer interaction. Our research meetings are open to anyone. Students can check the department event calendar to find research meetings that might interest them. Students may need more advanced coursework to be active participants in certain projects. Interested students should approach faculty members in their area of interest and ask what level of expertise is required for them to be successful researchers. We have had students begin working on research as early as freshman year, but most wait a little longer to get started.
What opportunities are there for me to work (including internships)? On-campus job opportunities abound for computer-literate students! Whether you work for University Information Technology in the campus computing facility, for ResNet connecting the dorms, in departments doing computation on research, or at Strong Memorial Hospital in a medical application, there are plenty of jobs on campus.
Students interested in gaining on-the-job experience during the summer have many options. In previous years, we have had students do summer internships at Google, Amazon, Apple, Microsoft, Facebook, IBM, NASA, Xerox, Intel, FactSet, 1010Data, Mathworks, Khan Academy, Zappos, Vistaprint, LinkedIn, Yahoo, HBO, Etsy, Shutterstock, Leapfrog, GoDaddy, etc. We have also had students do fellowships, REUs (Research Experiences for Undergraduates) or mentorships at MIT, the National Institute of Standards (NIST) and at other colleges around the country. Due to course scheduling, we do not have a formal co-op program for students to work full time through the academic year. We encourage students to work in the summers between academic years to get hands-on experience. Many students return to campus for their senior year with job offers from their summer employers.
Those seeking employment after graduation can work with the University of Rochester Gwen M. Greene Career and Internship Center, follow leads sent directly to our faculty or staff, or network through our alumni working in well-placed positions throughout the computer industry. Recent graduates have entertained multiple offers with very competitive salary ranges at large companies like Google, Amazon, Microsoft, IBM, Intel, Facebook, LinkedIn, Vistaprint, and Apple as well as throughout the country at companies big and small.
Can I study abroad as a CSC major? Absolutely! Each semester we have several students who are studying abroad but we would like to encourage more students to discover the benefits of this global experience. Many of the students are attending English-speaking programs in Hungary, Australia, United Kingdom, Spain, Sweden, and Israel, and taking courses in both technical and non-technical fields. Some students (many who double major in a foreign language) choose to go to countries where the courses are not in English and fulfill requirements for their foreign language major. If you are interested in studying abroad, a four-year course plan can be worked out to see what semesters are optimum for your global experience and make it happen. CSC students have studied in Germany, Belgium, Russia, Japan, Singapore, Hong Kong, Greece, Cyprus, Ireland, Scotland, England, Spain, Sweden, France, Australia, New Zealand, Israel, Hungary and China.
What kind of equipment is used in the department? Student labs in the computer science department are equipped with workstations running Fedora Linux. There are 2 undergraduate student labs, one on the 2nd floor of Wegmans Hall (for declared majors only) and the other in Hylan 301. Students may also connect remotely from anywhere to work on the servers. Students involved in research with faculty have access to a wide variety of high-performance computing clusters and specialized equipment in the Human-Computer Interaction and Machine Vision laboratories.
What can I do to better prepare for the Computer Science major? Computer programming requires a lot of practice. If you have the opportunity to program in any language (Java, C, C++, Perl, Python, Ruby, LISP, etc.) it will benefit you. However, our curriculum is designed so that if you have never had any programming, you will have the ability to start with the basics and work your way up. Those students who have considerable coursework and experience in CS will also have opportunities for advancement at a more individual pace. Since student experience varies greatly, your advisor will review your history before recommending your course of study.
Can I start a major in Computer Science as a junior? Our program is designed to take four years. Depending on how things go in the early years, some students will have completed their major requirements before the start of their senior year. However due to the sequential nature of the pre-major and core courses, it is impossible to complete the BS requirements and almost impossible to complete the BA requirements in four semesters. In addition, our pre-major and core courses are very popular and often fill up early. Some introductory courses also reserve places for freshmen and/or sophomores. We therefore STRONGLY ADVISE AGAINST attempting a Computer Science major starting in the junior year. A more realistic plan for a student with a late-developing interest in Computer Science is a minor.
Can I double-major in Data Science? Computer Science and Data Science share many courses, so double-majoring is not allowed. Students in Data Science may minor in CSC however. If you are a CSC major interested in data science and analytics, you may choose your advanced electives in CSC to specialize in courses that Data Science students are required to take (such as CSC240, CSC246, and CSC261).
What is the difference between Computer Science & Electrical and Computer Engineering? Can I do both? Computer science focuses on software while computer engineers focus on hardware. The CS and ECE departments overlap and collaborate in the area of computer architecture. Although CS is part of the Hajim School of Engineering and Applied Sciences, its curriculum requirements are more similar to those of the College of Arts & Sciences. CS majors are required to complete two clusters, while ECE majors are required to complete only one. ECE majors are required to take physics and chemistry, but CS majors are not. The ECE program is accredited by ABET (the Accreditation Board for Engineering and Technology), which is significant for students who wish to become a licensed Professional Engineer. Computer scientists rarely become licensed Professional Engineers.
We have had students who have completed both an engineering curriculum and the computer science curriculum. A student who chooses to tackle this difficult double degree should have some AP credits, excellent time-management skills, and have few outside activities that distract from the difficult workload. A student may also need to plan to overload courses each semester, take summer courses, or extend beyond 4 years. Students may also choose to minor in either, while majoring in the other department.
What is the BS/MS Program, and could I be a candidate for it? The BS/MS Program allows students to complete a Masters Degree by the end of their 5th year. Students interested in this program would have AP/transfer credits as entering freshmen that allow them a more advanced standing. With careful schedule planning in the sophomore year, a student could arrange to complete undergraduate requirements (128 credits) and begin graduate requirements (30 credits) while still an undergraduate. However, only 10 credits taken prior to completion of a bachelor degree may count toward the student’s graduate program. Students spend the fifth year taking the remaining graduate requirements. Application to the program is made in the senior year by completing the UR graduate application. Letters of recommendation from UR faculty and a minimum GPA will be required.
Is there a student organization for Computer Science majors? The Computer Science Undergraduate Council (CSUG) is an active group that does both social and academic events that are well attended by majors and non-majors alike. Students at any grade level are encouraged to become active in CSUG events. There are other clubs such as RocHack, UR WIC (Women in Computing) and UR Robotics, and competition teams for ACM Programming Competition and CS Games. These clubs give students hands-on experience, application design, problem solving and a “maker” culture that inspires innovation and discovery.