|Name||Role||Office Hours and Study Sessions|
|Miles Jones||Instructor||mej016 (at) eng.ucsd.edu||Mon, Wed 11-12, CSE 4208|
|Sahil Agarwal||Teaching Assistant||saa034 (at) eng.ucsd.edu||See Calendar Above|
|Julia Kapich||Tutor and Mentor||juc033 (at) ucsd.edu||See Calendar Above|
|Soheil Karimi||Tutor and Mentor||skarimik (at) ucsd.edu||See Calendar Above|
|Tommy H Nguyen||Tutor and Mentor||thn055 (at) ucsd.edu||See Calendar Above|
|Anna Raichev||Tutor and Mentor||araichev (at) ucsd.edu||See Calendar Above|
|Jiali (Scarlet) Xie||Tutor and Mentor||jlxie (at) ucsd.edu||See Calendar Above|
We will be communicating with you and making announcements through an online question and answer platform called Piazza. We ask that when you have a question about the class that might be relevant to other students, you post your question on Piazza instead of emailing us. That way, everyone can benefit from the response. You should not post about graded homework questions on Piazza. The best way for us to answer homework questions is in office hours.
Welcome to CSE21! This course is intended to introduce you to the broad field of algorithms and give you the mathematical tools needed to study algorithms and their efficiency. We will learn about sorting and searching, asymptotics, recursion, graphs, enumeration, data representation, and discrete probability. Understanding these topics and being able to work out related problems will be essential to your work as a computer scientist.
Please click here for a course description as given in the undergraduate course listing.
Course grades will be computed using the following weights.
You must have a passing score on the final exam (60%) in order to pass the course.
Homework should be done individually or in pairs. You are free to change partners at any time. Problems should be solved together, not divided up between partners. Homework solutions should be neatly written or typed and turned in through Gradescope.
Students should consult their textbook, class notes, lecture slides, Piazza forum, instructor, TA, and tutors when they need help with homework. Students should not look for answers to homework problems in other texts or sources, including the internet.
After your weighted average is calculated, letter grades will be assigned
based on the following curved grading scale:
The textbook for this course is
All textbooks and course materials will be provided to the students free of charge on the opening day (August 2, 2015).
The texbook's companion website has extra practice problems and resources. In particular, the Self Assessments and the Extra Examples for each chapter are great practice materials. Access the companion website here.
You may also wish to look at the following textbook as a supplementary resource.
The full pdf of this book is available for free download from a UCSD internet connection at:
|Lecture||Mon, Tu, Th, Fri||8:30am - 9:50am||CSE 4258 (first week), CSE 4140 (remaining weeks)|
|Discussion Section||Mon, Th||10:00am - 10:50am||CSE 4258 (first week), CSE 4140 (remaining weeks)|
|Problem Solving Sessions||Tu, Fr||10:00am - 10:50am||CSE 4258 (first week), CSE 4140 (remaining weeks)|
|Optional Study Sessions with Tutors||See Calendar||7 - 9pm||CSE 4258 (first week), CSE 4140 (remaining weeks)|
NOTE: This schedule is subject to change.
|Date||Day||Subject||Reference||Lecture slides, HW and Due Dates|
|8/1/16||Mon||Sorting algorithms. Counting comparisons. Using loop invariants to prove algorithms correct.|| Rosen 1.9, 3.1,
HW 1 solutions
|8/2/16||Tues||Linear and binary search. Counting comparisons. Using loop invariants to prove algorithms correct.|| Rosen 1.9, 3.1,
HW 1 due
HW 2 solutions
|8/4/16||Thur||Asymptotic notation. The need for order notation.||Rosen 3.2||
HW 3 solutions
|8/5/16||Fri||Time analysis of sorting and searching algorithms.||Rosen 3.3||Lecture 4
HW 2 due (sorting, searching, loop invariants).
|8/8/16||Mon||Intro to recursion. Correctness and time analysis of recursive algorithms.||Rosen 4.3, 6.1,
|8/9/16||Tues||Divide and conquer, including mergesort and multiplication.||Rosen 4.4, 6.3 before Thm 1
JS 7.1, 7.2
HW 3 due (asymptotic notation, algorithm analysis).
|8/11/16||Thur||Solving puzzles with graphs.||Rosen 8.1, JS 5.1||Lecture 7|
|8/12/16||Fri||First exam.||Exam today, covers everything before graphs.
|8/15/16||Mon||Euler and Hamilton tours.||Rosen 8.2, 8.3, 8.5 through Ex. 7
HW 4 solutions
|8/16/16||Tues||DAGs and topological orderings. Graph search and reachability.||Rosen 8.4 through Thm 1||HW 4 due (graphs).
HW 5 solutions
|8/18/16||Thur||Trees.||Rosen 9.1, 9.2 though Thm 2
|8/19/16||Fri||Intro to counting. Sum and product rules. Inclusion-exclusion.||Rosen 5.1, 5.3, 6.5
|HW 5 due
|8/22/16||Mon||Binomial coefficients. Encoding and decoding.||Rosen 5.4, 5.5||Lecture 12
HW 6 solutions
|8/23/16||Tues||Fixed density binary strings.||HW 6 due
|8/25/16||Thur||Applying counting to graphs and sorting.||JS 4.4||Lecture 14|
|8/26/16||Fri||Second exam.||Exam today, covers graphs and counting.
|8/29/16||Mon||Intro to probability. Expected value.||Lecture 15
|8/30/16||Tues||Variance and concentration.|| Lecture 16
HW 7 due
|9/1/16||Thur||Randomized algorithms.||Lecture 17 (review)|
|9/2/16||Fri||Final exam.||Practice final