Prerequisite(s): CSIT 505 and CSIT 504 and Permission from Graduate Program Coordinator. This course will teach the creation and manipulation of in-memory data structures including lists, queues, trees, stacks, heaps, hash tables, graphs, search trees, etc. It will cover searching, sorting and other algorithms for in-memory data structures. Data structures related to external data storage and retrieval will also be covered. It will also cover the design, implementation, and analysis of algorithms. The programming language to be used is Python.