500

CS 508 Computer Organization and Design

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

Both Semesters

CSIT 512 Elements of Computer Programming

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

CS 519 Advanced Data Structures

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

Both Semesters

CS 520 Algorithm Analysis

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

CS 522 Data Mining

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

Offered

Summer Semester

CS 524 Principles of Software Engineering

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

CS 525 Software Testing & Quality Assurance

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)

CS 528 Artificial Intelligence

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

CS 530 Introduction to Database Management Systems

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

CSIT 532 Computer Forensics

Prerequisites: IT 518 or CS 524 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

Offered

Both Semesters

CSIT 534 Network and Internet Security

Prerequisites: CSIT 555 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

Offered

Fall Semester

CSIT 537 Applied Encryption and Cryptology

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

Offered

Spring Semester (Even Years)

CSIT 540 Human-Computer Interaction

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)

CS 542 Perception in Artificial Intelligence

Prerequisites: CSIT 512 and CS 528. This course deals with the simulation of human perception. Specific topics investigated include methods for pattern recognition and employing neural networks in perceptual tasks.

Credits

3.0

Offered

Fall Semester (Even Years)

CS 543 Machine Learning

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)

CS 544 Knowledge Representation & Reasoning

Prerequisites: CSIT 512 and CS 528. This course provides a comprehensive examination of current approaches to knowledge representation. Topics covered will include first order logic, ontological engineering, reasoning systems and dealing with uncertainty.

Credits

3.0

Offered

Fall Semester (Odd Years)

CS 545 Robotics & Intelligent Systems

Prerequisites: A minimum grade of B- in CS 528, or permission of the instructor. Comprehensive examination of the theory and practice behind robot-building and the deployment of intelligent systems. Topics are divided between robot architectures (control paradigms, kinematics, sensors, actuators and navigation) and cognitive robotics (learning, decision-making, coordination and cooperation).

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with undergraduate-level CS 445

Offered

Spring Semester (Odd Years)

CS 550 Digital Logic and Switching Theory

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)

CS 553 Data Communications & Network Security

Prerequisites: A minimum grade of B- in both CSIT 512 and CS 508, or permission of the instructor. Foundations of networking technology and security. Signaling, signal propagation, data and bit encoding, packetization, wiring, physical and logical topologies, network architectures, protocols and layered models, network security will focus on the origin, axis and impacts of network related threats and their detection, correction and prevention.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with undergraduate-level CS 453

Offered

Fall Semester

CSIT 555 Information Systems Security

Prerequisites: CS 530 or IT 530 and either IT 548 or CS 553, 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

Offered

Spring Semester and/or Summer

CS 557 UNIX System Programming

Prerequisite: A minimum grade of "B-" in CS 519, or permission of the instructor. This course will focus on the UNIX operating system and system level programming in the UNIX environment. Course includes an in-depth study of UNIX file handling, process structure, process control, process scheduling, memory management and interprocess communication.

Credits

3.0

Offered

As Needed

CS 561 Computer Architecture

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 (Odd Years)

CS 564 Operating Systems

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

Cross Listed Courses

Double-numbered course; offered with undergraduate-level CS 464

Offered

Spring Semester

CSIT 565 Advanced Database Management Systems

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

As Needed

CS 566 Parallel Computing

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

CS 571 Programming Languages: Their Design and Compilation

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

Cross Listed Courses

Double-numbered course; offered with undergraduate-level CS 471

Offered

Fall Semester

CS 575 Independent Study

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

CSIT 575 Independent Study

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

CS 577 Algorithms and Music Composition

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

CS 580 Master's Thesis Preparation

Supervision of the master’s thesis. Required of all degree candidates who select the thesis option.

Credits

6.0

Offered

Either Semester

CS 585 Master's Field Work Project

Supervision of the master’s field work project. Required of all degree candidates who select the field work project option.

Credits

6.0

Offered

Either Semester

CS 595 Software Engineering Project

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

Either Semester

CSIT 597 Curricular Practical Training in CS/IT

Pre-Requisites: Completion of 18 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 3-credit course counts as an elective toward degree completion.

Credits

1.0 - 3.0

Offered

Either Semester