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.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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 Instructor permission.
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