Introduces theoretical and practical treatment of abstract data types and data structures including lists, strings, stacks, queues, search trees and hash tables. Object oriented programming methodology and Java classes are used to implement ADT. Software life cycle is studied. Formal topics include introduction to theory of computation including parsing context-free grammars, Finite State Machines, expression evaluation and notation, program analysis and verification.
Prerequisite: EGR 1210
3 class/3 lab hours = 4 credits