School of Computer Science

Course Description

Definition of Prefixes

CAP-Computer Applications; CDA-Computer Design/Architecture; CIS-Computer Information Systems; CGS-Computer General Studies; COC-Computer Concepts; COP-Computer Programming; COT-Computing Theory.

CAP 4710 Principles of Computer Graphics (3). A first course in algorithms and techniques for computer image generation: display devices, geometric transformations and their matrix representations, coordinate systems, scan conservation, clipping, anti-aliasing, 3D view generation, color, hidden surface algorithms, ray tracing, advanced rendering techniques. Involves programming and the use of a standard graphics programming interface. Prerequisites: COP 3337 and MAC 2312.

CDA 4101 Structured Computer Organization (3). Covers the levels of organization in a computer: Design of memory, buses, ALU, CPU; design of microprogram. Covers virtual memory, I/O, multiple processes, CISC, RISC and parallel architectures. Prerequisites: MAD 2104, COP 3402 and COP 3337.

CEN 4010 Software Engineering I (3). (3). Software Process Model, software analysis and specification, software design, testing. Prerequisites: COP 3530.

CEN 4015 Software Design and Development Project (3). (3). Students design, implement, document, and test software systems working in faculty supervised project teams and utilizing knowledge obtained in previous courses. Required for Software Design and Development track. Prerequisites: CEN 4010.

CEN 4021 Software Engineering II (3). (3). Issues underlying the successful development of large-scale software projects; Software Architectures; Software Planning and Management; Team Structures; Cost Estimation. Prerequisites: CEN 4010.

CEN 4500 Data Communications (3). Study Computer network models and protocol layers. Topics include: error handling, frames, broadcast networks, channel allocation; network routing algorithms, internetworking, TCP/IP, and ATM protocols. Prerequisite: CDA 4101.

CGS 3092 Professional Ethics and Social Issues in Computer Science (1). Ethical, legal and social issues and the responsibility of computer professionals. Codes of conduct, risks and reliability, responsibility, liability, privacy, security and free speech issues. Prerequisites: COP 3337 or senior standing in Computer Science.

COP 2210 Computer Programming I (3). A first course in computer science that uses a structured programming language to study programming and problem solving on the computer. Includes the design, construction and analysis of programs. Corequisite: COP 2XXXL.

COP 2XXXL Computer Programming Laboratory I (3). Laboratory section of COP 2210. Exercises based on the COP 2210 lecture topics. Corequisite: COP 2210.

COP 3337 Computer Programming II (3). An intermediate level course in Object Oriented programming. Topics include primitive types, control structures, strings, arrays, objects and classes, data abstraction inheritance polymorphism and as introduction to data structures. Prerequisite: Course in programming, ex: Pascal, C, Ada or C++.

COP 3338 Computer Programming III (3). Advanced programming concepts including object-oriented programming. Topics include inheritance and polymorphism in the C++ programming language and programming in a pure object-oriented language such as Java. Prerequisite: COP 3337 and COP 3402.

COP 3402 Fundamentals of Computer Systems (3). Overview of the computer systems organization. Data representation. Machine and assembly language programming. Prerequisites: COP 2210 or equivalent.

COP 3530 Data Structures (3). Basic concepts of data organization, running time of a program, abstract types, data structures including linked lists, n-ary trees, sets and graphs, internal sorting. Prerequisites: MAD 2104 and COP 3337.

COP 4225 Advanced Unix Programming (3). Unix overview: files and directories, shell programming. Unix tools: sed, grep, and others. Unix internals: file systems, process structure. Using the system call interface. Interprocess communication. Prerequisite: COP 3338. Corequisite: COP 4610.

COP 4226 Advanced Windows Programming (3). Advanced Windows Programming topics including Object Linking and Embedding (OLE), Open Database Connectivity (ODBC), Memory Management Techniques, Dynamic Link Libraries, Multithreaded Programming and Client/Server Applications. Prerequisites: COP 3338.

COP 4540 Database Management (3). Logical aspects of databases. Topics include: Semantic Binary, Relational Network and Hierarchical Models, E-R Model, Database design; Fourth-generational languages; SQL; Physical database organization; Deductive or Rule - based databases. Corequisite: COP 3530.

COP 4555 Principles of Programming Languages (3). A comparative study of several programming languages and paradigms. Emphasis is given to design, evaluation and implementation. Programs are written in a few of the languages. Prerequisite: COP 3337.

COP 4610 Operating Systems Principles (3). Operating systems design principles and implementation techniques. Address spaces, system call interface, processes / threads, interprocess communication, deadlock, scheduling, memory, virtual memory, I/O, file systems. Prerequisites: CDA 4101 and COP 3338.

COP 5621 Compiler Construction (3). Basic techniques of compilation; scanning; grammers and LL and LR parsing, code generation; symbol table management; optimization. Prerequisites: MAD 3512 and CEN 4010.

COT 3420 Logic for Computer Science (3). An introduction to the logical concepts and computational aspects of propositional and predicate logic, as well as concepts and techniques underlying logic programming, in particular, the computer language Prolog. Prerequisites: COP 3337, and MAD 2104.

COT 5420 Theory of Computation I (3). Abstract models of computation; including finite automata, regular expressions, context-free grammers, pushdown automata, turing machines. Decidability and undeciability of computational problems. Prerequisite: MAD 3512.

Department of Mathematics

Course Description

MAC 2311 Calculus I (3). Introduction to derivatives, differentiation formulas, differentials, applications of the derivative; introduction to antiderivatives. Prerequisite: Trigonometry or MAC 2132, with a grade of C or better. (F,S,SS)

MAC 2312 Calculus II (5). Riemann sums, techniques of integration, applications of the integral, improper integrals, infinite series, Taylor series, polar and parametric functions. Prerequisite: MAC 2311, with a grade of C or better. (F,S,SS)

MAD 2104 Discrete Mathematics (3). Sets, functions, relations, permutations, and combinations, propositional logic, matrix algebra, graphs and trees, Boolean algebra, switching circuits. Prerequisites: COP 2210 or CGS 2420 and MAC 2311. (F,S,SS)

MAD 3305 Graph Theory (3). An introduction to the study of graphs. Topics include the following: paths and circuits, connectedness, trees, shortest paths, networks, planar graphs, the coloring of graphs, and directed graphs. Applications of graphs to computer science will be discussed. Prerequisites: COP 2210 or CGS 2420 and either MAS 3105 or MAD 2104. (F,S,SS)

MAD 3401 Numerical Analysis (3). Basic ideas and techniques of numerical analysis. Topics include: finite differences, interpolation, solution of equations, numerical integration and differentiation, applications, introduction to applied linear algebra. This course will make extensive laboratory use of the computer facility. Prerequisites: COP 2210 or CGS 2420 and MAC 2312. (F,S,SS)

MAD 3512 Theory of Algorithms (3). Strings, formal languages, finite state machines, Turing machines, primitive recursive and recursive functions, recursive unsolvability. Prerequisite: MAD 2104. Computer Science majors must also take COT 3420. (F,S,SS)

MAD 4203 Introduction to Combinatorics (3). A survey of the basic techniques of combinatorial mathematics. Topics will include the Pigeonhole Principle, Binomial Coefficients, Inclusion-Exclusion, Recurrence Relations, and Generating Functions. Prerequisites: MAC 2313 or both MAC 2312 and MAD 2104. (SS)

MHF 4302 Mathematical Logic (3). A study of formal logical systems and their applications to the foundations of mathematics. Topics to be selected from the following: definition of mathematical proofs; set theory; analysis formalized with the predicate calculus; theorem of Godel and Church; recursive function theory; and idealized computers. Prerequisite: MAA 3200 or MAD 3512. (S, alternate years)

Deparment of Statistics

Course Description

STA 3033 Introduction to Probability and Statistics for CS (3). Basic probability laws, probability distributions, basic sampling theory, point and interval estimation, tests of hypotheses, regression and correlation. Minitab will be used in the course. Prerequisite: MAC 2312. (F,S,SS)

Department of English

Course Description

ENC 3211 Report and Technical Writing (3). For business, professional, and scientific students needing practice in collecting, organizing, interpreting, and presenting factual material.