The University offers a five-year program that allows qualified students to attain a Bachelor of Science degree in computer science and a Master of Science degree in computer science with a combined course load of 141 credits.

Students who have completed the first 15 credits of the computer science program with a grade point average (GPR) of 3.00 or better (in computer science courses) are eligible to apply to the combined B.S.-M.S. five-year program.

Applications should be submitted before the student has completed 27 credits of computer science courses. Upon completion of their undergraduate degree, students who have maintained a 3.00 GPA in their computer science courses will be admitted to the graduate computer science program.

Degree Plan

NOTE: All students are required to complete the General Education Requirements of their campus in fulfillment of their Bachelor degree requirements. 

Required courses 

  • CSCI1205 Introduction to Computer Programming
  • CSCI2215 Introduction to Computer Science I
  • CSCI2216 Introduction to Computer Science II
  • CSCI2255 Discrete Structures
  • CSCI2232 Data Structures and Algorithms
  • CSCI6623 Database Systems 
  • CSCI3371 Modeling and Simulation or MATH3300 Probability and Statistics
  • CSCI6603 Computer Architecture
  • CSCI6638 Operating Systems 
  • CSCI3315 Software Design
  • CSCI4391 Senior Project I or CSCI4498 Computer Science Internship
  • CSCI4999 Computer Science Assessment
  • CSCI4392 Senior Project II [if CSCI4498 not chosen]

CSCI6623, CSCI6603, CSCI6638 [These course can be applied towards the MS degree provided that student earns a grade of B or better.] 

Computer Science electives 

CSCI 3000 level or higher.

Mathematics required courses 

  • MATH1107 Precalculus
  • MATH1203 Calculus I
  • MATH2202 Calculus II
  • MATH3220 Linear Algebra (or)
  • MATH3318 Differential Equations 
  • Mathematics Elective (3 credits)

One additional course to be selected from the mathematics offerings (MATH designation) above 2000.

Physics required courses 

  • PHYS2003/PHYS2023 General Physics I with Calculus
  • PHYS2013 General Physics I Lab with Calculus
  • PHYS2004/PHYS2024 General Physics II with Calculus
  • PHYS2014 General Physics II Lab with Calculus

Required dual courses applied towards undergraduate degree 

These courses can be applied towards the MS degree provided that the student earns a grade of B or better. Upon completion of the undergraduate degree, students who earned a 3.0 major GPA in Computer Science courses will be admitted into the graduate Computer Science program. A minimum of 120 credits is required for the BS degree and a minimum of 141 credits is required for the combined BS MS degree in Computer Science.

Additional graduate courses to complete MS degree (21 credits)

Graduate electives in computer science (15 credits)

Students also take General Education Requirements and can choose to minor in other fields as well as take free electives. 

Concentrations

Data Science

Required courses

  • CSCI1205 Introduction to Computer Programming
  • CSCI2215 Introduction to Computer Science I
  • CSCI2216 Introduction to Computer Science II
  • CSCI2255 Discrete Structures
  • CSCI2232 Data Structures and Algorithms
  • CSCI3998 Artificial Intelligence
  • CSCI6623 Database Systems
  • CSCI6603 Computer Architecture
  • CSCI6638 Operating Systems 
  • CSCI3269 Introduction to Data Mining
  • CSCI3315 Software Design
  • CSCI3270 Introduction to Machine Learning
  • CSCI4391 Senior Project I or CSCI4498 Computer Science Internship
  • CSCI4999 Computer Science Assessment
  • CSCI4392 Senior Project II [if CSCI4498 not chosen]

CSCI6623, CSCI6603, CSCI6638 [These course can be applied towards the MS degree provided that student earns a grade of B or better.] 

Computer Science electives 

CSCI 3000 level or higher.

Mathematics required courses 

  • MATH1107 Precalculus
  • MATH1203 Calculus I
  • MATH2202 Calculus II
  • MATH3220 Linear Algebra (or)
  • MATH3318 Differential Equations 
  • Mathematics Elective (3 credits)

One additional course to be selected from the mathematics offerings (MATH designation) above 2000.

Physics required courses 

  • PHYS2003/PHYS2023 General Physics I with Calculus
  • PHYS2013 General Physics I Lab with Calculus
  • PHYS2004/PHYS2024 General Physics II with Calculus
  • PHYS2014 General Physics II Lab with Calculus

Required dual courses applied towards undergraduate degree 

These courses can be applied towards the MS degree provided that the student earns a grade of B or better. Upon completion of the undergraduate degree, students who earned a 3.0 major GPA in Computer Science courses will be admitted into the graduate Computer Science program. A minimum of 120 credits is required for the BS degree and a minimum of 141 credits is required for the combined BS MS degree in Computer Science.

Additional graduate courses to complete MS degree (21 credits)

Graduate electives in computer science (15 credits)

Students also take General Education Requirements and can choose to minor in other fields as well as take free electives. 

Game Development

Required courses

  • CSCI1205 Introduction to Computer Programming
  • CSCI2215 Introduction to Computer Science I
  • CSCI2216 Introduction to Computer Science II
  • CSCI2255 Discrete Structures
  • CSCI2232 Data Structures and Algorithms
  • CSCI3388 Introduction to Game Development
  • CSCI6623 Database Systems
  •  
  • CSCI3998 Artificial Intelligence
  • CSCI4488 Advanced Game Development
  • CSCI6638 Operating Systems 
  • CSCI3315 Software Design
  • CSCI3389 Introduction to Human computer Interaction
  • CSCI4391 Senior Project I or CSCI4498 Computer Science Internship
  • CSCI3371 Modeling and Simulation or MATH3300 Probability and Statistics
  • CSCI4999 Computer Science Assessment
  • CSCI6603 Computer Architecture
  • CSCI4392 Senior Project II 

CSCI6623, CSCI6603, CSCI6638 [These course can be applied towards the MS degree provided that student earns a grade of B or better.] 

Computer Science electives 

CSCI 3000 level or higher.

Mathematics required courses 

  • MATH1107 Precalculus
  • MATH1203 Calculus I
  • MATH2202 Calculus II
  • MATH3220 Linear Algebra (or)
  • MATH3318 Differential Equations 
  • Mathematics Elective (3 credits)

One additional course to be selected from the mathematics offerings (MATH designation) above 2000.

Physics required courses 

  • PHYS2003/PHYS2023 General Physics I with Calculus
  • PHYS2013 General Physics I Lab with Calculus
  • PHYS2004/PHYS2024 General Physics II with Calculus
  • PHYS2014 General Physics II Lab with Calculus

Additional cognates: 

  • ANIM2240  Low Poly 3D Modeling (Required)

Select from the following list of cognate courses in Animation:

  • ANIM1650 Game Design
  • ANIM2270 ZBrush Digital Sculpting Human Anatomy
  • ANIM2285 3D Asset Creation for Video Games
  • ANIM2500 3D Computer Animation
  • ANIM3330 3D Environment Modeling
  • ANIM3350 3D Game Creation Using Unreal
  • ANIM3450 3D Game Creation Using Unity

Required dual courses applied towards undergraduate degree 

These courses can be applied towards the MS degree provided that the student earns a grade of B or better. Upon completion of the undergraduate degree, students who earned a 3.0 major GPA in Computer Science courses will be admitted into the graduate Computer Science program. A minimum of 120 credits is required for the BS degree and a minimum of 141 credits is required for the combined BS MS degree in Computer Science.

Additional graduate courses to complete MS degree (21 credits)

Graduate electives in computer science (15 credits)

Students also take General Education Requirements and can choose to minor in other fields as well as take free electives. 

Cybersecurity

Required courses

  • CSCI1205 Introduction to Computer Programming
  • CSCI2215 Introduction to Computer Science I
  • CSCI2216 Introduction to Computer Science II
  • CSCI2255 Discrete Structures
  • CSCI2232 Data Structures and Algorithms
  • CSCI3157 Cybersecurity
  • CSCI6623 Database Systems
  • CSCI3666 Data Communication and Computer Networks
  • CSCI3371 Modeling and Simulation or MATH3300 Probability and Statistics
  • CSCI6638 Operating Systems 
  • CSCI3158 Information Security Design and Management
  • CSCI3355 Introduction to Cryptography
  • CSCI3315 Software Design
  • CSCI3869 Network Security
  • CSCI4498 Computer Science Internship
  • CSCI4999 Computer Science Assessment
  • CSCI6603 Computer Architecture
  • CSCI3870 Security Regs, Detection and Forensics

CSCI6623, CSCI6603, CSCI6638 [These course can be applied towards the MS degree provided that student earns a grade of B or better.] 

Computer Science electives 

CSCI 3000 level or higher.

Mathematics required courses 

  • MATH1107 Precalculus
  • MATH1203 Calculus I
  • MATH2202 Calculus II
  • MATH3220 Linear Algebra (or)
  • MATH3318 Differential Equations 
  • Mathematics Elective (3 credits)

One additional course to be selected from the mathematics offerings (MATH designation) above 2000.

Physics required courses 

  • PHYS2003/PHYS2023 General Physics I with Calculus
  • PHYS2013 General Physics I Lab with Calculus
  • PHYS2004/PHYS2024 General Physics II with Calculus
  • PHYS2014 General Physics II Lab with Calculus

Other courses

As part of the humanities and social science requirements, students will opt to take PHIL1003 Ethics and SOCI2306 Crime and Criminology.

Required dual courses applied towards undergraduate degree 

These courses can be applied towards the MS degree provided that the student earns a grade of B or better. Upon completion of the undergraduate degree, students who earned a 3.0 major GPA in Computer Science courses will be admitted into the graduate Computer Science program. A minimum of 120 credits is required for the BS degree and a minimum of 141 credits is required for the combined BS MS degree in Computer Science.

Additional graduate courses to complete MS degree (21 credits)

Graduate electives in computer science (15 credits)

Students also take General Education Requirements and can choose to minor in other fields as well as take free electives. 

Course Descriptions

  • ANIM1650 By studying the evolution and history of video games, students learn to plan the visual and interactive content, goals, gameplay and the rules of their own game ideas. This course also teaches how art specifications can conflict with technical constraints and how some ideas might be impractical to build. Students will write in depth game design documents where elements such as story, setting, character development, logical flow and levels are planned and unforeseen issues are dealt with through modification of the paper design based on class critiques and feedback.

  • ANIM2240 This introduction course focuses on the design and creation of low polygon 3D models and textures as they relate to interactive-game production. Students learn to create assets that fit within the guidelines, limitations and goals of those capable of being utilized in 3D engine platform games. This course teaches how to plan ahead so when producing models for interactive use they will be as low poly as possible, yet still look as high-quality as possible in-game.

  • ANIM2270 This class teaches digital sculpture by learning how to create ultra-realistic, life like 3D characters using ZBrush. The focus is on planes, anatomy, form, rhythm and proportion while learning how to add a high level of detail to polygonal meshes utilizing the application tools. Digital sculpting techniques and texture painting are discussed and taught through a variety of demonstrations, exercises and in depth assignments.

  • ANIM2285 This course teaches how to design, create and import 3D models into a game mesh renderer that mimics the setting found in today's popular game engines. Learn to create and organize asset libraries and properly assign textures and materials to those elements. Convert texture layers created in graphics programs to normal maps and other types of maps, such as ambient occlusion and cavity maps, which are necessary for producing fast and efficient high-quality game renderings.

  • ANIM2500 This course teaches the basic of 3D animation, including physics, substance, reaction and force. Topics include keyframing, function curves, motion paths, dope sheets, aesthetics and limited special effects. After first sketching and refining storyboards that communicate their ideas, students move on to the computer phases of the projects. They are expected to produce animation that emulate real world physics and as well as exhibiting mood and symbolism. Everyone in the class participates in critiques of their own, as well as their classmate's work.

  • ANIM3330 This course focuses on taking all aspects of 3D modeling, lighting and texturing learned in previous courses to a higher level. By creating detailed 3D environments students gain a greater understanding of the software tools and how to manipulate the complex details of each to improve the visual aesthetics of their finished renders. How to see the flaws and identify areas of improvement in their own works as well as their classmates' pieces in discussed in class critique sessions.

  • ANIM3350 This course teaches how to use the Unreal game engine, which is a unified suite of tools for constructing every aspect of video games. Students will design and produce original 3D gameplay by integrating their ideas into interactive prototypes and simulated 3D environments. Other topics include rendering, UI, level building, animation, visual effects, physics, and asset management.

  • ANIM3450 Students learn to integrate their game ideas using Unity's powerful rendering engine. This course teaches how to use Unity's animation system to bring characters and objects to life inside of a gaming environment. Students also utilize the tools provided to create interactive 3D and 2D graphic content while learning how to reduce the time needed to create visually stunning games. The focus of this course is on how to assemble scenes used in creating games containing high quality visuals, audio and realistic action that performs well on any platform.

  • CSCI1205 An introduction to computer programming using the C# language with emphasis on good software engineering practice and basic computer-science concepts. Topics include algorithm, design, top-down design,forms and controls, decicion structures, loops, methods, arrays and lists.

  • CSCI2215 Introduction to computer hardware and software, their interaction and trade-offs. Essentials of a computer organization and arithmetic, programming languages, assemblers, compilers and interpreters, I/O devices, operating systems, databases and files. Basic ideas in the areas of computer networks, system organization, computer theory, and security. Foundation for more advanced courses.

  • CSCI2216 Advanced C++ programming constructs and features will be covered including structured data, file operations, advanced objects and classes, exceptions, and templates.

  • CSCI2232 Implementation of abstract data types used in computer science. Arrays, character strings, stacks, queues, one-way and two-way linked lists, trees, graphs and file structures. Searching, sorting, storage management, structure and selection.

  • CSCI2255 Set theory, algebraic structures. Boolean algebra and propositional logic, graph theory and other aspects of combinatorial mathematics.

  • CSCI3157 Computer Security is an important topic in today's world, as computers (and now computer networks) are ubiquitous. Data Security is an important aspect of Computer Security. One of the hot new topics in Computer Data Security Area is related to the protection of copywrited data for e-commerce applications over the Internet. This course covers several topics in Computer Data Security with emphasis on intellectual property protection, digital rights management and digital watermarking, etc.

  • CSCI3158 Understanding the interaction between security and system usability and the importance for minimizing the effects of security mechanisms is an important objective of this course. Furthermore, the course will cover vulnerabilities, threat modeling, risk assessment and risk management including incident response and disaster recovery planning. Students will learn software assurance and security principles including security life cycle, process management, data security, security models, access control, session, exception and security mechanism. Counter measure, tools and techniques involved in mitigation strategies will be covered as well.

  • CSCI3269 This course introduces the fundamental concepts of data mining. Students will gain an in depth understanding of algorithms in the field, and will learn how to prepare data for learning and classification. Topics covered include data processing, classification, cluster and outlier analysis, and text mining. Students will work on projects for developing classification systems.

  • CSCI3270 This course introduces the fundamental concepts of machine learning. Topics covered include support vector machines, kernel methods, boosting, on-line learning, multi-class learning, ranking, repression and reinforcement learning. Students will work on projects implementing algorithms discussed in class.

  • CSCI3315 An introduction to the principles of formal software design. Topics include software requirements generation, system specification, program development techniques, programming language issues, abstraction, information hiding, structured analysis, program documentation, testing, maintenance, reliability and security. The course will use a number of programming and writing projects and case studies to reinforce the concepts discussed.

  • CSCI3355 Cryptography is the branch of mathematics that studies the design of systems for communication over non-secure channels. It uses ideas from number theory and abstract algebra to cover topics from classical cryptosystems (ciphers) to 1970?s breakthroughs such as Diffie-Hellman?s key exchange and RSA cryptography (public key) to the more recent methods of elgamel and elliptic curves.

  • CSCI3371 Definition of systems. Input, output and state variables. Continuous and discrete dynamical systems. Differential equations and their use in modeling. The CSMP language and its use.

  • CSCI3388 Introduces students to game programming techniques, how to use a game library, programming input devices, 3D game programming, theory and design, and bitmap handling through programming.

  • CSCI3389 Human-Computer interaction integrates the fields of computer science, cognitive psychology, arts and design. This course is an introduction to the principles of human-computer interaction, user interface design, and usability analysis of systems. Students will learn about the user-experience process lifecycle, contextual inquiry, contextual analysis, design thinking, Ideation, sketching, design production, low and high fidelity prototyping, empirical evaluation and feedback, and affordances. Students will apply these principles in weekly activities, assignments and a final project.

  • CSCI3666 Data communications, communication hardware technologies, local area and long-haul network, circuit and packet switching, computer and network hardware interface, network architecture protocol, transport protocols, network layering architecture, performance issues, reliable delivery over unpredictable channels, virtual circuits, client and server model, address resolution, routing algorithms, congestion control and tcpip.

  • CSCI3869 Coverage of potential threats to networks. Course includes strategies to harden system against these threats, and discusses the liability of the Network administrator for some crimes via the network. Class concludes with strategies for pursuit when system is compromised or data is altered, removed or copied.

  • CSCI3870 This course will discuss the legal and ethical regulations, laws and policies of cyber defense, including procedures that affect digital forensics and the use of tools, such as EncCase, ProDiscover, Xways, and others. Students will learn about the steps in performing digital forensics starting form incident recognition, evidence gathering, preservation and analysis, through the completion of legal proceeding. Network forensics methodologies will be discussed and network traffic will be analyzed to identify malicious activities. Intrusion detection and prevention systems tools and algorithms will be examined to detect, identify, resolve and document host-based or network-based intrusions.

  • CSCI3998 This course will provide an introduction to the fundamental concepts and techniques of Artificial Intelligence. Topics covered include problem-solving and search, knowledge representation and reasoning, and the planning problem. Students will learn the Lisp programming language. There will be programming assignments to emphasize the topics studied.

  • CSCI4391 The first phase of a senior project is to be completed under the direction of a faculty member. The project will generally involve the development of a software system, in which case the first phase involves development of requirements and design documents, project schedule and test plan. Alternatively, the project may take the form of a cooperative education experience. Fall

  • CSCI4392 The second phase of the senior project. This may involve coding, debugging and testing of the software system being developed, or a continuation of the cooperative education experience. Spring

  • CSCI4488 A software engineering approach to game programming, building a game engine, debugging techniques, XML, and scripting.

  • CSCI4498 Integration of classroom study with specific planned periods of supervised learning in productive employment experiences. A developmental process designed to combine progressive learning on the job. University course work and career development skills. Prerequisite: Permission of director of co-op.

  • CSCI4999 This course is a level assessment test for evaluating the breadth of knowledge in the major requirement and major elective courses. No class time is allocated for this course. The test is administered once every semester.

  • CSCI6603 Study of the relation between the structure and functional behavior of computer systems. Data representation and instruction sets. Control function, memory hierarchy, input-output processors and devices. Micro- and multiprocessors. Fall, Spring

  • CSCI6620 Creation of reliable software. Top-down design, structured programming techniques, verification and debugging of programs. Defining module interfaces. Estimating program timing and storage requirements. Program documentation. Programming style and aesthetics. A project-oriented course.Fall, Spring

  • CSCI6623 A survey of the current technology available in database systems. Relational, hierarchical and network models. Role of the data administrator. Levels of abstraction. Schema and subschema. Fall, Spring

  • CSCI6638 An introduction to the fundamental principles of operating systems in terms of resource management and machine virtualization. Topics include system services, process management, synchronization, threads, CPU scheduling, memory, device, and file management, and security. Integrated lab.

  • CSCI7645 Introduction to operating systems software. Topics chosen from process management interprocess communication, interrupt handling and file systems. Students will develop software that will implement and use operating systems primitives.

  • MATH1107 Algebraic operations, factoring, exponents, radicals; quadratic and higher degree equations; systems of linear equations; functions and their graphs; exponential, logarithmic and trigonometric functions and their graphs; trigonometric identities; triangle trigonometry.

  • MATH1203 Slope of a straight lines, slopes of a curve, rate of change of functions, derivatives of algebraic and trigonometric functions, maxima and minima, Mean Value Theorem, indefinite and definite integrals and their applications.

  • MATH2202 Differentiation and integration of transcendental functions, methods of integration, indeterminate forms, infinite series. Taylor series. Conic sections.

  • MATH3220 Vector spaces and linear transformations; systems of linear equations, bases, matrix representations of linear transforma- tions, matrix algebra, eigenvalues and eigenvectors, determin- ants, canonical forms, inner product spaces.

  • MATH3300 A calculus-based introduction to statistics, covering a range of topics from descriptive statistics discrete and continuous probability distributions, sampling distributions, interval estimation, test of hypothesis, linear regression, and ANOVA.

  • MATH3318 First order linear differential equations, linear differential equations with constant coefficients, variation of parameters, undetermined coefficients, Laplace transforms, solutions in terms of power series, numerical solutions with predictor- corrector and Runge-Kutta methods.

  • PHYS2003 A calculus-based course for students majoring in physics and other sciences. The first semester covers mechanics, heat and sound; the second semester covers electricity, magnetism, light and atomic physics. Fall, Spring

  • PHYS2004 A calculus-based course for students majoring in physics and other sciences. The first semester covers mechanics, heat and sound; the second semester covers electricity, magnetism, light and atomic physics. Fall, Spring

  • PHYS2013 LAB: associated with PHYS 2003 - General Physics with Calculus I

  • PHYS2014 LAB: associated with PHYS 2004 - General Physics with Calculus II

  • SOCI2306 This course provides an understanding of crime and criminal justice. Students will examine theories of crime, individual and group criminal behavior and aspects of criminal justice systems from an American and global perspective.