A. Computer Science Core
CS101 Computer Science Fundamentals (3 cr.)
This course provides a foundation in computing and algorithmic principles. Students are introduced to the basic conceptual building blocks of computer hardware and software systems. The tools and principles of algorithmic problem solving and systems design are explored. In the second half of the semester, students gain experience with simple programming challenges.
CS110 Computer Science I: Introduction to Programming (3 cr.)
This course introduces students to the practice of software development. Students learn the fundamentals of programming, algorithm development, and basic design principles.
CS210 Computer Science II: Advanced Programming and Data Structures (3 cr.)
This course is a continuation of CS110. CS210 expands on the programming techniques covered in CS110, adding discussion of recursion and data structures such as lists, stacks, queues, balanced trees, graphs and heaps. Specific algorithms that use these structures efficiently and general algorithm techniques and their analysis are also covered.
CS220 Discrete Mathematics (3 cr.)
This course provides the theoretical foundation of modern computer hardware and software. It provides that foundation in the form of mathematical tools and concepts geared toward computer science applications. Topics covered include: logic and set theory; functions and relations; simple algorithm analysis; and an introduction to graph theory.
CS255 Database Design (3 cr.)
A study of fundamental database management systems. Course topics include: data modeling, database design and structured query language (SQL), transaction management, data integrity and security. Object-relational mapping techniques and technologies will also be covered.
CS300 Networking (3 cr.)
This course examines computer networks and data communication. Topics include: telecommunications history; transmission media; transmission characteristics; error detection and correction; local and wide area networking applications; standard network models; industry standards; protocols; network management; wireless and mobile networks; network security.
CS307 Introduction to Cybersecurity (3 cr.)
This course provides an overview of modern security concepts. Topics covered will include security terminology, risk management, security policy and strategy, security awareness, cryptography, operating system security, network security, physical security and digital forensics. The course will contain a lab component where students will investigate current hardware and software tools for vulnerability analysis and penetration testing.
B. All of the following:
CS305 Server Systems (3 cr.)
This course will cover the basics of server operating systems. Topics will include installation, active directory, user management, file management, device management, data storage, group policies, data and system recovery, performance monitoring, and security. Students will complete hands on projects utilizing file servers, web servers, email servers, database servers and network services.
CS310 Web Systems I (3 cr.)
CS320 Computer Architecture (3 cr.)
This course will introduce the function and design of the various components necessary to process information digitally as well as the study of computer organization focusing on how various electronic circuits and components fit together to create working computer systems. Concepts of machine level representation of data, assembly level machine organization, and memory system organization are also included.
CS325 Computer Science III Software Design and Testing (4 cr.)
This third course in the three-semester programming sequence emphasizes the principle and practices of software design and testing which result in quality software. Concepts introduced in CS2 such as lists, stacks, queues, balanced trees, graphs and heaps are reinforced. This class highlights the connection between software design and software reliability.
CS380 Web Systems II (3 cr.)
This course will advance the web site design and development skills introduced in Web Systems I. Topics include web forms, database implementation, server-side scripting, web server implementation and configuration, design frameworks and discussion of design and development issues.
CS485 Systems Design (3 cr.)
This course introduces established and evolving methodologies for the analysis, design, and development of an information system. Emphasis is placed on system characteristics, managing projects, prototyping, object-oriented tools and techniques for describing process flows, data flows, data structures, file designs, input and output designs, program specifications, and systems development life cycle phases.
CS490 Capstone Project (3 cr.)
In this project-oriented course, students complete a capstone project, serving as a culmination of their studies within the major. The project entails the development of a significant piece of software or completion of technology project by a student and supervised by a designated faculty member within the department.
C. Six Credits of Computer Science electives or Internship