Thread (Computer Science)
Threads
Like Electrical and Computer Engineering, Computer Science offers eight distinct threads, which act as specializations. Majors must complete two threads + the core and major requirements to graduate. CS minors must select one thread and complete the minor core requirements (these do not include MATH requirements or some intro CS classes). Each thread combination also dictates the number of free electives a student must take in order to graduate.
- Theory
- Systems and Architecture
- Information Internetworks
- Intelligence
- Modeling and Simulation (split into Scientific Computing and Data Analysis minors)
- People
- Media
- Devices
How to Choose your Thread
Systems and Architecture
Take CS 2110:
- LIKE → declare either Modeling and Simulation, Systems and Architecture, Devices, or Information Internetworks.[Note 1]
- DISLIKE → definitely do not declare any of the threads above.
Take CS 2200:
- LIKE → declare either Systems and Architecture, Devices, or Information Internetworks based on preference.
- DISLIKE → either keep Modeling and Simulation for fewer requirements or declare another thread.[Note 2]
Systems and Architecture Advanced Elective
- Enjoy pipelining, caches, and multithreading → take CS 4290.
- Enjoy multithreading, virtual memory, and scheduling → take CS 4210 (requires CS 3210).[Note 3]
Unsure → take CS 3210:
- LIKE → take CS 4210.
- DISLIKE → take CS 4290.
Theory
Take CS 2050/CS 2051/MATH 3012:
- LIKE → declare Theory or Intelligence
- DISLIKE → definitely do not declare Theory
- LIKE → declare Theory or Intelligence.
- DISLIKE → definitely do not declare Theory.
Take CS 3600:
- LIKE → continue with Intelligence
- DISLIKE → definitely do not declare Intelligence
- LIKE → declare Theory.
- DISLIKE → do not declare Theory.
Theory Advanced Math Elective
Take MATH 3012:
- Enjoy generating functions and recurrence relations → take MATH 4032.
- Enjoy graphs → take MATH 4022.
- Enjoy generating functions, recurrence relations, and graphs → take MATH 4032 or MATH 4022.
- Dislike generating functions, recurrence relations, and graphs but enjoy cryptography → take MATH 4150.
People
Stage 1 - Take CS3001 and PSYC1101
LIKE BOTH → Consider people
LIKE ONE → Consider people, but choose thread picks carefully
HATE BOTH → Probably not, unless really enjoy CS 3750
Stage 2 - Take CS 3750/CS3783.
LIKE → Probably take People/Media.
Stage 3 - Take MATH 3670 sooner rather than later allowing you to take PSYC 2015 sooner.
LIKE 2015 → Definitely people.
People Upper Level
1. Take PSYC 2210/PSYC 2760/PSYC 3040 depending on what you liked in PSYC 1101 and PSYC 2015
2. Choose thread picks based on preference between CS 3750 topics vs PSYC 1101/2015 vs CS 3001 topics.
Liked PSYC 1101/2015 More - Consider CS 3790, CS 4472, CS 4460
Liked CS 3750 More - Consider CS 4470, CS 4605
CS 4660, CS 4745 are a bit of a wild card
Media
Take MATH 1554
LIKE --> Media could be for you (esp if you liked Homogeneous Coordinates)
HATE --> Definitely not Media
Take CS 2261 or CS 2110
LIKE 2261 --> Media is very probably for you
HATE 2261 --> Likely not Media
LIKE 2110 GBA Project --> Media may well be for you
HATE 2110 GBA Project --> Unclear
Media Upper Level
Take CS 3451 - choose thread picks on comparison of 3451 and 2261.
Like 3451 more than 2261:
- CS 4480 Digital Video Special Effects
- CS 4496 Computer Animation
Like 2261 more than 3451:
- CS 4455 Video Game Design and Programming
Honors Courses
Take CS 2051:
- LIKE → take CS 3511 and the CS 4510 honors section if possible.
- DISLIKE → do not take another honors class.
- UNSURE → take another honors class.
Cite error: <ref>
tags exist for a group named "Note", but no corresponding <references group="Note"/>
tag was found