ECE 374

ECE 374 - Intro to Algs & Models of Comp

Spring 2026

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Intro to Algs & Models of CompCS374AL165088LEC41100 - 1215 T R  THEAT Lincoln Hall Ruta Mehta
Emily Kyle Fox
Intro to Algs & Models of CompCS374AYA65089DIS01100 - 1150 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompCS374AYB65090DIS01200 - 1250 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompCS374AYC65091DIS01300 - 1350 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompCS374AYD65092DIS01400 - 1450 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompCS374AYE65093DIS01500 - 1550 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompCS374AYF65094DIS01600 - 1650 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompCS374AYG65095DIS01300 - 1350 W F  4101 Materials Science & Eng Bld 
Intro to Algs & Models of CompCS374AYH65096DIS01400 - 1450 W F  4101 Materials Science & Eng Bld 
Intro to Algs & Models of CompCS374AYJ65097DIS00900 - 0950 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompCS374AYK65098DIS01000 - 1050 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompCS374AYL65835DIS01500 - 1550 W F  4101 Materials Science & Eng Bld 
Intro to Algs & Models of CompCS374BL167005LEC41230 - 1345 T R  3039 Campus Instructional Facility Abhishek K. Umrawal
Daniel Alabi
Intro to Algs & Models of CompCS374BYB67951DIS01100 - 1150 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompCS374BYC67953DIS01200 - 1250 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompCS374BYD67957DIS01300 - 1350 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompCS374BYE67949DIS01400 - 1450 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompCS374BYF67955DIS01500 - 1550 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompCS374CSP67963PKG41400 - 1515 F    Abhishek K. Umrawal
Intro to Algs & Models of CompCS374CSP67963PKG4 -    Abhishek K. Umrawal
Intro to Algs & Models of CompECE374AL165099LEC41100 - 1215 T R  THEAT Lincoln Hall Ruta Mehta
Emily Kyle Fox
Intro to Algs & Models of CompECE374AYA65100DIS01100 - 1150 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompECE374AYB65101DIS01200 - 1250 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompECE374AYC65102DIS01300 - 1350 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompECE374AYD65103DIS01400 - 1450 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompECE374AYE65104DIS01500 - 1550 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompECE374AYF65105DIS01600 - 1650 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompECE374AYG65106DIS01300 - 1350 W F  4101 Materials Science & Eng Bld 
Intro to Algs & Models of CompECE374AYH65107DIS01400 - 1450 W F  4101 Materials Science & Eng Bld 
Intro to Algs & Models of CompECE374AYJ65108DIS00900 - 0950 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompECE374AYK65109DIS01000 - 1050 W F  1304 Siebel Center for Comp Sci 
Intro to Algs & Models of CompECE374AYL65836DIS01500 - 1550 W F  4101 Materials Science & Eng Bld 
Intro to Algs & Models of CompECE374BL167006LEC41230 - 1345 T R  3039 Campus Instructional Facility Abhishek K. Umrawal
Daniel Alabi
Intro to Algs & Models of CompECE374BYB67952DIS01100 - 1150 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompECE374BYC67954DIS01200 - 1250 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompECE374BYD67958DIS01300 - 1350 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompECE374BYE67950DIS01400 - 1450 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompECE374BYF67956DIS01500 - 1550 W F  2015 Electrical & Computer Eng Bldg 
Intro to Algs & Models of CompECE374CSP67962PKG41400 - 1515 F    Abhishek K. Umrawal
Intro to Algs & Models of CompECE374CSP67962PKG4 -   Illini Center Abhishek K. Umrawal
Intro to Algs & Models of CompECE374PRO75410LEC0 -    
Intro to Algs & Models of CompECE374ZJ175253LCD4 -    Nickvash Kani

Official Description

Course Information: Same as CS 374. See CS 374.

Website

Changes depending on instructor.

Goals

CS/ECE 374 covers fundamental tools and techniques from theoretical computer science, including design and analysis of algorithms, formal languages and automata, computability, and complexity.

Topics

Specific topics include regular and context-free languages, finite-state automata, recursive algorithms (including divide and conquer, backtracking, dynamic programming, and greedy algorithms), fundamental graph algorithms (including depth- and breadth-first search, topological sorting, minimum spanning trees, and shortest paths), undecidability, and NP-completeness. The course also has a strong focus on clear technical communication.

Detailed Description and Outline

A detailed outline can be found here: https://ecealgo.com/lectures.html

Computer Usage

N/A

Reports

N/A

Lab Projects

N/A

Lab Equipment

N/A

Lab Software

N/A

Topical Prerequisites

CS 173 (discrete mathematics, especially induction) and CS 225 (basic algorithms and data structures)

Texts

No required textbooks.

Required, Elective, or Selected Elective

Required

Course Goals

This course aims to leave students with a understanding of the three major computer science topics covered in this course:

  1. computational complexity - we want students to understand the four main complexity categories of languages (regular/context-free/context-sensitive/recursively-enumerable) and understand the automata theory associated with each of the language complexity classes.
  2. basic algorithmic techniques - we want students to understand basics of recursive/dynamic-programming and graphing algorithms.
  3. reductions - students should be able to use simple reductions to prove if a problem is (un)decidable and/or in P/NP/NP-hard.

Different from courses which either cover algorithms or computational complexity separately, this course focuses on building the theoretical underpinnings of computation by discussing automata theory, then discussing how to make computation more efficient by discussing basic algorithms and finally ending on how to use reductions to argue the difficulty of problems in relation to known historical problems.

Instructional Objectives

After completing the course, students should:

  • Understand how to formalize computation problems as languages (1,3)
  • Be able to describe regular langauges. Specifically they need to understand what makes a language regular (Kleene's theorem) and construct a corresponding regular expression that describes that language and explain why this regular expression is correct (1,3,6,7)
  • Formulate simple automata and describe regular languages as deterministic finite automata. This is especially try in language transformations where students will need to describe a process that changes any arbitrary regular language to a newly defined regular language. (1,6,7)
  • Need to have a conceptual understanding of non-determinism and how it relates to computational complexity and automata theory. Students need to understand that in some cases, non-determinism makes a machine better able to understand a larger variety of problems while in other cases it does not.(1,6,7)
  • Need to be able to formulate and describe standard recursive algorithms. This course emphasizes binary search types problems but the principles are applicable to a number of well-known recursive problems (e.g Towers of Hanoi) in homework. (1,2,3,6)
  • Need to be able to formulate and describe divide and conquer type problems. This course places a unique emphasis on the deterministic time selection problem. (2,3,6)
  • Formulate and describe dynamic programming problems. In particular we emphasize constructing the recurrence, describing the computation direction before finally do a running time analysis. The emphasis on describing dynamic programming according to recurrences is unique to this course. (1,2,3,6,7)
  • Use graphing algorithms to solve problems. In particular, we discuss how to construct problems as graphs that can be solved using known graphing algorithms. (2,3,6)
  • Understand how to combine algorithmic principles through our discussion of Bellman-Ford and Floyd-Warshall algorithms (which combine dynamic programming and graphing problems) (2,3,6,7)
  • Understanding the difference between depth-first and breadth-first search, when one is more preferable than the other, how to formulate and switch between the two, and how to apply each to various problems. (2,6)
  • How to use reductions to describe the algorithmic complexity of various problems. In particular, we emphasize gadget-type reductions and reductions to/from SAT. (1,2,7)
  • How to use reductions to determine if a problem is decidable. This section to more to familiarize students with reduction proofs. (1,2,7)

Last updated

7/7/2025by Nickvash Kani