Computer Science Prof Master (CSP)

CSP 200
Practical Computing: Tools and Techniques

This course offers students a hands-on introduction to practical tools, platforms, and workflows commonly used in both the classroom and industry.

Lecture: 0 Lab: 1 Credits: 1
CSP 442
Mobile Applications Development

Mobile devices are now the primary computing platform for billions of people, making mobile development one of the most impactful and in-demand skills in software engineering. This course introduces students to modern mobile application development using declarative UI frameworks, a fundamental paradigm shift in how developers build responsive, maintainable, and sophisticated applications. Students will learn to design, prototype, and test software applications targeting mobile devices using industry-standard tools and practices. Moving beyond traditional imperative UI programming, the course presents declarative approaches that describe what an interface should look like based on application state, rather than how to manipulate it step-by-step. This powerful abstraction, combined with reactive state management and asynchronous programming patterns, forms the foundation of modern mobile development. Throughout the semester, the course covers essential software design patterns, architectural best practices, and professional development tools that prepare students to build robust mobile applications.

Prerequisite(s): (CS 331 or CS 401 or CSSP 401 with min. grade of S) and (CS 351* or CS 402* or CSSP 402* with min. grade of S), An asterisk (*) designates a course which may be taken concurrently.
Lecture: 3 Lab: 0 Credits: 3
Satisfies: CS Technical Elective (T)
CSP 495
Applications in Computer Science

This course will address specific applications of computer science, varying from semester to semester, in which there is a particular industry or staff interest.

Lecture: 3 Lab: 0 Credits: 3
CSP 541
Internet Technologies

This course focuses on the technologies and protocols used by Internet WAN's and LAN's. The fundamental architecture, organization, and routing principles of the Internet are described. Part of the course will focus on emerging Internet technologies.

Prerequisite(s): CS 455 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 542
AI Risk Management

This course provides students with the knowledge and skills needed to assess and manage risks associated with the design, development, and use of AI technologies. Students will learn to exploit the capabilities of AI while also recognizing associated threats to success with an emphasis on responsibility, trustworthiness, and explainability. This course will utilize established guidance, such as the NIST AI Risk Management Framework, in addition to real-world use cases and case studies, to ensure methods and approaches are grounded with respect to real-world constraints and opportunities.

Prerequisite(s): CS 487
Lecture: 3 Lab: 0 Credits: 3
CSP 544
System and Network Security

This course will be a programming-based, learn-by-doing-oriented course focused on applying foundational principles in security to real systems and networks . You will implement several real attacks and take advantage of several recreated vulnerable systems in order to understand the modern landscape of network and systems security. We will also be looking at various case studies of attacks and defense strategies, including known exploit proofs-of-concept, published papers, and documents from security agencies and cyber-security research firms.

Prerequisite(s): CS 458 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 550
User Experience and Visualization for Computing Professionals

This course focuses on the design of effective, user-centered interfaces and visual representations for modern computing systems. The course introduces principles of user experience (UX) design, human-computer interaction, and data visualization, emphasizing practical techniques for improving usability, clarity, and decision-making. Students gain hands-on experience in user research, prototyping, and interface design, including the use of personas, storyboarding, and visual communication techniques to support ideation and development. Topics include visual encoding, dashboard design, and evaluation of user interfaces. The course also addresses accessibility, performance, and integration of visualization into real-world applications across domains such as data analytics, AI systems, and interactive platforms.

Lecture: 3 Lab: 0 Credits: 3
CSP 554
Big Data Technologies

Big data is the area of informatics focusing on data sets whose size is beyond the ability of typical database and other software tools to capture, store, analyze, and manage. This course provides a rapid immersion into the area of big data and the technologies that have recently appeared to manage it. Students may not receive credit for both CS 554 and CSP 554.

Prerequisite(s): CS 425 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 558
Ethical Hacking and Penetration Testing

This course is an introduction to hacking tools, techniques, and incident handling. It covers the evolution of hacking and penetration testing, the basics of cryptography for information security, foot-printing, vulnerability scanning and exploitation, wireless, web, and database attacks, malware and system exploitation, traffic analysis, incident response, and defensive technologies and controls. Students will learn how to identify vulnerabilities, attack and defend systems, respond to attacks, and design controls to prevent future attacks. The course also includes a comprehensive update on federal and state computer crime laws, as well as changes in penalties for illegal computer hacking.

Prerequisite(s): CS 458* with min. grade of C, An asterisk (*) designates a course which may be taken concurrently.
Lecture: 3 Lab: 0 Credits: 3
CSP 570
Data Science Seminar

This required seminar course surveys current applications of data science, bringing in lecturers from industry and academia to discuss real-world problems and how they are addressed within a data analytic framework. Students are required to attend all lectures and to give a short presentation or paper on one of the topics at the end of the semester. Permission is required from the instructor or department.

Lecture: 0 Lab: 1 Credits: 0
CSP 571
Data Preparation and Analysis

Surveys industrial and scientific applications of data analytics with case studies including exploration of ethical issues via case studies. Students will work with a variety of real world data sets and learn how to prepare data sets for analysis by cleaning and reformatting. We will also cover a variety of data exploration techniques including summary statistics and visualization methods.

Prerequisite(s): (CS 331 or CS 401 or CSSP 401) and (CS 425 and MATH 474)
Lecture: 3 Lab: 0 Credits: 3
CSP 572
Data Science Practicum

Students will work in small groups to solve real-world data analysis problems for actual scientific or industrial clients. Innovation and clarity of presentation will be key elements of evaluation. Students will also have an option to fulfill course requirements through a data analytics internship with an industry partner.

Prerequisite(s): CSP 571 with min. grade of C and CS 425 and (CS 584 with min. grade of C or MATH 569 with min. grade of C or MATH 564 with min. grade of C)
Lecture: 0 Lab: 6 Credits: 6
CSP 581
Applied Artificial Intelligence Programming

To learn AI programming algorithms and techniques in common lisp. Time is split between common Lisp topics and discussions of implementation strategies for AI algorithms.

Prerequisite(s): CS 440 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 584
Enterprise Web Applications

This course discusses the architectures, technologies and techniques used in the development of the object-oriented enterprise web applications using technologies such as AJAX, Servlets, Java Server Pages, HTTP protocol, XML/HTML, Sessions/Cookies, JDBC, and Multithreading. Multitier architectures, application servers, client-server model and MVC architecture will be discussed and analyzed. The course also discusses the application architecture and the process to store the transactional data in document-oriented or relational database engines and how to connect the application servers to social media websites to collect the data for further analysis using Python/Pandas and use the results of the analysis in effective marketing campaigns, sentiment analysis, and focused advertisement.

Prerequisite(s): CS 445 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 586
Software Modeling Development with UML

Students will obtain a significant exposure to the UML technology. This will include exposure to modeling, model-driven development, executable models, and round-trip engineering.

Prerequisite(s): CS 487 with min. grade of C or CS 445 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 587
Software Quality Management

Students will learn methods of software quality management. this will include exposure to software quality assurance, quality measures, and quality control. These quality management methods will be explained at the applications level.

Prerequisite(s): CS 487 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 588
User-Centered Design for Software Engineers

This course will present to students a system design methodology rooted in making the user part of the process. The course will begin by introducing the concepts of user-centered design, and will then take the students through the various aspects of systems design, including technical approaches and user-experience implications. The course will equip students with tools and methods for better understanding the needs of users and will teach them to translate these requirements into an effective design as measured by user situation awareness.

Prerequisite(s): CS 487 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 595
Topics in Computer Science Professional Master

Lecture: 3 Lab: 0 Credits: 3