Computer Science and EngineeringCSE 101 Algorithms and Abstract Data Types

Studies basic algorithms and their relationships to common abstract data types. Covers the notions of abstract data types and the distinction between an abstract data type and an implementation of that data type. The complexity analysis of common algorithms using asymptotic (big O) notation is emphasized. Topics include sorting and searching techniques, basic graph algorithms, and algorithm design techniques. Abstract data types covered include priority queues, dictionaries, disjoint sets, heaps, balanced trees, and hashing. Familiarity with C, Java, and Unix is assumed. (Formerly Computer Science 101.)


Prerequisite(s): CSE 13E or CSE 13S; and CSE 16; and CSE 30; and MATH 11B or MATH 19B or MATH 20B or AM 11B; Students may enroll in CSE 101 without having completed CSE 30 and CSE 13S or CSE 13E if they complete CSE 15 and CSE 15L (formerly CMPS 12B/M) by Fall 2019; and CSE 16; and MATH 11B or MATH 19B or MATH 20B or AM 11B; and one course from the following: MATH 21, MATH 22, MATH 23A, AM 10, or STAT 131.



Quarter offered

Fall, Winter, Spring, Summer


The Staff, Patrick Tantalo, Manfred Warmuth, Allen Van Gelder, David Helmbold, Seshadhri Comandur