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:

Organized

387 responses

4.49

/ 5

strongly agree
63%
agree
30%
disagree
4%
strongly disagree
2%
25%
50%
75%
100%

Clear Expectations

150 responses

4.19

/ 5

strongly agree
45%
agree
38%
neither agree nor disagree
9%
disagree
6%
strongly disagree
2%
25%
50%
75%
100%

Learned a Lot

388 responses

4.27

/ 5

strongly agree
52%
agree
37%
disagree
6%
strongly disagree
4%
25%
50%
75%
100%

Recommend

239 responses

3.75

/ 5

strongly agree
34%
agree
41%
disagree
15%
strongly disagree
9%
25%
50%
75%
100%

Workload

239 responses

2.44

/ 5

very heavy
19%
heavier than average
26%
average
48%
lighter than average
7%
very light
0%
25%
50%
75%
100%

Fair Assessments

389 responses

4.09

/ 5

strongly agree
46%
agree
37%
disagree
11%
strongly disagree
5%
question not applicable
2%
25%
50%
75%
100%