CSCI 241: Discrete Mathematics. 3 hours.
This course includes propositional logic, induction and recursion, number theory, set theory, relations and functions, graphs and trees, and permutations and combinations. Same as MATH 241. Prerequisite: Two years of high school Algebra.
CSCI 251: Introduction to Computer Science. 3 hours.
An introduction to various areas of computer science. A major component is programming design and development using a high level language such as C++ . A disciplined approach to problem solving methods and algorithm development will be stressed using top-down design and set wise refinement. Topics included are syntax and semantics, I/O, control structures, subroutines and modularity, data types and fundamental algorithms. Also discussed are the ethics of computing. Prerequisite: CSCI 241 is recommended.
CSCI 261: Data Structures. 3 hours.
It is recommended that students receive a "C" or better in these prerequisite courses to be successful in this course. This course provides an in-depth study of data structures, including arrays, records, stacks, queues, lists, trees, heaps, and hash tables. The study includes the definition, specification and implementation of these structures, as well as examples of their uses. Also included is an introduction to the internal representation of information. Prerequisite: CSCI 241, CSCI 251, and MATH 231.
CSCI 331: Operating Systems. 3 hours.
The concepts underlying operating systems are studied. Topics include file systems, COS scheduling, memory management, deadlocks, concurrent processes, and protection. Prerequisite: CSCI 261.
CSCI 361: Computer Organization. 3 hours.
A detailed study designed to teach the building blocks of a computer system and basic computer organization concepts. Subjects include hardware, machine code, assembly language, compilers, operating systems, and high-level languages, as well as digital logic, performance issues, and binary arithmetic. Prerequisite: CSCI 261.