Bachelors (BS) in Computer Science

Overview

The computer science major offers a 54-semester-hour core course of study with an optional 29-semester-hour cyber security concentration. Students are required to obtain a minimum grade of C- in all courses taken for the major.

Degree Outcomes

Graduates with a BS in computer science will:

  • Demonstrate problem-solving competency through programming and software development
  • Understand applications of discrete structures and algorithms
  • Apply theoretical and practical system implementations (architecture, operating systems, networking, database)
  • Apply professional/ethical responsibility to their work
  • Understand cultural influences within the technical industry
Expand All

Major Requirements

Complete the following:

A foundational course for the study of computer science and information systems. The course covers an overview of programming methodology and gives the student an ability to write computer programs using standard style and structure. Programming projects are completed in one or more high-level languages. Prerequisite: high school algebra or equivalent. Additional course fee required.
A foundational course for the study of computer science and information systems. The course covers an overview of programming methodology and gives the student an ability to write computer programs using standard style and structure. Programming projects are completed in one or more high-level languages. Prerequisite: CSIS 201 Introduction to Computer Science I or ENGR 152 Engineering Principles II. Additional course fee required.
An introduction to the concepts of information organization, methods of representing information both internally and externally. The course begins with basic structures (stacks, queues, linked lists, and trees) and moves through more complex data structures into the processing of files (sequential, relative, indexed sequential, and others). Programming projects are completed in one or more high-level languages. Additional course fee required. Prerequisites: CSIS 201 Introduction to Computer Science I and CSIS 202 Introduction to Computer Science II.
An introduction to the strategies used in producing quality software. The life cycle of software development is presented and utilized. Larger projects are undertaken by teams of students in the initial phases. Additional course fee required. Prerequisite: CSIS 202 Introduction to Computer Science II.
A study of the organization of database systems for information storage, retrieval, and security. Examples of hierarchic, network, and relational-based systems are presented. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.
An introduction to digital computer hardware architecture and organization. Topics include digital logic, processor design, instruction sets, and system architecture. Programs written in assembly language will be used to gain hands-on experience with the underlying system architecture. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.
This course covers the fundamental concepts of object-oriented programming languages, including data abstraction and typing, class inheritance and generic types, prototypes and delegation, concurrency control and distribution, object-oriented databases, and implementation. Object-oriented solutions will be developed in one or more high-level languages. Additional course fee required. Prerequisite: CSIS 310 Data Structures
A study of the basic design of computer programming languages, with the greater emphasis placed on semantics (over syntax). A comparative analysis is made among several of the common languages. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.
An introduction to the design and analysis of algorithms. The course covers the fundamentals of analyzing algorithms for correctness and time and space bounds. Topics include advanced sorting and searching methods, graph algorithms, geometric algorithms, matrix manipulations, string and pattern matching, set algorithms, and polynomial computations. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.
A study of the organization and architecture of computer systems. The major principles of operating systems are presented, along with case studies involving actual operating systems. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.
Servant engineering is a two-semester course sequence typically taken in the student’s junior year. In the summer before the course begins, students research a potential engineering project designed to serve others. These projects are proposed early in the first semester, and the most feasible projects are selected for the program. Students are then assigned to a team of four or five who work on a selected project. Projects might require a multi-disciplinary team ranging from computer science to civil engineering, or they might be more focused on a specific skill-set. Each team has a faculty mentor who helps guide the project. In both semesters, teams meet weekly with their faculty mentors and work through problem definition, specification development and conceptual development, with the goal of selecting a specific design for detailed design-and-build. Every project will be an opportunity to use the gifts that God has given us to serve others. Additional course fee is required. Prerequisite: ENGR 152. Final enrollment is contingent on approval from the College of Engineering.
Servant engineering is a two-semester course sequence typically taken in the student’s junior year. In the summer before the course begins, students research a potential engineering project designed to serve others. These projects are proposed early in the first semester, and the most feasible projects are selected for the program. Students are then assigned to a team of four or five who work on a selected project. Projects might require a multi-disciplinary team ranging from computer science to civil engineering, or they might be more focused on a specific skill-set. Each team has a faculty mentor who helps guide the project. In both semesters, teams meet weekly with their faculty mentors and work through problem definition, specification development and conceptual development, with the goal of selecting a specific design for detailed design-and-build. Every project will be an opportunity to use the gifts that God has given us to serve others. Additional course fee required. Prerequisite: ENGR 381. Final enrollment is contingent on approval from the College of Engineering.
In the senior design sequence, students apply their knowledge and design skills gained through course work to an industry-based project. In the first semester, interdisciplinary teams are formed to begin projects in conjunction with participating industrial sponsors. Necessary background research and feasibility studies are completed. Students must also consider the ethical, moral, environmental, and social impact of their designs. Collaboration with other departments of the university is encouraged. Additional course fee is required. Prerequisite: senior status in the engineering major.
The projects that were initiated in the first semester are further developed through simulation, prototyping, and testing. Use of analytic, computer, experimental, and design techniques is applied throughout the project. The design sequence culminates in the construction of the projects, oral presentations, and formal written reports. Additional course fee is required. Prerequisite: ENGR 481 Senior Design I.
The class is a study of limits limits of functions, applications of derivatives, and an introduction to integration. Prerequisite: MATH 190 Precalculus Mathematics or equivalent.
An introduction to discrete mathematics. Topics covered include sets, functions, math induction, combinatorics, recurrence, graph theory, trees, and networks.
Students must complete an additional 9-semester-hours from the following options:

Computer Science (CSIS) coursework (5-9)

Introduction to digital systems and binary codes; Boolean algebra and digital logic devices; combinational logic circuits and design methods; ROM and RAM memory elements; sequential logic circuits and design methods. Laboratory experience includes TTL logic circuits and CAD tools. Three lectures and one laboratory per week. Additional course fee is required. Prerequisite: ENGR 152 Engineering Principles II or CSIS 201 Introduction to Computer Science I.

Optional Concentration

In addition to the Computer Science Core course requirements students can elect to add a Cyber Security Concentration and complete an additional 29-hours of course work. The 9-hour elective requirement required in the Computer Science Core can be met by the courses required to complete the Cyber Security Concentration.

Complete the following:

Introduction to digital systems and binary codes; Boolean algebra and digital logic devices; combinational logic circuits and design methods; ROM and RAM memory elements; sequential logic circuits and design methods. Laboratory experience includes TTL logic circuits and CAD tools. Three lectures and one laboratory per week. Additional course fee is required. Prerequisite: ENGR 152 Engineering Principles II or CSIS 201 Introduction to Computer Science I.
In a highly connected, data intensive, and cost-focused business environment, the practice of information security is not a business advantage; it is a customer requirement. Viruses, malware, trojans, denial of service attacks, phishing, and even Wiki leaks have become headline news. Failure to insure the confidentiality, integrity, and availability of data, costs companies millions, if not billions of dollars in legal settlements, lost business, and trade secrets. In this breadth-based course, you will get an overview of information security principles and practices, including security models, risk management, access controls, intrusion detection and prevention, cryptography, software vulnerabilities, and ethical issues. This class will also provide an overview of digital forensics. Students will learn techniques behind digital forensic investigations and evidence collection, and will cover the fundamental steps of the traditional computer forensic methodology. Topics will include building forensic workstations, collecting evidence, extracting artifacts, identifying unknown files and reassembling evidence from network packet captures and device images. Additional course fee required. Prerequisite: CSIS 202 Introduction to Computer Science II.
An introduction to the field of communications among computers and computer systems, with an emphasis placed on LANS (Local Area Network Systems) and the OSI model. Students will experience the installation of one or more network systems. Additional course fee required. Prerequisite: CSIS 202 Introduction to Computer Science II.
As more communications are conducted via mobile and cellular technologies, these technologies have become critical to both industry and private life. This course covers how data is processed and transmitted using mobile and wireless devices. Sample topics include but are not limited to: an overview of smart phone technologies, embedded operating systems, wireless and mobile specific protocols, mobile identifiers, location based services, Internet of Things, drone technologies and more. Prerequisites: CSIS 350 Data Communications and Networks and CSIS 460 Operating Systems
This course would cover a number of advanced topics such as cellular and mobile technologies and their security, system vulnerabilities and penetration testing of corporate networks/systems, risk management of information systems, and other current topics. Students will also be introduced to both international and U.S. cyber laws including reporting compliance. Prerequisite: CSIS 312 Computer Security & Digital Forensics
A theoretical and practical survey of parallel processing, including a discussion of parallel architectures, parallel programming languages, and parallel algorithms. Students will program one or more parallel computers in a higher-level parallel language. Additional course fee required. Prerequisite: CSIS 310 Data Structures
This course introduces the student to system administration of a LAN. Topics covered include adding and removing users; monitoring and controlling processes; adding, removing, and managing groups; mounting and unmounting filesystems; monitoring and troubleshooting a TCP/IP network; managing and controlling network and system security; and administration of network file systems. Prerequisite: CSIS 350 Data Communications and Networks. Additional course fee required.
This course introduces students to the concepts of defense in-depth, a security industry best practice. Topics include firewalls, backup systems, redundant systems, disaster recovery, and incident handling. Upon completion, students should be able to plan effective information security defenses, backup systems, and disaster recovery procedures. This course requires a lab component that provides practical experience working with current technologies for defense. Prerequisites: CSIS 413 Advanced Security and CSIS 450 Network Administration
Many security problems in software occur when software developers make poor implementation decisions or unwittingly introduce bugs into their code. This course will focus on many of the classic flaws in systems that can lead to security problems including: buffer overflows, format string problems, race conditions, memory leaks, etc. It will also cover many web-application specific topics such as SQL injection attacks and cross-site scripting (XSS) attacks. Prerequisite: ENGE 320 Microprocessor Architecture.