Computer Science Prof Master (CSP)

CSP 527
Client-Server Applications Development

Through hands-on experience in developing a client-server database project and developing and managing a client-server Internet project, this course teaches advanced skills for effective design and implementation of client-server applications. Students will examine the architectural and functionality decisions, technologies, configurations, languages, and techniques associated with client-server systems. Active/passive client-server technologies, as well as public, enterprise-wide, and inter-enterprise approaches to decision and operation support are discussed and implemented.

Prerequisite(s): CS 425 with min. grade of C
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
Internet Design and Analysis

This course examines the principles for network design. The design process is studied from requirements gathering to deployment. The student will gain experience in estimating application load, network sizing, component choice, and protocol choice. Internetworking between popular components and protocols will be studied. Analytical and simulation techniques are described and used to design several local- and wide-area networks.

Prerequisite(s): CS 455 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 543
Multimedia Networking

This course covers the architectures, protocols, and design issues for multimedia networks. Topics covered include coding, compression, streaming, synchronization, QoS, and adaptation. Current tools for multimedia networking will be surveyed. Issues with multimedia application development will be explored. Students will design and develop multimedia applications.

Prerequisite(s): CS 455 with min. grade of C
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 545
Wireless Networking Technologies and Applications

This course will present the foundation of wireless technologies and examine state-of-the-art wireless systems, services, network technologies, and security.

Prerequisite(s): CS 542 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 550
Internet Programming

This course discusses current fundamental concepts and development techniques for distributed applications. Topics covered include multithreaded programs, sockets, message-passing systems, remote method invocation and procedure calls, peer-to-peer networks, and underlying technologies for internet applications.

Prerequisite(s): CS 450 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
CSP 551
Advanced UNIX Programming

This course provides a hand-on introduction to UNIX programming topics such as standard application programmer interfaces, concurrent programming, UNIX processes and threads, shell programming, UNIX interprocess communications, client-server designs, and application portability.

Prerequisite(s): CS 450 with min. grade of C
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 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 585
Object-Oriented Design Patterns

This course introduces the principles of design patterns for Object-Oriented software systems. A catalog of design patterns is shown, to illustrate the roles of patterns in designing and contracting complex software systems. The catalog of design patterns also provides a pragmatic reference to a well-engineered set of existing patterns currently in use. Also discussed is the impact of post-object oriented software development on design patterns.

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