CS 374
CS 374 - Intro to Algs & Models of Comp
Summer 2024
Title | Rubric | Section | CRN | Type | Hours | Times | Days | Location | Instructor |
---|---|---|---|---|---|---|---|---|---|
Intro to Algs & Models of Comp | CS374 | AL1 | 42186 | PKG | 4 | 1230 - 1330 | F | 2015 Electrical & Computer Eng Bldg | Nickvash Kani Abhishek K. Umrawal |
Intro to Algs & Models of Comp | CS374 | AL1 | 42186 | PKG | 4 | 1000 - 1120 | MTWR | 2015 Electrical & Computer Eng Bldg | Nickvash Kani Abhishek K. Umrawal |
Intro to Algs & Models of Comp | CS374 | OL1 | 42237 | PKG | 4 | 1000 - 1120 | MTWR | Nickvash Kani Abhishek K. Umrawal | |
Intro to Algs & Models of Comp | CS374 | OL1 | 42237 | PKG | 4 | 1230 - 1330 | F | Nickvash Kani Abhishek K. Umrawal | |
Intro to Algs & Models of Comp | ECE374 | AL1 | 42187 | PKG | 4 | 1230 - 1330 | F | 2015 Electrical & Computer Eng Bldg | Nickvash Kani Abhishek K. Umrawal |
Intro to Algs & Models of Comp | ECE374 | AL1 | 42187 | PKG | 4 | 1000 - 1120 | MTWR | 2015 Electrical & Computer Eng Bldg | Nickvash Kani Abhishek K. Umrawal |
Intro to Algs & Models of Comp | ECE374 | OL1 | 42238 | PKG | 4 | 1000 - 1120 | MTWR | Nickvash Kani Abhishek K. Umrawal | |
Intro to Algs & Models of Comp | ECE374 | OL1 | 42238 | PKG | 4 | 1230 - 1330 | F | Nickvash Kani Abhishek K. Umrawal |
See full schedule from Course Explorer
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.
Course Director
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
Last updated
3/26/2019by Elsa Gunter