Catalog 2022-2023

CSC - Computer Science

CSC 101 The Science of Computing I

An introduction to computing. Topics include problem solving, algorithm analysis and development, computer programming in Python, data structures, computer organization and architecture, and the object-oriented paradigm.
Credit Hours: 4

CSC 102 The Science of Computing II

More in-depth coverage of computing. Topics include problem solving, algorithm analysis and development, object-oriented programming in Python, high-level data structures, computer organization and architecture, and various applications of computing.
Credit Hours: 4

Prerequisites

CSC 101 The Science of Computing I (with a grade of "C" or better)

CSC 201 Data Structures and Algorithm Analysis

The storage and manipulation of basic data structures such as arrays, linked lists, stacks, queues, trees, hash tables, and graphs. Emphasis is placed on practical applications of these data structures.
Credit Hours: 4

Prerequisites

CSC 102 The Science of Computing II (with a grade of "C" or better)

CSC 210 Computer Organization and Architecture

Architecture and organization of computer systems. Computer organization topics include data representation, digital logic, Boolean algebra, minimization techniques. Computer architecture topics include the CPU, instruction set architectures, memory hierarchy and management, input/output systems, alternative architectures, performance measurement and analysis.
Credit Hours: 4

Prerequisites

CSC 102 The Science of Computing II (with a grade of "C" or better)

CSC 220 Operating Systems and Systems Programming

An introduction to systems programming (in the context of Linux and C/C++) and operating systems. Topics include include linking, writing scripts, performing system calls, managing memory, and using concurrency; process management, storage management, device management, performance, and security.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 230 Software Design and Engineering

Design, construction, and maintenance of large software systems. Project planning, requirements analysis, software design methodologies, software implementation and testing, maintenance.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 301 Advanced Data Structures and Algorithms

Advanced data structures and algorithm design and analysis. Topics include analysis techniques, advanced searching and sorting, advanced data structures (e.g., specialized trees, graphs), algorithm design techniques, and NP-completeness.
Credit Hours: 4

Prerequisites

CSC 230 Software Design and Engineering (with a grade of "C" or better)

CSC 310 Ethics and Impact of Computing

An examination of the ethical, social, and legal implications of computers, computing, communications, and other digital technologies. Emphasis is placed on writing and professional presentations (including debates). This course includes a significant amount of writing through several standalone essays and a major paper that is developed in an iterative process with frequent feedback.
Credit Hours: 4
(W)

Prerequisites

CSC 230 Software Design and Engineering (with a grade of "C" or better)

CSC 320 Theory of Computation

An overview of formal languages, the abstract models of computing capable of recognizing those languages, and the grammars used to generate them.
Credit Hours: 4

Prerequisites

CSC 301 Advanced Data Structures and Algorithms and MAT 270 Discrete Mathematics for Computer Science (with grades of "C" or better)

CSC 330 Introduction to Computer Network Security

Overview of cyber security. Provides students with practical cyber security experience based on theoretical foundations. Topics include: cryptography, computer network defense, covert channels, reverse engineering, steganography, access control, web site exploitation, and other relevant and current topics in security.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 340 Database Management Systems

The theory, design, and implementation of relational database management systems. Topics include effective storage, security, and applied applications of legacy storage. Emphasis on the practical steps towards the creation of effective database management systems and the implementation of a simple database.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 350 Web Programming and Development

A comprehensive overview of Website development. Includes both server- and client-side installation, configuration, and programming; database integration; and an overview of security implications and considerations.
Credit Hours: 4

Prerequisites

CSC 230 Software Design and Engineering (with a grade of "C" or better)

CSC 401 Senior Capstone I

This course allows students to integrate what they have learned throughout the curriculum in an applied, real world setting. Students work in teams on a major project, applying software engineering principles along the way. The course also emphasizes professional presentations and technical reports at various points in the project. This is the first half of the senior capstone experience, where teams will begin their work on a major project.
Credit Hours: 2

Prerequisites

Senior status and CSC 301 Advanced Data Structures and Algorithms (with a grade of "C" or better)

CSC 402 Senior Capstone II

This course allows students to integrate what they have learned throughout the curriculum in an applied, real world setting. Students work in teams on a major project, applying software engineering principles along the way. The course also emphasizes professional presentations and technical reports at various points in the project. This is the second half of the senior capstone experience, where teams will finish their work on a major project and present their results.
Credit Hours: 2

Prerequisites

CSC 401 Senior Capstone I (with a grade of "C" or better)

CSC 410 Artificial Intelligence and Machine Learning

An overview of AI, including history, impact, implications, and the potential of artificial intelligence. Machine learning: perceptrons, multi-layer networks, and deep learning. Classical AI: game playing and search, propositional logic, first order logic, inference. Knowledge representation.
Credit Hours: 4

Prerequisites

CSC 301 Advanced Data Structures and Algorithms (with a grade of "C" or better)

CSC 420 Programming Languages and Compilers

Techniques for specifying the syntax and semantics of programming languages, including language concepts, execution environments, comparative analysis of programming languages. Principles of compiler design, including lexical analysis, syntax analysis, error detection and recovery.
Credit Hours: 4

Prerequisites

CSC 301 Advanced Data Structures and Algorithms (with a grade of "C" or better)

CSC 450 Independent Study in Computer Science

Independent project developed under the guidance of a Computer Science faculty member. Students can apply by consulting with and submitting a project proposal to a Computer Science faculty member for 1-4 credits.
Credit Hours: 1-4

Prerequisites

Junior status, minimum GPA of 3.0, and consent of instructor

CSC 499 Special Topics in Computer Science

A special topics course that allows faculty members to explore topics in computer science. May be repeated for additional credit, with a maximum of 8 credits total.
Credit Hours: 4

Prerequisites

Consent of instructor