CSI 3105 Design and Analysis of Algorithms I

3 units
Computer Science
Faculty of Engineering
Analysis of algorithms: worst-case analysis, complexity analysis, asymptotic notations and basic complexity classes. Algorithm design techniques: brute force, divide and conquer, dynamic programming, greedy, backtracking. Computational complexity of problems: lower bound arguments, the classes P, NP, NP-complete, dealing with NP-complete problems.

Components:

Lecture

Requirements:

Prerequisites: CSI 2110 , CSI 2101 or for honors mathematics students: CSI 2110 , ( MAT 2141 or MAT 2143 ).

Previously Offered Terms:

Fall
Summer

French Equivalent:

All Professors
B Average (6.398)
Most Common: B (14%)
1119 students

P

S

NS

F

D

C

B

A-

A+

Nejib Zaguia

Fall 2023 - A00

B+ Average (7.404)
Most Common: A+ (21%)
342 students

P

S

NS

F

D

C

B

A-

A+

Jean-Lou De Carufel

4 sections from Fall 2017 to Fall 2022

B Average (5.896)
Most Common: C+ (16%)
734 students

P

S

NS

F

D

C

B

A-

A+

Mohamad Hoda

Summer 2019 - Z00

B+ Average (6.953)
Most Common: A (19%)
43 students

P

S

NS

F

D

C

B

A-

A+