Computer Science (CSCI)
CSCI-COMP Senior Comprehensive Exam
(NULL credits) (Spring Semester)
Senior Comprehensive
CSCI-1010 Computer Science Fundamentals
(3 credits) (Fall Semester)
This course provides an introduction to computer science and programming fundamentals for students who have had no previous programming experience. Topics include hardware, networks, databases, artificial intelligence, operating systems, and the Internet. The students will use a high-level programming language to learn about variables, conditional execution, user interaction, looping, and functions. There is an integral laboratory component.
CSCI-1050 Web Programming
(3 credits) (Discretion of Department)
This course serves as an introductory programming course with a focus on using JavaScript to create interactive web pages. The topics covered include: virtual machines; web servers; server-side and client-side programming models; fundamental programming techniques; fundamental HTML; interactive HTML forms; cookies; and working with the browser's object models.
CSCI-1140 Introduction to Computer Science I
(4 credits) (Both Fall & Spring Semesters)
This course introduces the fundamental concepts of computer programming from an object-oriented perspective. Topics covered include simple data types and some simple data structures, message passing, subclasses, inheritance, polymorphism, and conditional and iterative control structures. Through study of object design, this course also introduces the basics of software engineering. A closed lab is an integral part of this course.
Prerequisite(s): Ready to take Pre-calculus or higher.
CSCI-2000 Programming Short Course
(2 credits) (Discretion of Department)
This course is designed to provide the student with a working knowledge of a particular programming language. Students write programs of moderate complexity in the given language. May be taken more than once if the programming language is different.
Prerequisite(s): Permission of instructor.
CSCI-2150 Introduction to Computer Science II
(4 credits) (Spring Semester)
This course continues the introduction of object-oriented programming begun in CSCI-1140, with an emphasis on algorithms, data structures, software engineering, and the social context of computing. A closed lab is an integral part of the course.
Prerequisite(s): CSCI-1140.
CSCI-2300 Programming for Scientists & Engineers
(3 credits) (Spring Semester)
This course introduces the fundamentals of computer programming using C++. The focus of the course is programming for scientific and engineering needs. Topics include basic data types and data structures, pointers, expressions, iterative and conditional control structures, visualization, and object-oriented programming. Students who have received credit for CSCI-2150 may not take this course without permission of instructor.
Corequisite(s): MATH-1300.
CSCI-2560 Discrete Mathematical Structures II
(3 credits) (Spring Semester)
This course continues the discussion of discrete mathematical structures introduced in MATH-2550, focusing particularly on topics that contribute to further study of computer science as a discipline. Topics include relations, matrices, computational complexity, elementary computability, discrete probability, recurrence relations, and a continuation of the study of graph theory begun in the previous course.
CSCI-3100 Database Systems
(4 credits) (Fall Semester)
This course uses the idea of information as a unifying theme to investigate a range of issues focusing on database systems design and management. Topics include ER modeling, relational algebra and calculus, SQL, functional dependency theory, normalization techniques, query processing and optimization, and other issues such as concurrency and security. A closed lab is an integral part of the course.
CSCI-3500 Algorithm Design & Analysis
(4 credits) (Spring Semester)
This course introduces formal techniques to support the design and analysis of algorithms, focusing on both the underlying mathematics theory and practical considerations of efficiency. Topics include asymptotic complexity bounds, techniques of analysis, and algorithmic strategies. A closed lab is an integral part of the course.
CSCI-3570 Theory of Automata
(3 credits) (Fall Semester)
This course covers computer science theory through the study of formal languages and their corresponding automata, including: regular languages and finite-state automata, context-free languages and pushdown autom- ata, and recursively enumerable languages and Turing Machines. The relationship between these languages/ automata and the classes P, NP, and NP-complete are also studied.
CSCI-3600 Concepts of Programming Languages
(4 credits) (Fall Semester)
Syntax and semantics of programming languages. Grammars, parsing, data types, control flow, parameter passing, run-time storage management, binding times, data abstraction, scripting, concurrency, exception handling, language design and evaluation. Programming paradigms to be studied include object-oriented, imperative (procedural), functional, and logic-based.
Prerequisite(s): CSCI-2150.
CSCI-3800 Artificial Intelligence
(4 credits) (Discretion of Department)
This course provides an investigation into how to model and implement intelligent behavior using computers. Topics include search algorithms, reasoning, heuristics, game trees, knowledge representation and machine learning. A closed lab is an integral part of the course.
Prerequisite(s): CSCI-2150.
CSCI-3920 Directed Software Projects
(3 credits) (Both Fall & Spring Semesters)
This course provides student experience in the development or maintenance/enhancement of one or more software projects of a size and scope smaller to those encountered in the senior capstone. Permission of Instructor
CSCI-4200 Computer Architecture
(4 credits) (Fall Semester)
This course introduces students to the organization and architecture of computer systems, beginning with the standard von Neumann model and then moving forward to more recent architectural concepts. Topics include digital logic, data representations, as well as multiprocessors and alternate and contemporary architectures. A closed lab is an integral part of the course.
CSCI-4400 Operating Systems & Networking
(4 credits) (Spring Semester)
This course introduces the fundamentals of operating systems together with the basics of networking and communications. The main topics include basic operating systems principles, concurrency, scheduling, memory management, security, and basics of networking and communications including World Wide Web technologies. A closed lab is an integral part of the course.
CSCI-4790 Computer Science Internship
(1 credit) (Both Fall & Spring Semesters)
This program offers the student an opportunity for hands-on experience. It involves practical application of course work on a project in a computer science discipline. This is usually done off campus. The student will have a qualified supervisor at the site of the experience in addition to a faculty advisor.
Prerequisite(s): Permission of chair of the department.
CSCI-4900 Computer Sci Comprehensive Exam Review
(1 credit) (Spring Semester)
This course is intended to help students prepare for taking the Computer Science Comprehensive Exam given late in the semester. It will review concepts from relevant courses with practice problems. Concepts covered include discrete structures, programming, algorithms & complexity, architecture, operating systems, information management, software engineering, and others as applicable to the current test.
Corequisite(s): CSCI-COMP.
CSCI-4920 Software Engineering
(3 credits) (Fall Semester)
This course combines a range of topics integral to the design, implementation, and testing of a medium-scale software system with the practical experience of implementing such a project as a member of a programming team. This course also treats material on professionalism and ethical responsibilities in software development and human-computer interaction.
Prerequisite(s): Senior computer science major and two upper-division computer science courses.
CSCI-4930 Computer Science Senior Capstone
(2 credits) (Spring Semester)
Prerequisite(s): CSCI-4920.
General Education Categories: Oral Communication, Visual Communication, Written Communication