Computer Science and Engineering

Bachelor of Science in Engineering

Course descriptions

Computer Science and Engineering majors are required to complete the following: CSE 1010, 1729, 2050, 2300W, 2304, 2500, 3000, 3100, 3500, 3504, 4939W and 4940; ECE 2001.

Computer Science and Engineering majors must complete one of the following concentrations:

Algorithms and Theory: CSE 3502 and three of the following: CSE 3802, 4500, 4702, 4704, 5500, 5820.

Systems and Networks: CSE 3300 and three of the following: CSE 4300, 4302, 4709, 5300.

Cybersecurity: CSE 3400 and three of the following: CSE 4400, 4402, 4702 or 5852, 5854.

Bioinformatics: CSE 3800 and three of the following: CSE 3810, 4502, 5810, 5820, 5860.

Software Design and Development: CSE 2102 and three of the following: CSE 3150, 4102, 4701, 5103, 5104.

Computational Data Analytics: CSE 4502 and three of the following: CSE 4095 (as Dynamic Data Visualization) or OPIM 4895 (as Data Visualization), CSE 4701 or OPIM 3221, CSE 4705, CSE 5095 (as Discrete Optimization) or OPIM 3803, CSE 5713 or OPIM 3802.

Unspecialized: Three of the following: CSE 2102, 3300, 3400, 3502, 3800, 4502; and any other 2000 level or higher CSE course not used to fulfill another major requirement.

Individually Designed: Students may propose an individually designed concentration to fit their academic or career interests. This will be a minimum of 12 credits at the 2000+ level, proposed by the student and approved by the student’s advisor and the CSE Department Undergraduate Committee. The expectation is that such a concentration will have a strong unifying theme. This may include non-CSE courses, but the student will still be subject to the required 50 CSE credits.

All Computer Science and Engineering majors must also complete the following.

Further details and course sequences are given in the Computer Science and Engineering Guide to Course Selection.

The Computer Science and Engineering program combines a rigorous education in computer science with added emphasis on the physical and architectural underpinnings of modern computer system design. With a background that spans computer science and computer engineering, the graduates are able to address computing systems across the hardware-software spectrum.

The Computer Science and Engineering undergraduate program educational objectives are that our alumni/ae: practice as computing professionals in various areas of computer science or computer engineering, advance in their professional practice; and enhance their skills and embrace new computing technologies through self-directed professional development or post-graduate education.


School of Engineering | Back to top