Computer Science

Faculty

Chair: William R. Wade, Ph.D.
Professor: McCarty, Wade
Associate Professor: Lin

Courses

Computer Science (CSCI)

CSCI 103 - Computer ApplicationsCredit 1

Introduction to computer applications using programs such as Word, Excel, or PowerPoint. Note(s): May be taken multiple times for credit with a different topic. May not be counted toward the major. Does not count toward General Education.
Grade Mode: A.
Restrictions: Must be Undergraduate Level.

CSCI 104 - The Nature of ComputingCredits 2

The history of computing machines. Computer logic and binary arithmetic. Elementary concepts of computers. Elementary programming. Societal impact of computers. Note(s): Approved for General Education Math credit. May not be counted toward the major.
Grade Mode: A.
Restrictions: Must be Undergraduate Level.

CSCI 105 - Introduction to Computer ScienceCredits 3

Introduction to computer hardware and software. Problem solving methods. Elementary concepts of algorithm development. C++ programming.
Lecture/Lab Hours: Three hours lecture, one hour lab.
Grade Mode: A.
Restrictions: Must be Undergraduate Level.

CSCI 106 - Data StructuresCredits 3

Linear lists, strings, arrays and orthogonal lists; graphs, trees, binary trees, multi-linked structures, searching and sorting techniques, dynamic storage allocation; applications.
Grade Mode: A.
Prerequisites: CSCI 105.
Restrictions: Must be Undergraduate Level.

CSCI 220 - Computer Organization and Assembly Language ProgrammingCredits 3

Fundamentals of digital logic and the architecture of modern computer systems, machine level representation of data, memory system organization, structure of machine languages, assembly language programming.
Grade Mode: A.
Prerequisites: CSCI 105.
Restrictions: Must be Undergraduate Level.

CSCI 230 - Programming LanguagesCredits 3

Organization and structure of programming languages. Runtime behavior and requirements of programs. Introduction to programming language specifications and analysis. Study of various alternative languages such as Java, C++ and Python.
Grade Mode: A.
Prerequisites: CSCI 106.
Restrictions: Must be Undergraduate Level.

CSCI 311 - Operating SystemsCredits 3

Computer operating systems; topics include time sharing, process communication, memory management, storage allocation, interrelationships between the operating system and the architecture of computer systems.
When Offered: Fall.
Grade Mode: A.
Prerequisites: CSCI 106 and CSCI 220.
Restrictions: Must be Undergraduate Level.

CSCI 335 - User Interface Design and ProgrammingCredits 3

User interface design, implementation, and evaluation; event-driven programming in GUI applications and web applications; user-centered design methodologies.
When Offered: Alternate years.
Grade Mode: A.
Prerequisites: CSCI 106.
Restrictions: Must be Undergraduate Level.

CSCI 400 - Theory of AlgorithmsCredits 3

Various types of algorithms, analytic techniques for the determination of algorithmic efficiency, NP-complete problems, complexity hierarchies, and intractable problems.
When Offered: Alternate years.
Grade Mode: A.
Prerequisites: CSCI 106; MATH 112 or MATH 204.
Restrictions: Must be Undergraduate Level.

CSCI 402 - Database ManagementCredits 3

Integrated database systems, logical organization, data description language (DDL), data manipulation language (DML), of hierarchical networks and relational databases, overview of selected database management systems (DBMS).
When Offered: Alternate years.
Grade Mode: A.
Prerequisites: CSCI 230.
Restrictions: Must be Undergraduate Level.

CSCI 430 - Computer CommunicationsCredits 3

Concepts of computer communications, local area networks, seven layers of communication protocols, global networks.
When Offered: Spring.
Grade Mode: A.
Prerequisites: CSCI 311.
Restrictions: Must be Undergraduate Level.

CSCI 440 - Topics in Computer ScienceCredits 3

Topics are selected from the following:
Compiler Theory: The theory of languages and their implementation.
Systems Programming: Design and implementation of language translators and system utilities.
Theory of Computation: Concepts from theoretical computer science, finite state concepts, decidability, computability, and Turing machines.
Computer Graphics: Computer interactive graphics, software structures, screen display, and graphical techniques.
Artificial Intelligence: Concepts and techniques of artificial intelligence, representation, search strategies, control, communication and perception, and applications. Note(s): Course may be taken multiple times for credit with different content.
Grade Mode: A.
Prerequisites: CSCI 106.
Restrictions: Must be Undergraduate Level.

CSCI 450 - Software EngineeringCredits 3

Concepts, principles, techniques, and documents of software engineering. Emphasis on systematic approaches to software engineering and the software life cycle. Team project required.
Grade Mode: A.
Prerequisites: CSCI 230, CSCI 311, and CSCI 430.
Restrictions: Must be Undergraduate Level.

CSCI 480 - Research SeminarCredits 1-3

Special studies in computer science.
Grade Mode: A.
Restrictions: Must be Senior Class; and must be Undergraduate Level.