Skip to content
/ cpe360 Public

CPE 360 - Computational Data Structures & Algorithms

Notifications You must be signed in to change notification settings

jli198/cpe360

Repository files navigation

CPE 360: Course Info - Spring 2022

Stevens Logo

FYI: code should compile but may not. THIS IS ONLY LECTURE MATERIAL so plz dont use for private assignments. code may not be up to standards, lecture notes

Mukund Iyengar
miyengar@stevens.edu
Office: Buchard 204
Hours: Monday 2.00 - 4.00 pm (or by appointment)

I. GETTING IN TOUCH

Email is probably the best form of communication. I do get a lot of emails, but I am reasonably prompt in replying to them all. Besides online communication, I will alos be happy to see you during or outside my office hours, just send an email! My office is in Howe, and my office hours are Monday, 2.00 pm - 4.00 pm.

II. GRADING POLICY

Grading is loosely comprised of homeworks (55%), midterms (40%), and class participation (5%). I use a +/- grading scheme.

III. SUBMISSIONS

Homeworks, take-homes, and projects are typically submitted online on Canvas. A portal for submissions will be made available at appropiate time.

IV. COURSE SYLLABUS

  • Analysis of Algorithms: Time complexity, Space (storage) complexity, Big-O, small-O, and theta notations
  • Solving problems using programming: Functions (modular programming), Object oriented programming (classes/objects), Recursion, Analyzing algorithms involving recursive forms using telescoping and substitution.
  • Simple (linear) Data Structures: Linked Lists, Doubly linked lists, Stacks (push, pop, display), and Queues (enqueue, dequeue, display).
  • Trees (non-linear data structures): Tree definitions and properties, Tree traversals (pre-, post-, in-order), Tree operations (insert, delete), Expression trees (Prefix, Infix, Postfix).
  • Binary Search Trees: Lookup, Insert, Delete and Traversals.
  • Priority Queues (PQ), PQ using linked lists, Heap as PQ
  • Advanced Data Structures (time permitting): Self balancing trees, including Red Black Trees (creation) and AVL Trees
  • Sorting: Bubble sort, Quick-sort, Mega-sort, Insertion-sort, and Heap-sort.
  • Hash Tables: Hashing functions, Lookup using Hash Tables, Separate chaining, Linear probing, and Quadratic probing.