Computer Science

Faculty

Chair: Jason Wilson, Ph.D.
Professor: Lin, Wong
Associate Professor: Lew

Courses

Computer Science (CSCI)

CSCI 103 - Computer Applications Credit 1

Introduction to computer applications using programs such as Word, Excel, or PowerPoint. Notes: May be taken multiple times for credit with a different topic. May not be counted toward the major. May not be counted towards Core Curriculum requirements. Grade Mode: A.
Restrictions: Must be Undergraduate Level.

CSCI 104 - The Nature of Computing Credits 3

Fundamental concepts of computers and programming, focusing on the algorithmic aspect of quantitative reasoning in computer programming. Basic programming skills for writing small programs to accomplish useful tasks for modeling, information processing, and problem solving. No prior programming experiences are assumed. Notes: Approved for Core Curriculum Math credit. May not be counted toward the major. Grade Mode: A.
Restrictions: Must be Undergraduate Level.

CSCI 105 - Introduction to Computer Science Credits 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 Structures Credits 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 Programming Credits 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 Languages Credits 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 305 - Programming for Data Science I Credits 3

Fundamental programming skills for data science applications using a major programming language such as Python or R in the field. Data analysis and information retrieval through data selection, iterative processing, function composition, abstraction, and visualization. Notes: Course may be taken twice for credit if different programming languages are used. Grade Mode: A.
Prerequisites: CSCI 105 or PHSC 311.
Restrictions: Must be Undergraduate Level.

CSCI 306 - Programming for Data Science II Credits 3

Advanced programming skills for data science applications using a major programming language such as Python or R in the field. Machine learning and advanced data-science applications. Notes: Course may be taken twice for credit if different programming languages are used. Grade Mode: A.
Prerequisites: CSCI 305.
Restrictions: Must be Undergraduate Level.

CSCI 311 - Operating Systems Credits 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. Notes: Offered in Fall. Grade Mode: A.
Prerequisites: CSCI 106 and CSCI 220.
Restrictions: Must be Undergraduate Level.

CSCI 335 - User Interface Design and Programming Credits 3

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

CSCI 400 - Theory of Algorithms Credits 3

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

CSCI 402 - Database Management Credits 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). Notes: Offered in alternate years. Grade Mode: A.
Prerequisites: CSCI 230.
Restrictions: Must be Undergraduate Level.

CSCI 430 - Computer Communications Credits 3

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

CSCI 440 - Topics in Computer Science Credits 3

Topics are selected from the following:
Compilers and Languages: Development of key compiler components based on the theory of automata and formal languages.
Systems Programming: Development of utilities and shell scripts for Unix system administration.
Theory of Computation: Computational models for algorithmic design, complexity analysis, and problem solving in selected domains.
Computer Graphics: Design and implementation of 3D computer interactive graphics.
Artificial Intelligence: Computational frameworks for knowledge representation, automatic reasoning, probabilistic modeling, and machine learning.
Information Security: Concepts and techniques about cybersecurity and its implementation. Notes: Course may be taken multiple times for credit with different content. Grade Mode: A.
Prerequisites: CSCI 230.
Restrictions: Must be Undergraduate Level.

CSCI 450 - Software Engineering Credits 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 Seminar Credits 1-3

Special studies in computer science. May involve participation in a Research Experience for Undergraduates (REU) or an internship in the industry if approved by the Department. Grade Mode: A.
Restrictions: Must be Senior Class; and must be Undergraduate Level.