CS 141 - Intermediate Data Structures and Algorithms
Time: Section 001: M W F - 4:10 PM to 5:00 PM
Section 002: M W F - 1:10 PM to 2:00 PM
Location:
Section 001: Humanities & Social Sciences Building - Room 1501
Section 002: Olmsted Hall - Room 1208
Instructor: Amr Magdy - - Office Hours: 159B Tomas Rivera Library - Monday & Wednesday 2:00 PM - 4:00 PM
TA: Xiaolin Jiang - Office Hours: 463 WCH - Thursday 1:00 PM - 3:00 PM
Samriddhi Singla - Office Hours: 368 WCH - Tuesday 9:00 AM - 11:00 AM
Textbook: Introduction to Algorithms - Third Edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein - ISBN 9780262033848 Amazon- UCR Bookstore - MIT Press
Click HERE for Teaching Feedback form
Syllabus
CS 141 provides the basic background for a computer scientist in the area of algorithms analysis, design, and advanced data structures. During this course, students will learn problem solving skills, how to analyze and compare different solutions, and how to apply them in computational problems. The topics that will be covered include:
- Algorithms analysis (asymptotic notation & recurrence relations)
- Divide-and-conquer algorithms
- Greedy algorithms
- Dynamic programming
- Graph data structures and algorithms
- Advanced topics in algorithms analysis and design: NP-Completeness
Grading and Policies
- Five homework assignments (33%)
- Two quizzes (33%)
- Final inclusive exam (34%)
- Unless mentioned otherwise, late submission allowed for 20% penalty for a calendar day.
- Assignments should be computer-typed.
- Cheating is not allowed and will be reported
- If you are using any external source, you must cite it and clarify what exactly got out of it.
- You are expected to understand any source you use and solve problems in your own.
Course work
Delivery policies
Schedule