Bachelor of Science in Computer Science

Curriculum & Requirements

Computer Science Major, Bachelor of Science (BS)

The Bachelor of Science in Computer Science program is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.

The traditional computer science degree provides extensive preparation in both the theoretical and practical aspects of computer science. It prepares students for a variety of careers in computing or for additional study at the graduate level. In this program, students study both general purpose programming and programming for specialized purposes and environments. In addition, students learn about algorithms, performance analysis, networks, computer architectures, information systems and software engineering. Students also work on a realistic project in a team environment. The program includes a variety of advanced courses that allow students to tailor their degree to their specific interests.

Exam Requirement: All Computer Science majors are required to pass the Advanced Programming Exam prior to taking courses for which it is a prerequisite. Passing the exam is required for graduation and no exam waivers will be granted for degree completion.

Note: no course may be used as both a requirement and an elective in a student's program.

Grade Requirements: As a computer science student, you are expected to maintain an overall university GPA ≥2.3. Each computer science course must be completed with a minimum grade ≥C+. All supporting courses required by the department must be completed with a minimum grade ≥C.

Required Computer Science Courses
CYBR 101CYBERSECURITY FUNDAMENTALS5
CSCD 202COMPUTING ETHICS4
CSCD 210PROGRAMMING PRINCIPLES I5
CSCD 211PROGRAMMING PRINCIPLES II5
CSCD 212OBJECT ORIENTED PROGRAMMING WITH DESIGN PATTERNS5
CSCD 240C AND UNIX PROGRAMMING5
CSCD 260ARCHITECTURE AND ORGANIZATION4
or EENG 260 MICROCONTROLLER SYSTEMS
CSCD 300DATA STRUCTURES5
CSCD 320ALGORITHMS5
CSCD 327RELATIONAL DATABASE SYSTEMS4
CSCD 330COMPUTER NETWORKS4
CSCD 340OPERATING SYSTEMS5
CSCD 350SOFTWARE DEVELOPMENT PRINCIPLES4
CSCD 420COMPILERS4
Required Supporting Courses
EENG 160DIGITAL CIRCUITS5
MATH/HONS 161CALCULUS I5
MATH 162CALCULUS II5
MATH 231LINEAR ALGEBRA5
MATH 301DISCRETE MATHEMATICS5
MATH 380ELEMENTARY PROBABILITY AND STATISTICS5
Required Laboratory Science Sequence–choose one sequence from the following 10-15
Biology
BIOLOGY I
BIOLOGY II
BIOLOGICAL INVESTIGATION
Chemistry
GENERAL CHEMISTRY I
and GENERAL CHEMISTRY LABORATORY I
and GENERAL CHEMISTRY II
and GENERAL CHEMISTRY LABORATORY II
Geosciences
DISCOVERING GEOLOGY
THE EARTH'S CLIMATE AND WEATHER
Physics
GENERAL PHYSICS I
GENERAL PHYSICS II
MECHANICS LABORATORY
HEAT AND OPTICS LABORATORY
Required Electives–choose six courses; at least four courses must be 400-level24
Note: many of these elective courses have prerequisites.
Note: other courses may be used with prior approval of the department.
COMPUTER AND INFORMATION SECURITY
C++ PROGRAMMING
PRACTICAL PROBLEM SOLVING
GUI PROGRAMMING
.NET PROGRAMMING
ANDROID MOBILE DEVELOPMENT
IOS MOBILE DEVELOPMENT
INTRODUCTORY COMPUTER GRAPHICS
WEB APPLICATION DEVELOPMENT
.NET WEB APPLICATION DEVELOPMENT
EXPERIMENTAL COURSE (prior departmental approval of topic content is required)
SEMINAR (prior departmental approval of topic content is required)
DIRECTED STUDY (prior departmental approval of topic content is required)
SCIENTIFIC PROGRAMMING
RANDOMIZED ALGORITHMS AND PROBABILISTIC ANALYSIS
ADVANCED DATABASE MANAGEMENT SYSTEMS
DATA MINING
BIG DATA ANALYTICS
ADVANCED NETWORKING CONCEPTS
NETWORK SECURITY
PRINCIPLES OF PROGRAMMING LANGUAGE
SECURE CODING
TOPICS IN COMPUTER SCIENCE (prior departmental approval of topic content is required)
DISTRIBUTED MULTIPROCESSING
GPU COMPUTING
ADVANCED ARCHITECTURE AND ORGANIZATION
COMPUTING SYSTEMS: ORGANIZATION AND DESIGN
EMBEDDED SYSTEMS
EMBEDDED SYSTEMS DESIGN
EMBEDDED REAL-TIME CONTROL
REAL TIME EMBEDDED SYSTEMS
PARALLEL AND CLOUD COMPUTING
3D COMPUTER GRAPHICS PRINCIPLES
ADVANCED 3D COMPUTER GRAPHICS
VIRTUAL REALITY AND DATA VISUALIZATION
INTELLIGENT SYSTEMS
MODELING AND SIMULATION
HUMAN COMPUTER INTERFACE
INTERNSHIP (variable credit–up to two 4 credit internships are allowed)
EXPERIMENTAL COURSE (variable credit–prior departmental approval of topic content is required)
SEMINAR (variable credit–may be repeated)
DIRECTED STUDY (variable credit–prior departmental approval of topic content is required)
CYBERSECURITY POLICIES, PRIVACY AND LAWS
APPLIED CYBER DEFENSE
APPLIED CYBER OPERATIONS
DIGITAL FORENSICS AND CYBERCRIME
Required Senior Capstone Series
CSCD 488SENIOR PROJECT5
CSCD 490SENIOR CAPSTONE5
Total Credits138-143

Catalog Listing

Cybersecurity Minor

The minor provides the skills necessary to meet an increasing demand for cybersecurity professionals.

Grade Requirements: As a computer science student, you are expected to maintain an overall university GPA ≥2.3. Each computer science course must be completed with a minimum grade ≥C+. All supporting courses required by the department must be completed with a minimum grade ≥C. Note: The required security course from the BSCS cannot be counted as part of the minor. You must complete all three security courses for the BSCS with the Cyber minor.

Required Courses
CSCD 210 PROGRAMMING PRINCIPLES I 5
CSCD 240 C AND UNIX PROGRAMMING 5
CSCD 260 ARCHITECTURE AND ORGANIZATION 4
CSCD 330 COMPUTER NETWORKS 4
EENG 160 DIGITAL CIRCUITS 4
Elective Courses–choose two courses from the following 8
Note: The required security course from the BSCS cannot be counted as part of the minor. You must complete all three security courses for the PoS  BSCS with the Cyber minor.
COMPUTER AND INFORMATION SECURITY
NETWORK SECURITY
SECURE CODING
Total Credits 30

Program Learning Outcomes

Upon completion of graduation requirements, Bachelor of Science in Computer Science students will:

  • analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  • design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline, utilizing techniques, skills, and tools necessary for computing practice.
  • communicate effectively in a variety of professional contexts.
  • recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles, including local and global impacts of computing solutions on individuals, organizations, and society.
  • function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  • apply computer science theory and software development fundamentals to produce computing-based solutions.
  • identify risk with regard to security, to participate in risk mitigation activities, and to provide application and information security