CPSC 1302. Computer Science 2 (3-0-3) Prerequisite: CPSC 1301 with grade of "C" or better. A continuation of CPSC 1301. This course emphasizes programming using object-oriented methods. The fundamentals used in designing, developing and using classes, encapsulation, inheritance mechanisms, polymorphism and dynamic binding.
CPSC 2105. Computer Organization (3-0-3) Prerequisite: CPSC 1301 with grade of "C" or better. Overview of basic computer organization. Representation of data in computers. Introduction of Boolean Algebra and logic gates used to implement Boolean functions. Introduction to flip-flops and sequential logic. Methods to reduce the complexity of Boolean functions-algebraic and K-Maps. Overview of computer arithmetic. Instruction set architecture of a sample computer. Interaction of the machine and computer languages including discussion of the compilation, assembly, and loading process.
CPSC 2106. Information Security (3-0-3) Prerequisite: CPSC 1301 or permission of instructor. This course introduces the main hardware and software components of a modern computer system, investigates the vulnerabilities and threats associated with each component, and suggests prudent measures to defend against these threats.
CPSC 2108. Data Structures (3-0-3) Prerequisite: CPSC 1302 with a grade of "C" or better. This course extends the concepts of primitive data types by teaching the student a set of data structures that pervades both the theoretical and practical domains of computer science.
MATH 2125. Introduction to Discrete Mathematics (3-0-3) Prerequisite: MATH 1113 or MATH 1131 with a grade of "C" or better or a satisfactory math placement score. Topics include logic and proof, sets, functions, algorithms, the integers, matrices, mathematical reasoning, induction, recursion, counting, discrete probability, relations, graphs, trees, and Boolean algebra. (Course fee required.)