Students admitted into a program who do not have prior demonstrated academic and/or work experience in areas such as programming, discrete math and data structures, operating systems, and computer architecture and organization, may be advised to start their program with up to 6 additional credits of preparatory coursework before they progress into the required 30 credits of core and elective coursework for their selected program.
Data Structures and Algorithms – 3 Credits
This course covers run-time analysis (big-O analysis), common data structures (Arrays, Lists, Trees, Graphs, Hash Tables, Heaps), recursion, sorting algorithms, divide and conquer algorithms, greedy algorithms, dynamic programming, and computational complexity (P, NP).
Computer Organization & Operating System Design – 3 Credits
This course covers computer organization topics such as CPU and pipeline architecture, data representation and memory hierarchies, assembly language and instruction sets. Operating system concepts include system calls, processes, threads, synchronization, memory management, Input-output, traps, and file systems.