CPSC 1301. Computer Science 1 (3-0-3) Co-requisite: CPSC 1301L. This course includes an overview of computers and programming; problem solving and algorithm development; simple data types; arithmetic and logic operators; selection structures; repetition structures; text files; arrays (one-and-two-dimensional); procedural abstraction and software design; modular programming (including sub-programs or the equivalent).
CPSC 1301L. Computer Science 1 Lab (0-3-1) Corequisite: CPSC 1301. This course provides a hands-on experience for the students in the area of programming as a realization of the concepts presented in Computer Science 1. The students will complete programming projects using one or more program development environments. The lab projects will apply and reinforce the topics covered in Computer Science 1. (Course fee required.)
CPSC 1302. Computer Science 2 (3-0-3) Prerequisites: CPSC 1301 and CPSC 1301L with grades 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) Prerequisites: CPSC 1301 and CPSC 1301L with grades 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 1105, MISM 2115, 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. This course requires no programming, and assumes only an ability to use one or more of the Microsoft Office products.
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.)