Department of Computer Science and Information Systems

CSCI Courses

CSIS courses CSCI courses CIS courses INFO courses

Upper-division Courses

CSCI 3710: Introduction to Discrete Structures.

Basic set theory, including functions and relations. Boolean algebra, propositional logic, regular expressions, and finite automata.
Prereq: CSIS 2610 and MATH 1571.
3 s.h.

CSCI 3750: Advanced UNIX and C Programming.

Use of UNIX programming environment and associated tools and utilities. Command language programming. Systems programming with ANSI C. May include UNIX internals and system administration.
Prereq: CSIS 3700.
3 s.h.

CSCI 3770: Survey of Programming Languages.

Survey of several programming languages. May include Ada, Modula-2, C, Lisp, and SNOBOL.
Prereq: CSIS 3701.
3 s.h.

CSCI 3780: Microcomputer System Software.

Programming microprocessor based systems using assembly language. Study of addressing techniques, machine language, program segmentation, and linking on microcomputers.
Prereq: CSIS 3700.
3 s.h.

CSCI 4805: System Programming.

Topics selected from aspects of systems programming, including assemblers, loaders, linkage editors, macro processors, and file management.
Prereq: CSIS 3700 and 3740.
3 s.h.

CSCI 4830: Advanced Computer Graphics.

A thorough investigation of graphics algorithms. Topics include hidden surface removal, parametric curves, lighting, shading, and texturing. Implementation of a graphics project required.
Prereq: CSIS 3730 and MATH 3720.
3 s.h.

CSCI 4890: Computer Projects.

Individualized study of a topic in computer science culminating in a written report and an oral presentation. May be repeated up to 8 s.h.
Prereq: 24 s.h. of computer science (including at least 3 s.h. of upper-division CSCI courses) applicable to the minimum requirements of a computer science major, and formal project proposal.
2-4 s.h.

CSCI 5801: Software Engineering.

Developing and maintaining complex software systems. Process and life-cycle models, and tools for software development (such as CASE). Specification methods, prototyping, validation and verification strategies, and version maintenance. Management of the system development process. A group project is required.
Prereq: CSIS 3701.
3 s.h.

CSCI 5806: Operating Systems.

Study of the various components of operating systems including kernels and monitors, currency and parallel processing, processor management, storage management, device management, I/O processing and file management.
Prereq: CSIS 3700 and 3740.
3 s.h.

CSCI 5807: Compiler Design.

Study of compiler design and construction, including context-free languages, lexical analysis, parsing, code generation and optimization.
Prereq: CSIS 3700 and 3740, CSCI 3710.
3 s.h.

CSCI 5814: Computer Architecture.

Study of high-performance sequential computer architecture. Topics include performance evaluation, instruction set design, processor implementation techniques, pipelining, vector processing, memory hierarchy design, and parallel architecture.
Prereq: CSIS 3700 and 3740.
3 s.h.

CSCI 5820: Simulation.

Methods for modeling discrete event systems by algorithmic approaches using simulation languages.
Prereq: CSIS 3700 and STAT 3743.
3 s.h.

CSCI 5822: Database Design and Information Retrieval.

Study of physical database storage, relational and object data modeling, logical database design (normalization process), and structural query languages.
Prereq: CSIS 3700 and CSCI 3710.
3 s.h.

CSCI 5823: Communication Networks.

Study of network structures and topologies, international standards, models, communication media and protocols, hardware and software.
Prereq: CSIS 3700 and either CSIS 3723 or 3740.
3 s.h.

CSCI 5835: Artificial Intelligence.

Study of the theory and applications of intelligent systems. Topics may include general problem-solving techniques, knowledge representation and expert systems, vision and perception, and natural language processing. AI systems and languages.
Prereq: CSIS 3700and CSCI 3710.
3 s.h.

CSCI 5840. Theory of Finite Automata.

The structural and behavioral aspects of finite automata.
Prereq: CSCI 3710 and MATH 3720.
3 s.h.

CSCI 5857. Encoding and Encryption.

Securing computer and information systems through encoding and/or encryption. Private and public cryptographic methods, digital certificates and signatures, cryptovariable techniques, key management, and database security issues.
Prereq: CSIS 2605 or CSIS 2610; MATH 1552 or 1570 or 1571 or Math Placement Test of 40 or higher; at least 3 s.h. of upper-division departmental courses.
3 s.h.

CSCI 5860: Programming Language Structures.

Systematic approach to the study of the structures of programming languages. Formal descriptions, syntax, semantics and technical characteristics.
Prereq: CSIS 3701 and CSCI 3710.
3 s.h.

CSCI 5870: Data Structures and Algorithms.

Study and application of analysis and design techniques to nonnumerical algorithms. Topics selected from algorithms acting on sets, trees, graphs; memory management; notions of complexity and related areas.
Prereq: CSIS 3700 and CSCI 3710.
3 s.h.

CSCI 5881: Microcomputer System Architecture.

State-of-the-art course on microcomputer architecture. Topics include introduction to microcomputer systems, 16 and 32 bit microprocessors, direct memory access and other I/O transfer schemes, architecture of I/O processors, introduction to computer communications.
Prereq: CSIS 3740 and CSCI 3780.
3 s.h.

CSCI 5895: Special Topics.

A study of special topics in computer science. Subject matter and credit hours will be announced in advance. May be repeated multiple times if topic is different.
Prereq: At least 3 s.h. of upper-division departmental courses, and permission of chair.
2-4 s.h.