Master of Science in Computer Science (MSCS)
MSCS 7000 - Program Design - 3 credits
This course introduces the fundamental principles and practices of software design and architecture. Students will learn how to apply the Universal Modeling Language (UML) to model a program. In addition, students will learn how to work with users to determine requirements that can be translated into an application. Students will learn how to use design patterns, principles, and architectures to create reusable and flexible software applications and systems. The course covers topics such as object-oriented design, software architecture, and visual notation for documenting design and architecture.
MSCS 7010 - Internship Experience - .25 - 2 credits
An internship is an important learning tool that provides students with “hands-on” experience working in a field placement. This internship experience will allow the student to apply what they have learned in the academic environment to a business world job in a related field of study.
In addition to learning about a particular industry and how it operates, the internship offers an opportunity for personal growth. Individual skill development and personal confidence should be essential goals for your experience.
MSCS 7050 - Data Structures and Algorithms - 3 credits
This course explores advanced topics in data structures and algorithms, building on foundational knowledge from undergraduate courses to explore complex and efficient solutions for real-world problems. Students learn advanced complex uses for data structures such as B-trees, Fibonacci heaps, lists, tables, trees, heaps, and graphs, as well as sophisticated algorithmic techniques like dynamic programming, greedy algorithms, and randomized algorithms. The course emphasizes both theoretical understanding and practical implementation, preparing students to design and analyze efficient algorithms for large-scale applications.
MSCS 7100 - Fundamentals of AI - 3 credits
This course introduces the core concepts, techniques, and applications of artificial intelligence (AI). It covers foundational topics such as search algorithms, knowledge representation, logic and reasoning, machine learning, and natural language processing. Students will learn how to apply AI methodologies to solve real-world problems throughout the course. The course culminates in a case study project, where students will analyze and apply AI techniques to problems like healthcare, finance, robotics, or software engineering.
MSCS 7150 - Software Project Management - 3 credits
This course provides an in-depth understanding of software project management principles and practices. It focuses on the application of project management techniques specifically tailored to software development projects. Students will learn how to plan, execute, and control software projects, ensuring they are completed on time, within budget, and to the required quality standards.
MSCS 7155 - Research Methodology - 3 credits
This course introduces research methodology, specifically tailored for computer science and related fields like AI, software development, and data science. It covers the principles of scientific research, literature review, experimental design, data collection, and analysis methods commonly used in computing research. Emphasis will be placed on developing skills necessary for academic writing, presenting research, and applying ethical standards. Through case studies and projects, students will explore how to structure and conduct research studies that address real-world challenges in computer science and software development.
MSCS 7200 - Computer Vision - 3 credits
This course covers foundational techniques and modern methods in 2D computer vision, with an emphasis on image processing, convolutional neural networks (CNNs), object detection, classification, and segmentation. Students will learn how to design, implement, and optimize computer vision systems using both classical techniques and deep learning models. Practical exercises will involve working with real-world datasets and applying computer vision to solve image-based problems in fields like medical imaging, security, and more.
MSCS 7210 - Natural Language Processing and Large Language Models - 3 credits
This course explores the field of Natural Language Processing (NLP) with a particular focus on modern techniques, including large language models (LLMs) such as transformers and their applications. Students will gain an understanding of foundational NLP concepts like text processing, language modeling, and sequence-to-sequence models, progressing to advanced topics such as transfer learning, fine-tuning pre-trained language models, and prompt engineering. Through hands-on exercises and a case study, students will apply NLP techniques to solve real-world problems in areas such as sentiment analysis, text summarization, chatbots, and machine translation.
MSCS 7220 - Human Centered AI Design - 3 credits
In this course, students will investigate new developments in the area of human-AI interaction (HAI). They will examine the unique interface design challenges presented by AI and how to design and develop AI-driven human-centered intelligent interaction technologies while critically assessing their social and ethical impact. Students will learn to read, interpret, and discuss crucial research papers and complete a research project to develop a holistic understanding of the human-AI interaction landscape, including its challenges, opportunities, and ethical considerations.
MSCS 7230 - Machine Learning - 3 credits
This course focuses on how machines can autonomously enhance their capabilities through experience. Some sample applications include facial recognition software, recommender systems, and autonomous robots. Students will explore both theoretical frameworks and practical algorithms from multiple viewpoints. The course covers theory and algorithms related to supervised learning (generative/discriminative learning, parametric/non-parametric learning,
neural networks, support vector machines), unsupervised learning (clustering, dimensionality reduction, kernel methods), learning theory, reinforcement learning, and adaptive control.
MSCS 7610 - Individual Project - 6 credits
Students will work with their faculty advisor to select a significant computer science application for this individual project. The application could be for an external client. Students will study the underlying problem domain and relevant technologies, design, implement, test the application, and present the project as a report, oral presentation and demonstration of the application. The advisor may decide to substitute a report with alternative project documentation and/or relevant user guides.
MSCS 7650 - Individual Thesis - 6 credits
The students will be involved in the planning, execution, and completion of a research-based thesis in computer science under the supervision of a faculty advisor. Students will identify a significant research problem, develop a proposal, and conduct in-depth research to address the problem using appropriate methodologies. The thesis process includes a literature review, hypothesis formulation, experimentation or analysis, and documentation of findings.