CSC - Computer Science
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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