[フレーム]

Computer Science BS Technical Electives

Overview

Students in the BS program need 23 credits of upper-division elective coursework, including at least one course from the approved list of upper division math-oriented requirement options and at least 11 of the 23 total credits coming from CSCI-designator courses. There are a wide variety of upper-division elective courses within and beyond the CSCI department that have been grouped into six broad areas of study or specializations:

  • Artificial Intelligence/Robotics
  • Computer Systems
  • Data-Driven Computing
  • Human-Centered Computing
  • Languages & Theory
  • Software Engineering & Data Systems


Rather than focusing on "choosing" an area of study, students are encouraged to view the upper division technical electives as a way to explore one or more interests within computer science and use those courses as a way to further develop their knowledge and skills. A area of study is not meant to limit your course options; indeed, students are able to mix and match tech elective courses across interest areas (and across departments!).

CS&E faculty have broadly noted that choosing 3-4 courses from within a particular interest area should give students enough content to be able to say they have a "focus" or "specialization" in something like a job interview or cover letter; however, specializations are not a degree requirement for CS students, and focuses, specialization, or tracks of any kind do NOT show up on a transcript or diploma.

How do I choose my tech electives?

Each of the interest areas below has "key themes and skills" section. A great strategy for exploring and choosing tech elective courses is to start checking out job descriptions that interest you (and also to start doing some informational interviewing! ).

We recommend putting job descriptions in one window or tab, Schedule Builder in another, and this page in a third; then, you can cross-reference the keywords and skills you're seeing in those job descriptions with the key themes and skills of these interest areas/ the course descriptions of tech elective options.

Ideally, students can choose courses that interest them, but it's also totally fine to simply choose courses that work in your schedule.

Of the 7-8 total tech elective courses needed, we find that the vast majority of CS students tend to make "strategic" (or skills-I-want-for-my-future-goals) choices for 1-3 of their tech elective courses. For their remaining courses (4-6), they use the "close your eyes and pick" method: meaning as long as you've met the prerequisites for a course and it fits in your schedule, cool - take whatever works!

At the end of the day: the purpose of an undergraduate degree is to give you a broad and basic set of skills and knowledge in a chosen area of study. The VAST majority of employers expect (and actively want!) students who have a range of skills, interests, and experiences both in and out of the classroom - there is no expectation that someone with a bachelor's degree has any kind of "specialization" or "focus" beyond their chosen major.

Finally: a few other things to note/keep in mind as recommendations (not rules!):

  1. We generally recommend students take just one project-based course per semester
    1. Writing intensive courses are always project-based, and your peers and classmates and online info (Reddit threads, Discords) are also great sources of information here!
    2. CSCI 3081W and CSCI 4061 are both project-based courses within the CS core curriculum
  2. 5xxx-level courses (in any/all departments!) are graduate-level courses, and consequently are often more rigorous and faster-paced. Both advisors and faculty recommend taking a maximum of two 5xxx-level courses per semester, and not alongside any project-based courses (CSCI 3081W and CSCI 4061 are both project-based)

Questions?

For questions about the upper division elective courses, contact:

CS&E Undergraduate Advising Team
[email protected]

AltStyle によって変換されたページ (->オリジナル) /