# Course Websites

## CS 374 - Intro to Algs & Models of Comp

### Spring 2021

#### Official Description

Analysis of algorithms, major paradigms of algorithm design including recursive algorithms, divide-and-conquer algorithms, dynamic programming, greedy algorithms, and graph algorithms. Formal models of computation including finite automata and Turing machines. Limitations of computation arising from fundamental notions of algorithm and from complexity-theoretic constraints. Reductions, undecidability and NP-completeness. Course Information: Same as ECE 374. Prerequisite: One of CS 173, MATH 213; CS 225.

#### Learning Goals

 Be able to design regular expressions, finite automata or conftext free languages from a given language specification . (1), (3), (6) Be able to prove that a given language is not regular (3)(6) Be able to analyze the asymptotic running time of an algorithm via sums and recurrences (3)(6) Model an algorithmic problems via graphs and apply appropriate graph algorithm to yield a solution (1)(3)(6) Given problem specification, design efficient algorithms via techniques such as recursion, divide and conquer, dynamic programming and greedy (1)(3)(6) Be able to prove the correctness of an algorithm by induction or via reductions (3)(6) Prove NP-hardness via polynomial-time reductions from known NP-hard problems (3)(6) Prove a language undecidable via reduction from known undecidable problems such as Halting. (3)(6)

#### Topic List

LANGUAGES and AUTOMATA

• Strings and languages
• Finite automata (DFA, NFA) and regular expressions
• Context free grammars and languages

ALGORITHMS

• Recursion, Divide and conquer, Backtracking
• Dynamic programming
• Greedy
• Basic graph algorithms: reachability, BFS, DFS, shortest paths, MST, modeling via graphs

NP Completness

• Polynomial-time reductions, P, NP, NP-Complete, NP-Hard

Turing Machines (TMs)

• Universal TM, RAM, decidability, undecidability, Church-Turing thesis

#### Required, Elective, or Selected Elective

Required

TitleSectionCRNTypeHoursTimesDaysLocationInstructor
Intro to Algs & Models of CompAL165088OLC41100 - 1215 T R    Chandra Sekhar Chekuri
Patrick Lin
Intro to Algs & Models of CompAYA65089OD01300 - 1350 T R
Intro to Algs & Models of CompAYB65090OD01400 - 1450 T R
Intro to Algs & Models of CompAYC65091OD00900 - 0950 W F
Intro to Algs & Models of CompAYD65092OD01500 - 1550 T R
Intro to Algs & Models of CompAYE65093OD01600 - 1650 T R
Intro to Algs & Models of CompAYF65094OD01700 - 1750 T R
Intro to Algs & Models of CompAYG65095OD01200 - 1250 W F
Intro to Algs & Models of CompAYH65096OD01300 - 1350 W F
Intro to Algs & Models of CompAYJ65097OD01000 - 1050 W F
Intro to Algs & Models of CompAYK65098OD01100 - 1150 W F
Intro to Algs & Models of CompBL167005OLC41400 - 1515 T R    Nickvash Kani
Yi Lu
Intro to Algs & Models of CompBYA67949OD00900 - 0950 W F
Intro to Algs & Models of CompBYB67951OD01200 - 1250 W F
Intro to Algs & Models of CompBYC67953OD01300 - 1350 W F
Intro to Algs & Models of CompBYD67955OD01000 - 1050 W F
Intro to Algs & Models of CompBYE67957OD01400 - 1450 W F
Intro to Algs & Models of CompBYF67959OD01700 - 1750 W F