Course Syllabus For CECS 528
Course Syllabus For CECS 528
Prerequisites: CECS 328 and MATH 380 (or EE 380 or ENGR 380).
Instructor: Dr. Todd Ebert
Contact: 562.985.1169, Todd.Ebert (at csulb dot edu)
Office hours: MTu: 10:30-11:30am, F: 8:00-9:00am, ECS 548
Course Call Numbers, Times, and Rooms
o 528 Section 1 (Friday Lecture): 5396, F 9:00AM-10:40AM, VEC 419
o 528 Section 2 (Friday Lab): 78327, F 11:00AM-1:30PM, ECS 414
o 528 Section 3 (Thursday Lecture): 7833, TTh 8:00AM-8:50AM, VEC 331
o 528 Section 4 (Thursday Lab): 7834, TTh 9:00AM-10:15AM, VEC 419
Required Text: T. Cormen, C. Leiserson, R. Rivest, C. Stein, Introduction to
Algorithms , McGraw-Hill Science/Engineering/Math; 3rd edition, 0262033844
Course website: http://www.csulb.edu/~tebert/teaching/fall19/528/intro.html
Course Description
In this course we study some of the most important and exemplary algorithms from computer
science. Moreover, we primarily focus on the three major algorithm families: greedy, dvide-and-
conquer, and dynamic programming. We also study the algorithmic technique of reducibility.
Approximation algorithms and linear programming are covered if time permits.
In addition to a broad exposure to algorithms, we also study the mathematical techniques needed
to analyze an algorithm. The three most common aspects of an algorithm that require analysis
include its correctness, running time, and an efficient implementation for achieving the running
time. Analyzing correctness means proving that an algorithm returns the correct output for any
given input. For an approximation algorithm we want to prove the degree to which the algorithm
approximates the actual problem solution. In addition to being correct, we desire to prove tight
upper and lower bounds on the time or space required for an algorithm to return its output.
Moreover, when proving such bounds, one must often provide the data structures that are needed
to support the desired time and space bounds. We finish the course with an introduction to
computational complexity theory, whose goal is to determine the intrinsic time and space
complexity of any given problem. We use this theory to establish problems that are candidates
for being the "hardest that can be efficiently solved", as well as candidates that likely cannot be
efficiently solved. Approximation algorithms and linear programming are covered if time
permits.
Course Topics
Course Lectures
Each lecture is supplemented with a lecture outline that is available online in pdf format. The
lecture outlines, when completed in class, are meant to serve as a useful set of course notes. They
can be found at http://www.csulb.edu/~tebert/teaching/fall19/528/lectures.html
Course Lab
The course lab hour will be used for reviewing assigned homework problems, taking quizzes,
and completing assigned group problems.
Homework Quizzes: 25%. Homework is assigned each week and there will be 6 quizzes
throughout the semester (see quiz dates below) that are based on the homework. Each quiz will
have three problems C, B, and A. The C problem is worth 10 points, the B problem 15 points,
while the A problem is worth 20 points. Each problem is based on one of the HW problems, but
possibly shortened so that the quiz can be completed in 20 minutes. There are NO MAKE UP
QUIZZES. Instead, the lowest quiz score is dropped. The grade points earned for a quiz can be
calculated by dividing the total points by 10. For example, a quiz score of 36 points earns 3.6
grade points, which is approximately equivalent to the grade of A-. Homework quizzes are given
at the beginning of each class meeting.
Exams: 65%. There will be two midterm exams (20% each), and the final exam worth 25%.
MAKE-UP EXAMS ARE ONLY PROVIDED WHEN THERE IS DOCUMENTED
EVIDENCE OF ACCIDENT OR SEVERE ILLNESS.
Lab Participation: 10%. On days when lab exercises are assigned, each student is expected to
attend, and work in a group of 3-4 students for the purpose of writing a solution to each of the
exercises. Each student in attendance shall receive credit on condition that he or she was deemed
sufficiently engaged in the learning process.
Some assessments may come with signed grades. The grade points are as follows:
A+(4.3),A(4.0), A-(3.7),B+(3.3), B(3.0), B-(2.7),C+(2.3),C(2.0), C-(1.7),D(1.0),D-(.3),F(0.0).
The sum of the grade points will be weighted according to the percentage for which each letter
grade counts towards the overall grade. Finally, when the quiz and exam grades are averaged,
each student will be assigned a grade point value that lies between 0.0 and 4.0. This value is then
rounded to the nearest integer to produce the final grade. All final grades will be rounded (either
up or down) to the nearest unsigned letter grade.
The following actions are NOT PERMITTED during exams and quizzes i) USE OF PREPARED
NOTES, ii) COPYING ANSWERS FROM OTHER STUDENTS, iii) TALKING WITH
OTHER STUDENTS, iv) USING A PHONE, LAPTOP, or any other ELECTRONIC DEVICE.
Performing any of the above actions is considered CHEATING and results in an automatic
COURSE GRADE of F.
It is the responsibility of the student to initiate withdrawing from the course, if so desired.
Withdrawing can be done online through September 9th, and with the signature of the CECS
Chairperson through November 15th.
Quiz Dates (Thursday Section): September 5th, September 19th, October 10th, October 24th,
November 14th, December 5th
Quiz Dates (Friday Section): September 6th, September 20th, October 11th, October 25th,
November 15th, December 6th
Exam Schedule