Computer Science

Courses

COMP6120: Fundamentals of Programming and Data Structures

Credits 3

This course provides students with a comprehensive introduction to the core concepts and techniques essential for building robust software applications.  Students will delve into fundamental programming principles, learning how to design, implement, and analyze algorithms using a variety of programming paradigms. In parallel, students will explore essential data structures such as linked lists, stacks, queues, trees, and graphs. 

COMP6220: Artificial Intelligence

Credits 3

The goal of artificial intelligence is to enable a computer to learn, plan and solve problems autonomously. Concepts and techniques involved in artificial intelligence including goal-directed searching, constraint satisfaction, fuzzy logic, pattern recognition, evolutionary computation and genetic algorithms.

Prerequisites

Instructor permission.

Admission into BSU's accelerated Master of Science degree program

OR

Admission into NNU's Master of Science in Artificial Intelligence degree program.

COMP2750

COMP6230: Spatial Analysis

Credits 3

Introduction to Geographic Information Systems (GIS) and the utilization of geospatial data for observation of data in a means that is not possible in written or tabular format. Spatial analysis allows questions to be considered where a primary consideration is the relationship between where different entities are located. 

Prerequisites

COMP6120 or Instructor approval

COMP6240: Fuzzy Logic

Credits 3

Fuzzy Logic represents a powerful computational paradigm for reasoning under uncertainty and imprecision, enabling systems to effectively handle vagueness in data and decision-making processes. Students will be introduced to the fundamental concepts of fuzzy sets, fuzzy logic operations, fuzzy inference systems, and fuzzy control systems. Students will gain a deep understanding of fuzzy logic principles and learn how to apply them to real-world problems.

Prerequisites

COMP6120 or Instructor approval

COMP6250: Evolutionary Computation

Credits 3

Evolutionary Computation is a dynamic field at the intersection of computer science, mathematics, and biology, which harnesses the principles of natural evolution to solve complex optimization and search problems. Throughout the course, students will delve into the fundamental concepts underlying evolutionary algorithms, including population initialization, selection mechanisms, crossover and mutation operators, and termination criteria. Theoretical discussions will be complemented by hands-on programming assignments aimed at implementing and experimenting with genetic algorithms in diverse problem domains.

Prerequisites

COMP6120 or Instructor approval

COMP6330: Machine Learning

Credits 3

The goal of artificial intelligence is to enable a computer to learn, plan and solve problems autonomously. Concepts and techniques involved in artificial intelligence including goal-directed searching, constraint satisfaction, fuzzy logic, pattern recognition, evolutionary computation and genetic algorithms.

Prerequisites

Instructor permission

Admission into BSU's accelerated Master of Science degree program

OR

Admission into NNU's Master of Science in Artificial Intelligence degree program.

COMP2750

COMP6340: Advanced Database Design and Programming

Credits 3

The concept of Big Data refers to massive amounts of data, both structured and unstructured, on which the processing capabilities of traditional data management tools are inadequate. This course investigates storage and analysis methods and associated tools which enable users to extract knowledge from voluminous data.

Prerequisites

Instructor permission

Admission into BSU's accelerated Master of Science degree program.

COMP3330

COMP6350: Full Stack Development

Credits 3

Full-stack development has been one of the main drivers in today’s fast-paced, interconnected world. This course is designed for aspiring developers eager to master front-end, middle-tier, and back-end technologies. Students will learn to build and connect the various software layers through the end-to-end process of developing modern, scalable web and client-server applications.

Corequisites

COMP6120 or Instructor approval

COMP6360: Natural Language Processing

Credits 3

Natural Language Processing (NLP) is a rapidly evolving field at the intersection of computer science, artificial intelligence, and linguistics, focused on enabling computers to understand, interpret, and generate human language. Students will be introduced to the fundamental concepts and techniques of NLP, including text preprocessing, syntactic and semantic analysis, information extraction, sentiment analysis, machine translation, and dialogue systems.

Prerequisites

COMP6120 or Instructor approval

COMP6370: Neural Networks and Deep Learning

Credits 3

This course offers a comprehensive exploration of neural networks and deep learning techniques, covering both foundational principles and advanced methodologies.  Students will be introduced to the basics of artificial neural networks, including feedforward networks, backpropagation, activation functions, and gradient descent optimization. Subsequently, they will delve into advanced topics such as convolutional neural networks (CNNs), recurrent neural networks (RNNs), and deep learning architectures like autoencoders and generative adversarial networks (GANs). The course will also cover practical aspects such as data preprocessing, model evaluation, and deployment considerations.

Prerequisites

COMP6120 or Instructor approval

COMP6470: Cyber Warfare

Credits 3

An introduction to the major concepts surrounding "Ethical Hacking". Topics include:

  1. What is ethical hacking and why do we do it?
  2. The mind of the hacker.
  3. Tools used by hackers to penetrate systems.
  4. Techniques used by hackers to penetrate systems.
  5. Attack matrices and threat detection.
  6. Software vulnerabilities.
  7. Database vulnerabilities.
  8. Website vulnerabilities.
  9. Network vulnerabilities.
  10. Social engineering.
  11. Risk assessment.
  12. Legal/Ethical issues and responsibilities

Students will perform hands-on exercises, programming exercises and research to better understand these concepts.

Prerequisites

Instructor permission

Admission into BSU's accelerated Master of Science degree program.

COMP3480 (or taken concurrently)

COMP6480: Cyber Forensics and Recovery

Credits 3

An introduction to investigations of cyber crime and recovery from cyber incidents. Topics include:

  1. An introduction to cyber forensics. Identifying high-value targets and their vulnerabilities.
  2. Evidence gathering and chain of custody.
  3. Legal and contractual rights and obligations for investigators and suspects.
  4. Tools used in cyber investigations.
  5. Techniques cyber criminals use to escape detection and how to address them.
  6. Presenting expert witness testimony.
  7. Investigating social media, email and other forms of electronic communications.
  8. Investigating mobile devices and cloud data.

Students will perform multiple tasks illustrating these concepts.

Prerequisites

Instructor permission.

Admission into BSU's accelerated Master of Science degree program.

COMP3480

COMP6680: Capstone Project

Credits 1 3

This course serves as the culminating experience for graduate students in the Computer Science program. Students will engage in an approved internship at an approved job site or will complete an independent capstone project.  Either approach requires that the student demonstrates their ability to apply theoretical knowledge and practical skills to solve complex problems in computer science. For the project, each student will select a project topic, conduct thorough research, and develop a software application, system, or innovative solution relevant to the field. It is expected that a similar experience will occur in an internship.  In addition to the project development or internship, students are required to write a comprehensive capstone paper documenting their project/intern experience and then deliver an oral presentation to share their findings with peers and faculty.  6 credits will need to be earned, requiring students to take this course twice (two semesters). Should a student need additional time to complete their capstone, they may enroll for 1 additional credit per semester until completed.

 

Prerequisites

COMP6120 or Instructor approval

COMP6750: Algorithm Analysis

Credits 3

A medium level algorithmic class to introduce various categories of algorithms, formal specification and verification, and algorithmic schemas for specific problems. The algorithm topics include divide and conquer, backtracking, dynamic programming, string processing, graph algorithms, geometric algorithms, fast arithmetic algorithms, genetic programming, and NP completeness and approximation.

Prerequisites

Completion of COMP2750 or COMP6120 AND:

 

Admission into BSU's accelerated Master of Science degree program OR:

Admission into NNU's Master of Science in Artificial Intelligence degree program OR:

Instructor permission.

COMP6810: Parallel Computation

Credits 3

As we lose the ability to speed up computers by making processors faster, we must instead investigate how to achieve performance gains by utilizing the multiple processors that are available on most modern computers. Students will learn and apply concurrent programming methods using both central processing units (CPU) and graphic processing units (GPUs), as well as algorithmic decisions that influence performance gains through parallelization.

Prerequisites

Instructor permission

Admission into BSU's accelerated Master of Science degree program

OR

Admission into NNU's Master of Science in Artificial Intelligence degree program.

COMP2750