CS - Computer Science
Prerequisites: A minimum grade of B- in both MATH 505 and CSIT 512, or permission of the instructor. A comprehensive introduction to the general organization, architecture, and functional characteristics of computer systems. Topics include machine level representation of data, assembly level machine organization, memory system organization and architecture, alternative architectures and device interfaces.
Credits
3.0
Offered
Fall Semester
No prerequisite.
Introduction to programming concepts and techniques used in problem solving using a modern programming language. Students design, implement and test programs to solve problems in IT, business and science. Topics include I/O, expressions, types, variables, branching, loops, web programming, program planning and simple multimedia programming.
Credits
3.0
Offered
Both Semesters
Prerequisite: A minimum grade of "B-" in CSIT 512. Intensive introduction to object-oriented programming and advanced data structures. Topics include heaps, priority queues, hash tables, B+, B* trees and graphs. Emphasizing advantages and disadvantages of design and implementation choices, and the way these choices affect software quality. Instruction will be in the C++ programming language.
Credits
3.0
Offered
Fall Semester
Prerequisites: MATH 505, Calculus and CS 519. Introduction to the analysis and design of algorithms. Topics include: sorting, searching, advanced tree structures, graph algorithms, network flow problems, amortized analysis, divide-and-conquer, greedy algorithms, dynamic programming, combinatorial search algorithms, computational geometry and NP-completeness.
Credits
3.0
Offered
Spring Semester
Prerequisites: CSIT/CYBR 555 or Permission of Instructor
Concepts of information assurance and security risk assessment. Protecting the confidentiality, integrity, and availability of data and their delivery systems. Topics include security assessment definitions and nomenclature, approaches for risk assessment, high assurance system design and techniques for quantitative and qualitative risk analysis.
Credits
3.0
Cross Listed Courses
Also offered as
CYBR 521
Offered
Spring and/or Summer Semester
Prerequisites: MATH 500 and CS 519.
Introduces basic principles and methods for data analysis and knowledge discovery to computer science students. Topics include preprocessing, association, classification and anomaly detection. Students develop basic skills for modeling and performance evaluation.
Credits
3.0
Cross Listed Courses
Double-numbered course; offered with undergraduate-level
CS 422
Offered
Fall Semester
Prerequisite: A minimum of "B-" in CSIT 512, or permission of the instructor. Comprehensive examination of the theory and practice behind software development. Students design, develop, implement and release a significantly sized software product.
Credits
3.0
Offered
Fall Semester
Prerequisite: A minimum grade of "B-" in CS 524 or permission of the instructor. Comprehensive examination of the theory and practice behind software testing and quality assurance. Topics include: the software testing process, testing methods, test models, test design techniques, integration, regression, measurement, unit testing, slicing, debugging, inspection and software metrics.
Credits
3.0
Offered
Spring Semester (Odd Years)
Prerequisites: CS 530 or BIFX 530 (concurrent enrollment is permitted); or Permission of the instructor
This course provides an overview of Data Science, covering a broad selection of challenges and methodologies for working with big data. Topics to be covered include data collection, integration, management, modeling, analysis, visualization, prediction, and informed decision making. Students work on hands-on projects and case studies using real data sets from a variety of domains including science, business, engineering, social sciences, and life sciences.
Credits
3.0
Cross Listed Courses
Double-numbered course; offered with undergraduate level
CS 427
Offered
Spring Semester
Prerequisite: A minimum grade of "B-" in CSIT 512, or permission of the instructor. History, fundamental principles, and future directions of A.I. Topics include state-space searching, knowledge representation, logic and deduction, natural language processing, neural networks, learning, vision, robotics, and cognitive science. Topics will be treated at a level of depth and detail appropriate for a first course in AI.
Credits
3.0
Cross Listed Courses
Double-numbered course; offered with undergraduate-level
CS 428
Offered
Fall Semester
Prerequisite: A minimum grade of B- in CSIT 512, or permission of the instructor. Not open to students who have completed IT 530. Design and implementation of databases from a real world applications point of view. The course includes database concepts such as basic architectural issues, the relational model, query processing, logical database design and normalization theory and data protection issues.
Credits
3.0
Offered
Spring Semester
Prerequisites: CSIT/CYBR 555 or permission of the instructor. Theory and practice behind the analysis of computing and networking equipment to determine if systems and networks have been used for illegal, unauthorized or unusual activities.
Credits
3.0
Cross Listed Courses
Also offered as
CYBR 532
Offered
Both Semesters
Prerequisites: CSIT 555 or CYBR 555 and CSIT 548 or CYBR 548 or permission of the instructor.
Examination of the pervasive security threats related to the Internet, data communications and networking. Real-time or near real-time capture of information and the systematic tracking of transmissions. Topics include network-borne threats, detection, prevention and analysis; authentication; malicious software and firewalls.
Credits
3.0
Cross Listed Courses
Also offered as
CYBR 534
Offered
Both Semesters
Prerequisites: A minimum grade of B- in CSIT 555 or permission of the instructor. Introduction to cryptology, the science of making and breaking secret codes. Topics include encryption, cryptanalysis, public and secret key encryption, block ciphers and digital signatures. Classic and modern cryptography and encryption concepts will be introduced as tools and safeguards to be applied, implemented and evaluated in real-world scenarios.
Credits
3.0
Cross Listed Courses
Also offered as
CYBR 537
Offered
Spring Semester (Even Years)
Prerequisite: CSIT 512 or IT 514 (MS in IT students) or permission of the instructor. The role of human factors and psychology in usability; interaction and interface design issues; command languages, menus, error messages and response time physical interaction, I/O devices and interaction style and techniques; the design process and user models; interface evaluation; integration of user interfaces with software engineering.
Credits
3.0
Offered
Spring Semester (Odd Years)
Prerequisites: CSIT 512 and CS 528. Introduction to the field of modeling learning with computers. Topics included are explorations of inductive learning, learning decision trees, ensemble learning, computational learning theory, and statistical learning methods.
Credits
3.0
Cross Listed Courses
Double-numbered course; offered with undergraduate-level
CS 443
Offered
Spring Semester (Even Years)
Data communications, computer networks and open systems. In-depth review of basic terminology and concepts in telecommunication protocols, transmission techniques, network architecture alternatives, internetworking, circuit and packet switching and telecommunication solutions.
Credits
3.0
Cross Listed Courses
Also offered as
CYBR 548
Offered
Both Semesters
Prerequisite: A minimum grade of B- in MATH 505, or permission of the instructor. Introduction to combinational and sequential circuit design. Topics include Boolean algebra and simplification techniques, arithmetic circuits, decoders, flip-flops, counters, registers, memory systems, analog-to-digital conversion and VHDL programming.
Credits
3.0
Cross Listed Courses
Double-numbered course; offered with undergraduate-level
CS 450
Offered
Spring Semester (Even Years)
Prerequisite: CS 519 or Permission of Instructor. Digital Signal Processing (DSP) is concerned with the representation, transformation and manipulation of signals using computer technology. This course will introduce the basic concepts and techniques for processing discrete-time signals.
Credits
3.0
Cross Listed Courses
Double-numbered course; offered with undergraduate-level
CS 451
Offered
Spring Semester (Odd Years)
Prerequisite: CS 519 or Permission from Instructor
This course introduces the field of deep neural network-enabled machine learning with applications in computer vision and natural language processing. Deep learning is behind many recent advances in artificial intelligence, including speech recognition and self-driving cars. Students will work on big data projects using cloud resources from fastest supercomputers in the world.
Credits
3.0
Offered
Offered Annually As Needed
Prerequisite: CS 519 or Permission of Instructor
Students will examine the concepts and practices of embedded systems, and work hands-on with modern hardware devices to program various applications for controlling electronics. In the process, they will gain experience both in directly programming embedded devices and high-level networked control of multiple embedded devices. Students will also gain familiarity with example hardware and application domains relevant to embedded interfaces.
Credits
3.0
Offered
Offered Annually As Needed
Prerequisites: IT 510 or permission of the instructor.
Technical, operational and managerial issues of computer systems. Threats to computer security including schemes for breaking security, and techniques for detecting and preventing security violations. Emphasis will be on instituting safeguards, examining types of security systems and applying the appropriate level of security for perceived risks.
Credits
3.0
Cross Listed Courses
Also offered as
CYBR 555
Offered
Spring Semester and/or Summer
Prerequisite: CS 577 or Permission of Instructor
This is a course in the musical and sonic applications of embedded systems programming. In this course, you will write programs in Python and other languages that generate sound and music using syntax and constructions with which you are already familiar from your core programming courses. The programs you write in this course will be designed to run on system-on-chip boards such as the Raspberry Pi.
Credits
3.0
Offered
Offered Annually As Needed
Prerequisites: A minimum grade of B- in both CS 508 and CS 519, or permission of the instructor. An in-depth study of architectural concepts and principles including performance-based design tradeoffs. Topics to be covered include: instruction set design, arithmetic algorithms, hardwired and microprogrammed control, memory hierarchy design, input/output, pipelines, RISC, CISC, vector processors, parallel processors and superscalar machines.
Credits
3.0
Cross Listed Courses
Double-numbered course; offered with undergraduate-level
CS 461
Offered
Fall Semester (Even Years)
Prerequisites: A minimum grade of B- in both CS 508 and CS 519, or permission of the instructor. A comprehensive introduction to the fundamental principles of operating systems illustrated by examples from contemporary systems. This course emphasizes the design tradeoffs involved in operating system design. Topics include: process management; concurrency; deadlock; cpu scheduling; memory management; disk management; files systems; security; and distributed, real-time and multiprocessor operating systems.
Credits
3.0
Offered
Spring Semester
Prerequisites: CS 519 and CS 530 or CSIT 512 and IT 530
This course examines advanced data management concepts and technologies. Topics include indexing structures, query processing, transaction management, data security, data warehousing, object-oriented extensions, XML, distributed data management, and recent advances and alternate architectures for Big Data management and processing.
Credits
3.0
Offered
Fall Semester
Prerequisites: A minimum grade of B- in CS 519 or permission of the instructor. A comprehensive introduction to both the principles and the practice of parallel computing. Topics to be covered include: programming and architectural models, parallel algorithms and parallelizing compilers.
Credits
3.0
Cross Listed Courses
Double-numbered course; offered with undergraduate-level
CS 466
Offered
As Needed
Prerequisites: A minimum grade of "B-" in both CS 508 and CS 519, or permission of the instructor. Survey of major programming paradigms and their related languages, including procedural, functional, logic and object-oriented programming. Topics include: binding, exception handling, data sharing, scope, parameter passing, type checking, runtime storage management, lexical analysis, syntactic analysis, parsing, code generation and optimization.
Credits
3.0
Offered
Fall Semester (Odd Years)
Prerequisite: permission of the chair of the department. A maximum of 6 credits may be applied to a degree program. Reading and/or research in a selected field. An approved title for the independent study must be submitted with the registration forms.
Credits
1.0 - 3.0
Offered
Either Semester
Prerequisite: permission of the chair of the department. A maximum of 6 credits may be applied to a degree program. Reading and/or research in a selected field. An approved title for the independent study must be submitted with the registration forms.
Credits
1.0 - 3.0
Offered
Either Semester
Prerequisite: CSIT 512 or Permission from Instructor
This course explores the relationship between computer programming and musical composition. Students study selected elements of music, including sound sources, rhythms, melodies, and harmonies, and learn how to generate these elements with functions and algorithms. Students also develop computer programs that generate structured musical compositions. The course includes several individual hands-on assignments, participation in a "laptop ensemble," and presentation of a final project. Students learn new programming languages and tools from the area of musical computing, solve new problems, and improve their function and algorithm design skills. A background in music may be helpful but is not required. Students are expected to have completed one course in a modern, object-oriented language such as Python, C++, or Java.
Credits
3.0
Offered
Summer Semester
Supervision of the master’s thesis. Required of all degree candidates who select the thesis option.
Credits
6.0
Offered
As Needed
Supervision of the master’s field work project. Required of all degree candidates who select the field work project option.
Credits
6.0
Offered
As Needed
Prerequisites: CS 524 and 18 credits of CS coursework beyond foundation level, and permission of department. Design, creation and documentation of an applications program. Required of all degree candidates who have requested and been accepted for the software engineering project option.
Credits
6.0
Offered
As Needed
Prerequisite: Completion of 15 credits and permission of the instructor.
This course is designed to provide computer science and information technology professionals
with a working knowledge and practical application of the topics covered in CS, IT and MIT
courses. The students will apply current research and accepted practices of CS and IT field in a
variety of professional settings and will perform work supervised by both a professional advisor
and a Hood advisor. Based on the description for the external position, students will craft an
appropriate research/professional plan, in consultation with his/her Hood advisor. This course
will help students synthesize previous concepts and training as they transition to the role of a
professional. This course counts as an elective toward degree completion.
Credits
1.0 - 6.0
Offered
As Needed