==> Data_Structures : Design, usage and analysis of data structures: review of lists, stacks and queues; hash tables, priority queues, search trees, introduction to graphs; searching and sorting; runtime analysis; programming projects and lab exercises.
==> Machine_Organization : Data representation and computer arithmetic; machine language; addressing; memory hierarchy; subroutines; data structures; processor architecture: hardwdare components, pipelining.
==> Program_Design-II : Data abstraction and modular design; recursion; lists and stacks; dynamic memory allocation; file manipulation; programming exercises.
==> Computer_Design : Computer hardware building blocks. logic gates; combinational circuits; arithmetic circuits; flip flops and sequential circuits; registers and memory; CPU design; I/O design.
Reference : http://catalog.uic.edu/ucat/course-descriptions/cs/