This page describes various options for technical tracks. However, you must consult with your advisor before filling in your technical-track declaration form.

Note: BA degree students must choose either (1) the Software Engineering and Design technical track or (2) a technical track, complete a significant project or senior thesis in their non-technical or technical tracks and take a WID course in their second major.

Note: For a course to count towards the technical track requirement, it must have a pre-requisite of at least CSCI 2113.


Artificial Intelligence (AI): : for students interested in artificial intelligence and its applications, take at least three courses from the following list: CSCI 4525: Autonomous Robots: Manipulation, CSCI 4527: Introduction to Computer Vision, CSCI 4364: Machine Learning, CSCI 4511: Introduction to Artificial Intelligence, CSCI 4572: Computational Biology, CSCI 4314: Continuous Algorithms, CSCI 6351: Data Compression, CSCI 6443: Data Mining, CSCI 6515: NLU.

Computational Mathematics and Sciences: Take at least three courses from the following list: CSCI 4331: Crypto, CSCI 4341: Continuous Algorithms, CSCI 4342: Computational Linear Algebra and Applications
CSCI 4572: Computational Bio,CSCI 6313: Advanced Discrete Structures.


Computer Graphics and Digital Media: For students interested in computer graphics, visualization, animation and digital media. Take the three following courses: CSCI 4554: Computer Graphics I, CSCI 6554: Computer Graphics II, CSCI 6555: Computer Animation, CSCI 6562: Introduction to Interactive Multimedia.


Computer Security and Information Assurance: For students interested in the design and implementation of secure computing infrastructures.
  • BS degree: Take at least three courses from the following list:
    CSCI 4331, CSCI 4531, CSCI 4541.
    Graduate level courses may be substituted with advisor approval.
  • BA degree: CSCI 4331, CSCI 4531, CSCI 4541.
    Graduate level courses may be substituted with advisor approval.

Data Science: for students interested in data science: foundations, tools and techniques for analyzing data of various types, take at least three courses from the following list: CSCI 4364: Machine Learning, CSCI 6515: NLU, CSCI 6351: Data Compression,CSCI 6443: Data Mining, CSCI 4341: Continuous Algorithms.


Foundations and Theory: for students interested in exploring theory or developing strong foundations, perhaps in preparation for graduate work in Computer Science. Take three courses from CSCI 4331, CSCI 4341, CSCI 4342, CSCI 6212, CSCI 6311, CSCI 6312, CSCI 6351, CSCI 6313, CSCI 6318.

Software engineering and Application Development (BS program): for students interested in the software engineering concepts and techniques required for the design and implementation of large software systems and applications. Take three courses from CSCI 4561, CSCI 4235, CSCI 6234, CSCI 6231, CSCI 6232, CSCI 6233,
CSCI 6561.


Software engineering and Design (BA program): Take one course from CSCI 5461, CSCI 4235, CSCI 6234, CSCI 6231, CSCI 6232, , CSCI 6233, CSCI 6561, together with the three-course senior design sequence.In this case your track may be titled Software engineering and Design.


Systems: for students interested in the design, implementation and management of hardware and software systems. Take three courses from CSCI 3410, CSCI 4431, CSCI 4237, CSCI 4541, CSCI 4235, CSCI 6431, CSCI 6433, CSCI 6441, CSCI 6411.
Individually designed technical track: This track is designed by you with the agreement of your advisor.It will comprise at least three courses, not necessarily with CSci designations, but the content must meet a broad technical requirement that it be closely related to the disciplines of computing.