MSCS Online Preparatory Program

For students with BS degrees in fields other than Computer Science or Computer Engineering, we offer a preparatory program consisting of four online courses in computer science fundamentals. This preparatory program is fully online and may be completed within one year.

The preparatory program prepares you to meet the following minimum requirements which serve as a stepping stone to study computer science at the graduate level, including:

  • 2 semesters of programming
  • 1 semester of data structures and algorithms
  • 1 semester of computer systems (architecture and operating systems)

However, even after meeting these requirements, students without a BS in computer science will still face the challenge of making up, on their own, certain undergraduate material when taking specific graduate courses.

CIS 115 Computer Programming with C

Algorithm development, syntax and semantics of a high level programming language, debugging and verification of programs, concepts of structured programming, arrays, subroutines, and elementary system concepts (compilation, time-sharing). Topics covered in the course include C Compilers and Standards, Variables and Assignments, Branches (if, if-else, switch statements), input/output (read from user, print to user, read from/write to file, loops (for, while, do-while), recursion, arrays and pointers.  

September 6, 2017 - October 25, 2017. Registration for  CIS 115: Computer Program With C 

CIS 183 Object-Oriented Programming with Java

Basic concepts in programming and software development using the Java programming language. The course introduces concepts of object oriented paradigm and low-level program design process. The course introduces variables, decision structures, loops, storage structures, exceptions, inheritance, and polymorphism. 

October 26, 2017 - December 14, 2017. Registration for CIS 183: Obj-Oriented Program with Java

CIS 322 Data Structures and Fundamental Algorithms

To be offered in Spring 2018

Introduction to data structures and fundamental algorithms. This course covers the design and implementation of dynamic data structures including linked list, queue, stack, heap, trees and graphs. This course also provides comprehensive coverage of fundamental groups of algorithms, including divide-and-conquer, dynamic programming, and greedy algorithms.

CIS 323 Fundamentals of Computer Systems

To be offered in Spring 2018

Introduction to major components of computer systems. The course introduces fundamental concepts of computing systems, such as circuit design, Boolean equations, binary arithmetic and data representation, the operation of memory, as well as design of a processor. This course also covers the use of VHDL in designing circuits. The course has a design, implementation, and analytical components.