## CS 141 - Intermediate Data Structures and Algorithms

**Time: **M W F - 2:10 PM to 3:00 PM

**Location: **Bourns Hall - Room A125

**Instructor:** Ahmed Eldawy -
- **Office Hours: **357 WCH - Monday & Wednesday 3:00 PM - 4:00 PM

**TA:** Jacob Fauber - **Office Hours:** 110 WCH - Tuesday & Thursday 4:00 PM - 5:00 PM

**TA:** Seyed Amir Feghahati - **Office Hours:** 110 WCH - Friday 3:00 PM - 4:00 PM

**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

## Syllabus

CS 141 provides the basic background for a computer scientist in the area of data structures and algorithms. During this course, students will learn problem solving skills, how to compare them, and how to apply them in real problems. The topics that will be covered by the course include:

- O-notation & Recurrence relations
- Divide-and-conquer approach
- Greedy algorithms
- Dynamic programming
- Graph algorithms and shortest path
- Computational geometry algorithms

## Schedule

Date | Topic | Book chapters | Material |
---|---|---|---|

Mon 1/9 | Introduction | Section 2.2 | |

Wed 1/11 | Growth of Functions | Section 3.1 | |

Fri 1/13 | Big-O Notation | 2.3 | Assignment #1 Assignment #1 Latex Demo |

Wed 1/18 | Master Theorem | 4.3-4.5 | |

Fri 1/20 | Divide-and-Conquer | 4.1-4.5 | Assignment #1 due |

Mon 1/23 | Divide-and-Conquer | 4.1-4.5 | Assignment #2 Assignment #2 Latex |

Wed 1/25 | Linear-time selection | 9.3 | Assignment #1 Answer |

Fri 1/27 | Greedy Algorithms | 16.1-16.3 | |

Mon 1/30 | Quiz #1 | 2-4 | |

Wed 2/1 | Greedy Algorithms | 16.1-16.3 | |

Fri 2/3 | Greedy Algorithms | 16.1-16.3 | Assignment #2 due |

Mon 2/6 | Search Structures | 6.1-6.3&12.1-12.3 | Assignment #3 Assignment #3 Latex |

Wed 2/8 | Dynamic Programming | 15 | |

Fri 2/10 | Dynamic Programming | 15 | |

Mon 2/13 | Dynamic Programming | 15 | Example Code |

Wed 2/15 | Dynamic Programming | 15 | Code |

Fri 2/17 | Dynamic Programming | 15 | Assignment #3 due |

Wed 2/22 | Basic Graph Algorithms | 22 | Assignment #4 Assignment #4 Latex |

Fri 2/24 | Basic Graph Algorithms | 23 | |

Mon 2/27 | Quiz #2 | 2-4 &15, 16 | |

Wed 3/1 | Basic Graph Algorithms | 22 | |

Fri 3/3 | Minimum Spanning Tree | 23 | Assignment #4 due |

Mon 3/6 | Minimum Spanning Tree | 23 | Assignment #5 Assignment #5 Latex |

Wed 3/8 | Single-source Shortest Path | 24 | |

Fri 3/10 | Single-source Shortest Path | 24 | |

Mon 3/13 | All-pairs Shortest Path | 25 | |

Wed 3/15 | All-pairs Shortest Path | 25 | |

Fri 3/17 | Review | Assignment #5 due | |

Fri 3/24 | Final exam - 3:00 PM - 6:00 PM |