Suggested Course Pathways
CSE logo
 home CSE Home   home MyCSE     About Us    Search    Contact Info 
Undergraduate Program
The CSE Community
Current CSE Majors
Admissions
Apply
Application Review Process
CSE Admission Requirements
UW Application Requirements
Why Choose CSE?
Information Session Schedule
Advice for Applicants
FAQ for Prospective Students
Academics
Degree Requirements
Time Schedule
Courses for Majors
The Capstone Experience
Honors
CSE Courses for Non-Majors
Graduation Information
5th year Master's (BS/MS)
Academic Policies & Procedures
ABET Accreditation
Advising & Registration
Advising
Registration Advice
Advice From CSE Students
Suggested Course Pathways
Counseling Resources
Computing Related Majors
Anonymous Feedback
Beyond Academics
Research Opportunities
Internship Opportunities
Scholarships & Awards
Study Abroad
Summer Opportunities
Student Organizations
Computing Information
Life After UW
Career Advice & Information
Graduate School
Alumni Profiles
Alumni Surveys
Information for Alumni
About CSE
Student Recognition
Programs for Youth
Department Homepage
CSE Undergrad Directory
CSE Faculty/Staff Directory

Preparing for Industry: Course Planning Advice From Our Faculty

For more career advice and information, see our career pages.

CSE is an ever-growing field and a CSE degree provides an amazing breadth of opportunities. (As a reminder of just a few of the great things our students have done, see WhyCSE.) To meet the needs and career goals of our unique students, we have designed our degree requirements to be quite flexible, particularly at the 400-level. We absolutely want our students to talk to the advisors and professors to figure out what courses they will find most useful and enjoyable. Every student is different and the potential is limitless. So it's tempting to leave it at that.

However, many students find some structure and guidance useful. The degree requirements are naturally important, but what you need to take to graduate is different from what you ought to take to achieve your goals. It may be unclear which courses are particularly relevant for some of the more common job titles or career paths you may be considering. So we have designed this page to be a starting point. Let the advisors know what you find useful and what needs improvement. It will never be complete, but we'll do our best.

Specializations

The rest of this page lists "specializations" that are typically either areas of computing or job titles or both. Unfortunately, most of the titles are not used consistently by different companies -- as one example, "software engineer" can range from meaning "entry-level programmer" to "advanced software architect." Nonetheless, we try to follow the most common usage.

For each specialization, we list the handful of the most important elective courses for students interested in that area. That doesn't mean other courses aren't equally important, but these are the key courses that cover the things that make the "specialization" what it is. We then list other recommended courses -- this list can get a bit long and every course is valuable, but the idea is to list other things important but not in the top handful.

Jump to:

Databases

Data Mining

Embedded Systems

Graphics, Vision, Games, and Animation

Hardware Design/Engineering

Informations and Commmunications Technologies for Development (ICTD)

Interactions with Biology, Bioengineering, Medicine, and Genomics

Mathematical Foundations

PhD in CSE

Robotics and Control Systems

Scientific Computing

Security

Systems Development

Software Engineering

User Interface and Human-Computer Interaction

Web Development

See also, a reverse listing of specializations sorted by course number:

Courses in Computer Science & Engineering
Courses in Electrical Engineering
Courses in Human Centered Design & Engineering
Courses in Informatics
Courses in Mathematics
Courses in Medical Education & Biomedical Informatics
Courses in Statistics


General advice for CSE students preparing for industry.

Databases (show description)

    Highly Recommended Courses: CSE 344, 444, 451, 484, 446
    Other Recommended Courses: CSE 403, 440

back to list

Data Mining (show description)

    Highly Recommended Courses: CSE 446, 473, 421 & STAT 391
    Other Recommended Courses: CSE 444, 454
back to list

Embedded Systems (show description)

    Highly Recommended Courses: CSE 333, 352, 451, 461, 466, capstone: 477 (or 476, 481, 490D depending on interests)
    Other Recommended Courses: CSE 440, 467 & EE 205 or EE 215
    Other courses you might consider depending on areas of interest: CSE 401, 403, 484, EE 417 (Modern Wireless Communications), EE 442 (Digital Signals and Filtering), EE 484 (Sensors and Sensor Systems)
back to list

Graphics, Vision, Games, and Animation (show description)

    Highly Recommended Courses: CSE 457/458 (Graphics), CSE 455/473 (Vision), CSE 457/481D (Games), CSE 456/458/459/460 (Animation Production)
    Other Recommended Courses: CSE 403, 421, 446 & EE 440
back to list

Hardware Design/Engineering (show description)

    Highly Recommended Courses: CSE 352, 467, 466, 477
    Other Recommended Courses: CSE 451, 461
    Other courses you might consider depending on areas of interest: CSE 401 (techniques in compiling can be useful for embedded systems and configurable computing systems), 421 (Computer-Aided Design requires a strong background in algorithms), 446 (machine-learning techniques are widely used in embedded systems) & EE 476 (Digital Integrated Circuit Desing: Transistor-level design of digital systems, 477 (VLSI II: Advanced Digital IC Design)

back to list

Informations and Communications Technologies for Development (ICTD) (show description)

Highly Recommended Courses: CSE 344, 440, capstone: 490D (or 476, 477, 481 depending on interests)
Other Recommended Courses: CSE 403, 454, 461, 466
Other courses you might consider depending on areas of interest: HCDE 417 (Usability Research Techniques), 418 (User Experience Design), 419 (Survey of Concepts in Human-Computer Interaction) & INFO 360 (User-Centered Design), 380 (Information Systems Analysis and Management) back to list

Interactions with Biology, Bioengineering, Medicine and Genomics (show description)

    Highly Recommended Courses: CSE 427/428 (Computational Biology, 486/487/488 (Synthetic Biology)
    Other Recommended Courses: CSE 341, 344, 444, 421, 446, 473 & STAT 391 & MEBI 498 (an undergraduate topics course on Biomedical Informatics)

    The motivation for many of the courses above will be self-evident, but to amplify a little, the scale and nature of the data make databases, statistical approaches, and algorithms very relevant, and common use of a wide variety of languages, e.g., Perl, Python, R, Matlab, motivates 341. There also are many relevant courses in Chem/Biochem/Biology/Genetics/Bio Engineering/etc. Unfortunately, most have significant prerequisites, but if they fit your schedule, go for it! As just one of many examples, BIOL 180/200 (Intro Biology) -> GENOME 371 (Intro Genetics) -> GENOME 372 (Genomics and Proteomics) -> GENOME 373 (Genomic Informatics) would be a great series for anyone with an interest in computational biology.

back to list

Mathematical Foundations

    Highly Recommended Courses: CSE 421, 431
    Other Recommended Courses: STAT 391
back to list

PhD in CSE (show description)

    Highly Recommended Courses: CSE 498A/498B (research), 400-level courses in area of interest
    Other Recommended Courses: 500-level courses in area of interest, CSE department colloquia, 590-level seminars in areas of interest, CSE 421/451, TA experience, writing experience

    CSE 500-level courses, including 590-level seminars, require permission of the instructor. Email is usually sufficient. Department colloquia are open to the public.

back to list

Robotics and Control Systems (show description)

    Highly Recommended Courses: CSE 446, 455, 473 & STAT 391
    Other Recommended Courses: CSE 421, 466 & EE 215
back to list

Scientific Computing (show description)

    Highly Recommended Courses: CSE 421, 461, 471
    Other Recommended Courses: CSE 451, STAT 391, and numerical analysis courses in the MATH or AMATH departments. See, in particular, the numberical analysis sequence MATH 464/465/466 or the optimization sequence MATH 407/408/409

back to list

Security (show description)

    Highly Recommended Courses: CSE 190, 403, 440, 451, 461, 484
    Other Recommended Courses: CSE 421, 444, 446, 466, 490's
back to list

Systems Development (show description)

    Highly Recommended Courses: CSE 331, 333, 451, 461, 484, distributed systems, software capstone (CSE 454 or 481)
    Other Recommended Courses: CSE 341, 352, 401, 403, 444, 466, 471
back to list

Software Engineering (show description)

    Highly Recommended Courses: CSE 331, 403, software capstone
    Other Recommended Courses: CSE 341/401, 333/451/461, 333/444, 440, 484, 421
back to list

User Interface and Human-Computer Interaction (show description)

    Highly Recommended Courses: CSE 440, 441; also any capstone courses in related areas, such as computing for the developing world or computer support for people with disabilities
    Other Recommended Courses: CSE 403, 446, 451, 454, 457, 484

    Also see appropriate courses in the other UW departments noted above. Generally, the CSE courses will have a greater concentration on the technical aspects of HCI; the HCDE courses will focus on user experience and user testing; the Interaction Design program takes a design (art) perspective; while the iSchool courses on the relationships among information, technology, and people. So, CSE440 will include some basics of doing a usability study, but for a more complete treatment, see for example HCDE417, Survey of Usability Research Techniques.

back to list

Web Development (show description)

    Highly Recommended Courses: CSE 190M, 403, 444, 454
    Other Recommended Courses: CSE 341, 344, 444, 484 & INFO 343, 344
back to list


Specialities Listed By Department and Course Number

    Courses in Computer Science & Engineering (show)
    Courses in Electrical Engineering (show)
    Courses in Human Centered Design & Engineering (show)
    Courses in Informatics (show)
    Courses in Mathematics (show)
    Courses in Medical Education & Biomedical Informatics (show)
    Courses in Statistics (show)
back to list

General Advice

A few recommendations apply regardless of career interest. Most students benefit tremendously from doing internships. Internships complement coursework by allowing students to work intensively on a single project using modern technology. Likewise, capstones are valuable for most career paths, again, because employers value project experience in addition to understanding relevant concepts. Research experience is useful regardless of whether you intend to pursue a graduate degree, because the ability to work independently is valuable in many career contexts. It is also an ideal way to get to know individual faculty -- and have them know you so they can give you personalized advice.

Many employers care deeply about "soft skills" -- written and oral communication, teamwork, time management. Communicating your ideas and organizing yourself are necessary for your technical skills to be useful. Gain experience in these areas.

We encourage you to take courses that interest you even if (or especially if) they are not listed for your career of interest -- a fresh perspective is often the seed of creativity.

In a fast moving technical domain like computer science and engineering, continuing education (either formally or informally through self-directed learning) is a necessity -- the courses of studies listed below are intended to help you get started in a topic. They are by no means a complete set of everything you need to know to have a successful career in any of these areas.

More specifically in terms of our curriculum, most students should take more than the minimum number of 300-level courses. The minimum is allowed for students who want to move quickly into a narrower specialty. In particular, while 331 is not required for CompE and 352 is not required for CS, we believe most students should take both courses. Software-development skills and knowledge of hardware are extremely valuable. Because this advice applies generally, 331 and 352 are not explicitly listed under most of the specializations.

Computer Science & Engineering Box 352350, University of Washington Seattle, WA 98195-2350 Privacy policy and terms of use