Department Chair: Christian Duncan, 203-582-3817
The Department of Computing prepares students for careers that allow them to change the world for the better. The challenges of the 21st century for both the U.S. and the world are great, but for software engineers and computer scientists, they offer exciting challenges and a world of possibilities. Our programs are aimed at developing creative problem solvers, who learn math, science and fundamentals so that they can apply them in solving the ever-changing problems of tomorrow. Our emphasis on application and learning by doing, all in a small class setting, prepares our graduates to successfully enter the workforce or pursue further education.
Accreditation
The Software Engineering program is accredited by the Engineering Accreditation Commission of ABET, https://www.abet.org, under the commission’s General Criteria and Program Criteria for Software and Similarly Named Engineering Programs.
The BS in Computer Science program is accredited by the Computing Accreditation Commission of ABET, https://www.abet.org, under the commission’s General Criteria and Program Criteria for Computer Science and Similarly Named Computing Programs.
Undergraduate
Bachelor of Arts
Bachelor of Science
Minors
Graduate
Master of Science
Dual-Degree Program
Computer Science (CSC)
CSC 105. Computing: Multidisciplinary Approach.3 Credits.
Computation is an increasingly important problem-solving tool in any discipline as the amount and variety of available information rapidly grows. This course is an introduction to computer programming and computational problem solving explored within the context of various application domains. Students will solve interesting problems taken from disciplines across campus as they develop their programming skills. This course is open to everyone. Although only a tool for exploration, the programming language used will be a current popular language such as Python.
Prerequisites: None
Offered: Every year, Fall and Spring
UC: Breadth Elective
CSC 106. Introduction to Programming for Engineers.3 Credits.
This course serves as an introduction to computer science and computer programming for engineers. Topics include fundamental programming constructs, problem-solving techniques, basic data and control structures, and simple data structures and arrays. This course is for non-CSC and non-SER majors.
Prerequisites: None
Offered: Every year, Fall and Spring
CSC 107. Structured Programming Techniques.1 Credit.
The main purpose of this course is to fill any gaps between Programming and Problem Solving course (CSC 110) and the Introduction to Programming for Engineers course (CSC 106). Topics include a basic programming refresher (in Java), binary number representation, debugging strategies and simple recursion.
Prerequisites: Take CSC 106; Minimum grade C-.
Offered: As needed
CSC 109. Special Topics.3 Credits.
Prerequisites: None
Offered: As needed, All
CSC 110. Programming and Problem Solving.3 Credits.
This course serves as an introduction to computer science and computer programming. Topics include fundamental programming constructs; problem-solving techniques; basic data and control structures; testing; debugging; arrays; and an introduction to object-oriented programming. A lab is included.
Corequisites: Take CSC 110L.
Offered: Every year, Fall and Spring
CSC 110L. Programming and Problem Solving Lab.1 Credit.
Students gain experience in the practice of programming and problem solving by completing a series of hands-on activities, which increase in complexity, covering a range of topics from the CSC 110 course. This course is taken in conjunction with CSC 110.
Corequisites: Take CSC 110.
Offered: Every year, Fall and Spring
CSC 111. Data Structures and Abstraction.3 Credits.
This course is a continuation of CSC 110. Topics include advanced data structures (linked lists, stacks, queues, trees, hash tables), recursion, abstract data types, introductory algorithms, and intermediate object-oriented programming. A lab is included.
Prerequisites: Take CSC 110 and CSC 110L; or CSC 107 with program director approval; Minimum grade C-.
Corequisites: Take CSC 111L.
Offered: Every year, All
CSC 111L. Data Structures and Abstraction Lab.1 Credit.
Students gain experience in data structures programming by completing a series of activities, which increase in complexity, covering a range of topics from the CSC 111 course. This course is taken in conjunction with CSC 111.
Prerequisites: Take CSC 110 and CSC 110L; or CSC 107 with program director approval; Minimum grade C-.
Corequisites: Take CSC 111.
Offered: Every year, All
CSC 125. Intro to Version Control and Collaboration Strategies.1 Credit.
This course covers supplemental material that goes hand-in-hand with developing software programs. Topics include using version control to manage software, strategies for collaborating with other developers while working on a joint project, and using various platform specific tools. Prior programming experience is expected. This course does not count as a CSC elective.
Prerequisites: Take at least one of the following: CSC 105, CSC 106, CSC 107, CSC 110, GDD 140, or permission from program director.
Offered: Every year, Spring
CSC 150. AI for Everyone.3 Credits.
This course provides a broad exposure to artificial intelligence, including its history and current usage. Students will learn about the growth of artificial intelligence from the early days of computing up to the current state-of-the-art systems that they interact with daily, sometimes without even realizing it. Students will review academic and professional use cases for AI, as well as its foundations and ethical usage. Case studies will be used to consider how AI systems are used in a variety of disciplines.
Prerequisites: None
Offered: Every year, Spring
CSC 175. Introductory Topics in Computer Science.1-3 Credits.
This course explores introductory computer science topics not available in other courses as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary. This course does not count as an elective in the major.
Prerequisites: Take CSC 110 CSC 106 or GDD 140; Minimum grade C-;
Offered: As needed
CSC 205. Introduction to Discrete Mathematics (MA 205).3 Credits.
This course introduces students to basic concepts and structures of discrete mathematics. Topics can include propositional and predicate logic, sets and set operations, functions, proof techniques, counting problems, probability and basic number theory. Applications include computer science, biology, social sciences, law and the physical sciences.
Prerequisites: Take CSC 110, CSC 110L or MA 110 or higher; Minimum grade C-.
Offered: Every year, Spring
CSC 210. Digital Logic and Design.3 Credits.
This course introduces the fundamentals of digital logic and design, which serves as the basis of computer architecture. Students will learn about number systems, applied Boolean algebra, and analysis and design of combinational and sequential circuits. Digital tools will be used to build, simulate, and analyze digital designs.
Prerequisites: Take CSC 111 CSC 111L.
Corequisites: Take MA 205.
Offered: Every year, Spring
CSC 215. Algorithm Design and Analysis.3 Credits.
This course presents a study of the design and analysis of algorithms. Topics include asymptotic analysis, complexity theory, sorting and searching, underlying data structures, recursion, greedy algorithms, divide and conquer, dynamic programming, and NP-completeness. Additional topics may include graph algorithms, probabilistic algorithms, distributed computing and parallel algorithms.
Prerequisites: Take CSC 111, CSC 111L; and CSC 205 or MA 205; Minimum grade C-.
Offered: Every year, Fall
CSC 240. Introduction to Computer Security.3 Credits.
This course introduces the general principles of computer security from an applied perspective. Topics covered include various forms of physical and cyber attacks, recognizing and defending against machine and network vulnerabilities, the basic building blocks of secure systems, basic cryptography and the social aspects of security.
Prerequisites: Take CSC 111, CSC 111L; Minimum grade C-.
Offered: As needed
CSC 275. Topics in Computer Science.1-3 Credits.
This course explores general computer science topics not available in other courses as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: Take CSC 111; Minimum grade C-;
Offered: As needed
CSC 310. Operating Systems and Systems Programming.3 Credits.
Students are introduced to operating systems and the software to support these systems. Topics include operating system principles, concurrency, scheduling and dispatch, virtual memory, device management, security and protection, file systems and naming, and real-time systems.
Prerequisites: Take CSC 111, CSC 111L; Minimum grade C-.
Offered: Every year, Fall
CSC 315. Theory of Computation.3 Credits.
This course provides an introduction to the classical theory of computer science. The aim is to develop a mathematical understanding of the nature of computing by trying to answer one overarching question: "What are the fundamental capabilities and limitations of computers?" Specific topics include finite automata and formal languages (defining a model of computation), computability (determining what can be computed and how to prove that something cannot be computed), and complexity (determining what makes some problems so much harder than others to solve, and examining what is the P versus NP question and why it is it important).
Prerequisites: Take CSC 215 or MA 301; Minimum grade C-.
Offered: Every other year, Spring
CSC 318. Cryptography.3 Credits.
Students study methods of transmitting information securely in the face of a malicious adversary deliberately trying to read or alter it. Participants also discuss various possible attacks on these communications. Students learn about classical private-key systems, the Data Encryption Standard (DES), the RSA public-key algorithm, discrete logarithms, hash functions and digital signatures. Additional topics may include the Advanced Encryption Standard (AES), digital cash, games, zero-knowledge techniques and information theory, as well as topics chosen by the students together with the instructor for presentations.
Prerequisites: Take MA 229 or CSC 215; Minimum grade C-.
Offered: Every other year, Spring
CSC 320. Compilers.3 Credits.
This course presents a study of the design and implementation of compilers. Topics include translators and compilers, lexical analysis, syntax analysis and parsing, runtime environments and code generation.
Prerequisites: Take CSC 210, CSC 215, SER 225; Minimum grade C-.
Offered: Every other year, Spring
CSC 325. Database Systems.3 Credits.
Students are introduced to the theory and application of database systems. Topics include data modeling and the relational model, query languages, relational database design, transaction processing, databases and physical database design.
Prerequisites: Take CSC 215 and SER 225. Minimum grade C-required.
Offered: Every other year, Fall
CSC 340. Networking and Distributed Processing.3 Credits.
This course introduces students to net-centric computing, the web as an example of client-server computing, building internet and web applications, communications and networking, distributed object systems, collaboration technology and groupware, distributed operating systems and distributed systems.
Prerequisites: Take CSC 215 and SER 225. Minimum grade C- required.
Offered: Every other year, Spring
CSC 345. Computer Graphics.3 Credits.
This course is an introduction to theory and programming in computer graphics. Topics include graphic systems, fundamental techniques in graphics, basic rendering, basic geometric modeling, visualization, virtual reality, computer animation, advanced rendering and advanced geometric modeling.
Prerequisites: Take CSC 215 and SER 225. Minimum grade C- required.
Offered: As needed
CSC 350. Artificial Intelligence.3 Credits.
This course is an exploration of applied and theoretical topics in artificial intelligence (AI). Topics include search and optimization methods, adversarial game playing, natural language processing, and machine learning techniques, such as neural networks, supervised learning, and reinforcement learning. Additional topics may include large language models, clustering, constraint satisfaction, computer vision, robotics, knowledge-based systems, and planning.
Prerequisites: Take CSC 215. Minimum grade C-
Offered: As needed
CSC 351. Natural Language Processing.3 Credits.
This course introduces students to the foundations of Natural Language Processing (NLP), beginning with classical text-processing and linguistic methods using a modern toolkit. Students learn essential techniques such as corpus exploration, tokenization, part-of-speech tagging, chunking, information extraction, and syntactic parsing. Building on these foundations, the course transitions to modern data-driven NLP through distributional semantics, word embeddings, and neural network models for text classification and sequence modeling.Students also receive an introductory understanding of Transformer architectures and attention mechanisms, forming the conceptual bridge toward contemporary pretrained language models. Through hands-on programming assignments and practical exercises, students develop the ability to implement core NLP pipelines and gain the grounding necessary for more advanced study in deep learning and generative AI. Students will explore hands-on programming with real-world datasets using state-of-the-art languages and tools.
Prerequisites: Take CSC 350.
Offered: As needed, Fall
CSC 352. Generative AI.3 Credits.
This course provides a comprehensive, hands-on approach to understanding and implementing Generative AI systems, with a focus on Large Language Models (LLMs). Students will build complete generative models from fundamental principles, covering transformer architecture, attention mechanisms, GPT model, advanced prompting strategies and alignment methods. The course emphasizes both theoretical understanding and practical implementation. Students will create their own functional generative AI applications incorporating state-of-the-art fine-tuning, prompting and alignment techniques.
Prerequisites: Take CSC 350.
Offered: As needed, Spring
CSC 355. Machine Learning.3 Credits.
This course is a survey of machine learning, with an emphasis on the various algorithms and techniques available to machine learning practitioners. The course is divided into three units: supervised learning, unsupervised learning, and reinforcement learning. Students will complete projects that require implementation, comparison, and analysis of these techniques. By the end of the course, students should be able to make informed decisions about which technique(s) will be viable for a particular problem and identify the tradeoffs between applicable techniques.
Prerequisites: Take CSC 215. Minimum grade C- required.
Offered: As needed, Spring
CSC 375. Advanced Topics in Computer Science (SER 300).3 Credits.
This course explores advanced computer science topics not available in other courses, as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: Take CSC 215 and SER 225. Minimum grade C- required.
Offered: Every year, Spring
CSC 399. Independent Study.1-6 Credits.
Prerequisites: None
CSC 490. Computer Science Internship.1-6 Credits.
Prerequisites: None
Offered: As needed
CSC 491. Senior Project I.3 Credits.
Senior Project I is the first part of a two-semester, capstone experience for computer science students. Students analyze and develop a solution to a major project that requires integration and application of knowledge and skills acquired in earlier coursework. Students develop professional experience by working on a team and communicating progress and results to a variety of audiences. Students explore the ethical and legal responsibilities of a computing professional.
Prerequisites: Take CSC 215 and SER 225. Minimum grade C- required.
Offered: Every year, Fall
CSC 492. Senior Project II.3 Credits.
Senior Project II is the second part of a two-semester, capstone experience for computer science students. Students implement and evaluate a solution to a major project that requires integration and application of knowledge and skills acquired in earlier coursework. Students continue to develop professional skills in teamwork and communications, and knowledge of their responsibilities as computing professionals.
Prerequisites: Take CSC 491; Minimum grade C-.
Offered: Every year, Spring
CSC 493. Senior Thesis I.1 Credit.
This course is the first part of a two-semester series in which students work independently under the guidance of a faculty member on the development of a senior thesis. The CSC 493/CSC 494 course sequence provides students with an opportunity to synthesize their knowledge of computer science. Students explore the profession of computing by engaging in the professional literature and exploration of professional ethics. Students meet regularly to present and discuss progress. During the first course in the sequence, students develop a proposal for their thesis, including a literature review, and submit to their adviser for approval.
Prerequisites: Senior status in the major.
Offered: Every year, Fall
CSC 494. Senior Thesis II.3 Credits.
This course is the second part of a two-semester series in which students work independently under the guidance of a faculty member on a significant thesis culminating in the development of a senior thesis. The CSC 493/CSC 494 course sequence provides students with an opportunity to synthesize their knowledge of computer science. Students explore the profession of computing by engaging in the professional literature and exploration of professional ethics. Students meet regularly to present and discuss progress. During the second part in the sequence, students complete the thesis proposed in CSC 493.
Prerequisites: Take CSC 493; Minimum grade C-.
Offered: Every year, Spring
Software Engineering (SER)
SER 120. Object-Oriented Design and Programming.3 Credits.
This course serves as an introduction to the principles of design and development using object-oriented techniques such as inheritance, polymorphism and encapsulation. Students apply OO techniques to develop event-driven programs. Code craftsmanship is emphasized. Students also learn to apply and recognize design patterns for OO software and to use standard application development frameworks.
Prerequisites: Take CSC 110 and CSC 110L; or CSC 107 with Program Director approval; Minimum grade C-.
Corequisites: Take SER 120L.
Offered: Every year, Fall and Spring
SER 120L. Object-Oriented Design and Programming Lab.1 Credit.
Students gain experience in object-oriented programming and design by completing a series of activities, covering a range of topics from the Object-Oriented Design and Programming course (SER 120). This course is taken in conjunction with SER 120.
Prerequisites: Take CSC 110 and CSC 110L; or CSC 107 with Program Director approval; Minimum grade C-.
Corequisites: Take SER 120.
Offered: Every year, Fall and Spring
SER 175. Introductory Topics in Software Engineering.1-3 Credits.
This course explores introductory software engineering topics not available in other courses as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary. This course does not count as an elective in the major.
Prerequisites: Take CSC 110 CSC 106 or GDD 140; Minimum grade C-;
Offered: As needed
SER 210. Software Engineering Design and Development.3 Credits.
This course serves as an introduction to software engineering using object-oriented analysis and design. The course emphasizes the development of robust and high-quality software systems based on object-oriented principles. Implementations are performed using state-of-the-art programming languages and application development frameworks.
Prerequisites: Take SER 120, SER 120L CSC 111 and CSC 111L; Minimum grade C-.
Offered: Every year, Spring
SER 225. Introduction to Software Development.3 Credits.
This course presents introductory software development concepts including group development, large-scale project work and theoretical aspects of object-oriented programming. The course expands on material from previous courses. Professional behavior and ethics represent an important component of this course.
Prerequisites: Take CSC 111, CSC 111L; Minimum grade C-.
Offered: Every year, Fall
SER 275. Topics in Software Engineering.1-3 Credits.
This course explores general software engineering topics not available in other courses, as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: Take SER 120; Minimum grade C-;
Offered: As needed
SER 300. Advanced Topics in Computer Science (CSC 375).3 Credits.
This course explores advanced computer science topics not available in other courses, as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: Take CSC 215, CSC 225; Minimum grade C-.
Offered: Every year, Spring
SER 305. Advanced Computational Problem Solving.3 Credits.
This course presents computational problem solving and advanced algorithmic thinking techniques. It expands on material from previous courses. Students also learn about advanced APIs and software development frameworks, including APIs for advanced collections and concurrent programming, and gain additional experience with frameworks for testing and building software systems.
Prerequisites: Take CSC 215, SER 120, SER 120L; Minimum grade C-.
Offered: Every year, Fall
SER 310. User Interface Design.3 Credits.
This course introduces students to the principles and practices of modern User Interface (UI) design. Students will explore visual design fundamentals, color theory, accessibility, responsive layouts, interaction patterns, and design systems. Emphasis is placed on applying design principles to create interfaces that are visually appealing, accessible, and user- centered. Through hands-on projects and industry-relevant tools, students will gain practical experience in designing and prototyping interfaces for both web and mobile platforms. By the end of the course, students will have developed a professional portfolio project that demonstrates their ability to design, prototype, and evaluate interactive user interfaces.
Prerequisites: Take SER 225.
Offered: As needed, Fall and Spring
SER 320. Software Design and Architecture.3 Credits.
Students explore software design methodologies, architectural styles, design principles and design techniques. The course examines the principles and methods of architectural design and detailed design of complex, large-scale software systems and covers a number of architectural styles including classical and emerging styles.
Prerequisites: Take SER 340; Minimum grade C-.
Offered: Every year, Spring
SER 325. Databases (CSC 325).3 Credits.
Students are introduced to the theory and application of database systems. Topics include data modeling and the relational model, query languages, relational database design, transaction processing, databases and physical database design.
Prerequisites: Take CSC 215 and CSC 225 or SER 225 Minimum grade C-.
Offered: Every other year, Spring
SER 330. Software Quality Assurance.3 Credits.
This course acquaints students with various aspects of software quality assurance. Students learn about dynamic analysis approaches, such as testing and runtime assertions, static analysis approaches, such as reviews and finite-state verification, and processes for promoting software quality. Emphasis is placed on testing, including testing processes, such as unit, integration, system, acceptance and regression testing, and test case selection techniques, such as black-box and white-box testing. The relationship between ethics and software quality assurance is explored.
Prerequisites: Take SER 210; Minimum grade C-.
Offered: Every year, Spring
SER 340. Full-Stack Development 1:Software Requirements Analysis.3 Credits.
This course covers basic concepts and principles of software requirements engineering including techniques, processes and tools for specifying software requirements. Students learn software prototyping and front-end web development using the latest technologies. Topics include: Layout and responsive design, interactive web development, and functional web programming.
Prerequisites: Take SER 210; Minimum grade C-.
Offered: Every year, Fall
SER 341. Full-Stack Development 2: Software Design.3 Credits.
This course covers software design methodologies, architectural styles, design principles and design techniques. Students learn back-end web development including building a web service, non-relational databases, routing, aunthentication and state-of-the-art front-end frameworks.
Prerequisites: Take SER 340 Minimum grade of C-
Offered: Every year, Spring
SER 350. Software Project Management.3 Credits.
This course acquaints students with various aspects of software project management. Students learn about project initiation and scope definition; project planning, enactment and closure; measuring and controlling software artifacts and processes; risk management; and human aspects of software project management. Students use various tools for software project management and obtain hands-on experience by acting as managers of an ongoing software project.
Prerequisites: Take SER 225; Minimum grade C-.
Offered: Every year, Fall
SER 360. Software Engineering in Health Care.3 Credits.
Biomedical informatics is one of the fastest growing economic sectors in the world. Software, and thus software engineering, has an important role in biomedical informatics. Students in this course explore the applicability of software engineering techniques to health care. Topics include electronic health records; modeling and analysis of medical processes with the goal of improving safety and efficiency; software solutions for providing clinical decision support; and bioinformatics.
Prerequisites: Take CSC 215, CSC 225; Minimum grade C-.
Offered: Every other year, Fall
SER 375. Advanced Topics in Software Engineering.1-3 Credits.
Software engineering is a rapidly evolving discipline. This course explores advanced software engineering topics that are not covered in any current software engineering course, or expands on topics currently offered in the catalog. A specific course's focus may be interdisciplinary.
Prerequisites: Take SER 225; Minimum grade C-.
Offered: As needed
SER 399. Independent Study.1-3 Credits.
Independent study courses are individual examinations of topics within the discipline not covered by conventional courses. Students who wish to engage in independent study must work with a departmental faculty. Students and faculty must agree on a topic, structure and meeting schedule.
Prerequisites: None
Offered: As needed
SER 490. Engineering Professional Experience.0-1 Credits.
Students gain practical experience in applying theory obtained in previous course experiences by employing engineering skills in a professional setting under the guidance of faculty and mentors. Students must obtain departmental approval and register prior to starting the experience. If approved, an internship could satisfy this requirement. Prerequisite may be waived with permission of adviser.
Prerequisites: Take ENR 395; Minimum grade C-.
Offered: Every year, All
SER 491. Senior Capstone I.3 Credits.
This is the first part of a two-semester, capstone design experience for software engineering students. It involves analysis and synthesis of unstructured problems in practical settings. Students work in teams to formulate issues, propose solutions and communicate results in formal written and oral presentations
Corequisites: Take SER 340.
Offered: Every year, Fall
SER 492. Senior Capstone II.3 Credits.
This is the second part of a two-semester, capstone design experience for software engineering students. Students work in teams to refine software artifacts developed in SER 491 and produce a prototype of a software system. Results are communicated in formal written and oral presentations.
Prerequisites: Take SER 491; Minimum grade C-.
Offered: Every year, Spring
Computer Science (CSC)
CSC 500. Intelligent Systems.3 Credits.
Artificial Intelligence is an umbrella topic covering efforts in a variety of fields all searching for one goal: to get computers to perform well at tasks at which humans excel. Topics include fundamental issues in intelligent systems, search and optimization methods, knowledge representation and reasoning, learning, agents, computer vision, natural language processing, pattern recognition, advanced machine learning, robotics, knowledge-based systems, neural networks and genetic algorithms.
Prerequisites: None
Offered: Every other year, Spring
CSC 510. Computer Architecture.3 Credits.
This course provides a comprehensive presentation of the organization and architecture of high-performance computers, emphasizing both fundamental principles and the critical role of performance in driving computer design. The topics include CPU design, pipeline design, parallel computing and multi-cores, memory hierarchy, storage, GPGPU, communications and interconnect architectures.
Prerequisites: None
Offered: Every year, Spring
CSC 515. Algorithms & Design.3 Credits.
This course presents an advanced study of the design and analysis of algorithms. Topics include asymptotic analysis, complexity theory, dynamic programming, order statistics, advanced data structures, graph algorithms, approximation algorithms, string matching, randomized algorithms, and parallel algorithms.
Prerequisites: None
Offered: Every year, Spring
CSC 520. Operating Systems.3 Credits.
This course represents an advanced study of operating systems and the software to support these systems. Topics include operating system principles, concurrency, scheduling and dispatch, virtual memory, device management, security and protection, file systems and naming, and real-time systems.
Prerequisites: None
Offered: Every year, Fall
CSC 530. Embedded Systems.3 Credits.
The vast majority of computers in use today are not visible. They are instead embedded in other things. Embedded systems can be found in everything from robots to smart home devices. This course explores the hardware and software of embedded systems, with particular emphasis on getting data in and out of embedded devices.
Prerequisites: None
Offered: Every year, Fall
CSC 551. Natural Language Processing.3 Credits.
This course introduces students to the foundations of Natural Language Processing (NLP), beginning with classical text-processing and linguistic methods using a modern toolkit. Students learn essential techniques such as corpus exploration, tokenization, part-of-speech tagging, chunking, information extraction, and syntactic parsing. Building on these foundations, the course transitions to modern data-driven NLP through distributional semantics, word embeddings, and neural network models for text classification and sequence modeling. Students also receive an introductory understanding of Transformer architectures and attention mechanisms, forming the conceptual bridge toward contemporary pretrained language models. Through hands-on programming assignments and practical exercises, students develop the ability to implement core NLP pipelines and gain the grounding necessary for more advanced study in deep learning and generative AI. Students will explore hands-on programming with real-world datasets using state-of-the-art languages and tools.
Prerequisites: None
Offered: As needed, Fall
CSC 552. Generative AI.3 Credits.
This course provides a comprehensive, hands-on approach to understanding and implementing Generative AI systems, with a focus on Large Language Models (LLMs). Students will build complete generative models from fundamental principles, covering transformer architecture, attention mechanisms, GPT model, advanced prompting strategies and alignment methods. The course emphasizes both theoretical understanding and practical implementation. Students will create their own functional generative AI applications incorporating state-of-the-art fine-tuning, prompting and alignment techniques.
Prerequisites: None
Offered: As needed, Spring
CSC 555. Machine Learning.3 Credits.
This course is a survey of machine learning, with an emphasis on the various algorithms and techniques available to machine learning practitioners. The course is divided into three units: supervised learning, unsupervised learning, and reinforcement learning. Students will complete projects that require implementation, comparison, and analysis of these techniques. By the end of the course, students should be able to make informed decisions about which technique(s) will be viable for a particular problem and identify the tradeoffs between applicable techniques.
Prerequisites: None
Offered: As needed, Spring
CSC 575. Special Topics in Computer Science.1-4 Credits.
This course explores computer science topics not available in other courses, as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: None
Offered: As needed, All
CSC 605. Foundations of Cybersecurity.3 Credits.
This course introduces students to fundamental security principles and security defense. Students learn the concepts of information security risks, vulnerabilities, assets and threats.
Prerequisites: None
Offered: As needed
CSC 615. Computational Geometry.3 Credits.
This course focuses on designing and analyzing algorithms for solving geometric problems arising from application domains including graphics, robotics, and GIS.
Prerequisites: None
Offered: As needed
CSC 625. Database Systems.3 Credits.
This course provides an advanced study of the theory and application of database systems. Topics include data modeling and the relational model, query languages, relational database design, transaction processing, databases and physical database design.
Prerequisites: None
Offered: As needed
CSC 630. Parallel Processing and Design.3 Credits.
This course explores parallel computing with emphasis on programming massively parallel processors such as graphics processor units (GPUs). The students will make extensive use of parallel programming schemes such as Compute Unified Device Architecture (CUDA). The topics covered are instruction and data level parallelism, CUDA programming, control flow and synchronization, shared memory programming, performance optimization.
Prerequisites: None
Offered: As needed
CSC 640. Computer Networks.3 Credits.
This course provides an advanced study of the theory and application of net-centric computing, client-server computing, communications and networking, and distributed systems.
Prerequisites: None
Offered: As needed
CSC 645. Computer Graphics.3 Credits.
This course focuses on the theory and development of computer graphics technology. Topics include graphic systems, transformations in graphics, quaternions, rendering, geometric modeling, computer animation, ray tracing, and GPU programming (shaders).
Prerequisites: None
Offered: As needed
CSC 650. Neural Networks.3 Credits.
This course explores neural networks and will cover biological neurons, artificial neural networks, learning algorithms, perceptron, multilayer perceptron, various other neural network models, and applications of neural network techniques. This is a project-oriented class; hence, students are required to complete a project in groups of two. Projects can be based on any neural network topology.
Prerequisites: None
Offered: As needed
CSC 675. Advanced Topics in Computer Science.1-4 Credits.
This course explores advanced computer science topics not available in other courses, as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: None
Offered: As needed, All
CSC 690. Computer Science Professional Experience.0-3 Credits.
Students gain practical experience in applying theory obtained in previous course experiences by employing computing skills in a professional setting under the guidance of faculty and mentors. Students must obtain departmental approval and register prior to starting the experience. If approved, an internship could satisfy this requirement. Program Director Approval is required to take this course.
Prerequisites: Program Director course approval required.
Offered: As needed, All
CSC 691. MS Thesis I.1-3 Credits.
This course is a requirement for the thesis option within the MS in Computer Science. Students must demonstrate both breadth and depth of knowledge in their field of specialization. They also must demonstrate scientific research skills and present their findings to a thesis committee.
Prerequisites: None
Offered: Every year, All
CSC 692. MS Thesis II.1-3 Credits.
Thesis II is a requirement for the thesis option of the MS in Computer Science program. Students complete their independent research project, write an original thesis describing their research results, and defend their thesis in front of a thesis committee.
Prerequisites: None
Offered: Every year, All
CSC 699. Independent Study.1-4 Credits.
This individual study in a specialized area is open to graduate students by special arrangement with the program director. This is a structured program of reading, problem solving, software development, and/or experimentation established through conferences with a member of the computing faculty.
Prerequisites: None
Offered: As needed, All
Cybersecurity (CYB)
CYB 505. Introduction to Cybersecurity.3 Credits.
This course will introduce students to basic cybersecurity concepts, including risk management, threats, vulnerabilities, and defense techniques.
Prerequisites: None
Offered: Every year
CYB 506. Introduction to Programming for Security Professionals.1 Credit.
This course introduces students to basic scripting and programming concepts needed for security defense. Course topics include writing scripts for Windows and Linux; understanding basic programming security concepts; basic programming constructs, such as variables, types, loops, functions and data structures.
Prerequisites: None
Offered: Every year, Summer
CYB 509. Operating Systems Security.1 Credit.
This course introduces students to operating systems and the software to support these systems. Topics include operating system security configuration, control objectives, control maintenance and forensics. The course includes hands-on implementation of security controls, including access management, file and process security configuration, and security monitoring.
Prerequisites: None
Offered: Every year, Spring
CYB 510. Introduction to Security Technology.3 Credits.
This course will introduce students to concepts and practices around securing networks, securing operating systems, and securing data with cryptography.
Prerequisites: None
Offered: Every year, Fall and Spring
CYB 517. Introduction to Cryptography.1 Credit.
This course introduces students to cryptography algorithms, protocols and applications. Topics include history; applications, such as SSL and SSH; and protocols, such as hash functions, symmetric and asymmetric cryptography, and attack-vectors for systems.
Prerequisites: None
Offered: Every year, Spring
CYB 520. Concepts and Practices for Securing Data.3 Credits.
This course will introduce students to concepts and practices needed to secure data, in relational, non-relational and IoT platforms.
Prerequisites: None
Offered: Every year, Spring
CYB 524. Relational Database Security.1 Credit.
This course introduces students to different relational database management systems (DMS) and DMS security concerns and methods. Topics covered include hashing and encryption, database access controls, unauthorized access, data corruption and injection.
Prerequisites: None
Offered: Every year, Spring
CYB 526. Non-Relational Database Security.1 Credit.
This course introduces students to the theory, application and security of nonrelational database systems. It focuses on data management, query and security aspects of nonrelational databases. Topics include a comparison between relational and nonrelational database models, NoSQL storage types for different databases such as MongoDB, Hadoop, Amazon DynamoDB, document-based databases and graph databases.
Corequisites: Take CYB 524;
Offered: Every year, Spring
CYB 530. Programming for Security Professionals.3 Credits.
This course will introduce students to programming concepts and practices needed for security defense, including scripting, machine data analytics and security automation.
Prerequisites: None
Offered: Every year, Spring and Summer
CYB 540. Introduction to Secure Networking.1 Credit.
This course introduces students to the theoretical and practical aspects of designing, developing and defending computer networks. Topics include network models, media, architectures, devices, protocols, services, applications and use of network security tools.
Prerequisites: None
Offered: Every year, Spring
CYB 550. Cyber Policy.3 Credits.
There are three parts to this course. The first part covers the applicable federal and state laws and policies related to cyber defense, pertaining to the storage and transmission of data. In the second part, students analyze and develop enterprise security policies. Finally, students learn how to implement machine security policies.
Prerequisites: None
Offered: Every year, Fall and Summer
CYB 575. Special Topics in Cybersecurity.1-4 Credits.
This course explores cybersecurity topics not available in other courses, as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: MS Cybersecurity majors only with prior program director approval required.
Offered: As needed, Fall and Spring
CYB 613. Practical, Hands-On Healthcare Cyber Risk Management.3 Credits.
This course will introduce students to concepts and practices needed to manage HIPAA compliance and security risks, and how to organize and facilitate these practices within an enterprise health organization.
Prerequisites: None
Offered: Every year, Fall
CYB 615. Introduction to Ethical Hacking Operational Reconnaissance, and Penetration Testing..3 Credits.
Students will learn the basics of conducting a penetration test, including understanding the legal requirements, how to conduct reconnaissance operations, operating common penetration testing tools and how to document the results of a penetration test.
Prerequisites: None
Offered: Every year, Summer
CYB 617. Introduction to Cybersecurity Risk in Fin Tech.3 Credits.
This course will equip students to manage cybersecurity risks in the changing landscape of financial technology and applications. Curriculum will include overview of newer technologies such as AI, 5G wireless, cloud and blockchain.
Prerequisites: None
Offered: Every year, Fall and Spring
CYB 660. Programming for Security Analytics.1 Credit.
This course introduces students to basic command-line methods used in machine data analytics. Student learn how to collect machine logs, search log data, and identify anomalies in logs.
Corequisites: Take CYB 506.
Offered: Every year, Summer
CYB 661. Programming for Security Automation.1 Credit.
This course focuses on programming methods that are applicable to security automation. Students gain experience in automation using Python and Cloud native CLI to facilitate such tasks as automated code scanning; automated application scanning in testing and staging; automated network, server, container configuration checks; and continuous monitoring of development pipeline components and job scheduling.
Corequisites: Take CYB 660.
Offered: Every year, Summer
CYB 665. Workforce Access Security.1 Credit.
This course focuses on authentication and user access technologies and practices within the enterprise. Topics include Active Directory services and architecture, and enterprise network access protocols.
Prerequisites: None
Offered: Every year, Fall
CYB 667. B2C Access Security.1 Credit.
This course focuses on authentication and user access technologies and practices within B2C access. Topics include standards-based B2C authentication and access management protocols.
Corequisites: Take CYB 665.
Offered: Every year, Fall
CYB 669. B2B Access Security.1 Credit.
This course covers access concepts based on B2B communication APIs, such as standard-based protocols and B2B on-boarding, for mobile, social and loT applications.
Corequisites: Take CYB 667.
Offered: Every year, Fall
CYB 670. IoT Security.1 Credit.
This course covers security as it pertains to embedded devices, embodied by the growth of the Internet of Things (IoT). Students learn about the specific security issues related to embedded devices, including Linux malware, DDoS attacks, botnets, cryptography and personal privacy.
Corequisites: Take CYB 526.
Offered: Every year, Spring
CYB 675. Ethical Hacking and Penetration Testing.2 Credits.
This course will introduce students to concepts and practices of ethical hacking and penetration testing. Students will learn how to plan, organize, and perform penetration testing on a simple network.
Prerequisites: None
Offered: Spring
CYB 680. Introduction to Cloud Security.1 Credit.
In this course, students learn fundamentals of Cloud computing and Cloud security. This course covers topics such as shared responsibility models for laaS, PaaS, SaaS and FaaS, and Cloud Security Alliance CCM. Students get hands-on experience creating secure systems within a commercial Cloud vendor environment.
Prerequisites: None
Offered: Every year, Fall
CYB 681. Securing Workloads in AWS.1 Credit.
This course covers concepts and practices for securing AWS workloads. Students are introduced to security controls, such as access controls using IAM, logging and auditing, and other AWS security services.
Corequisites: Take CYB 680.
Offered: Every year, Fall
CYB 682. Securing Workloads in Azure.1 Credit.
This course covers concepts and practices for securing Azure workloads. Students are introduced to security controls, such as access controls using IAM, logging and auditing, and other AWS security services.
Corequisites: Take CYB 680.
Offered: Every year, Fall
CYB 683. Resilient System Design and Development.1 Credit.
This course introduces students to the concepts of secure system design and cyber resilience. The content of this course includes best security processes recommended in NIST 800-160 and techniques and technologies needed for secure system design and development.
Prerequisites: Take CYB 680.
Offered: Every year, Spring
CYB 684. Resilient System Testing.1 Credit.
This course introduces students to state-of-the-art concepts and methods to evaluate cyber resiliency. Topics include breach and attack simulation, configuration assessment and compliance. Hands-on experience with systems testing tools is part of this course.
Corequisites: Take CYB 683.
Offered: Every year, Spring
CYB 685. Operating Resilient Systems.3 Credits.
This course includes hands-on experience with tools for security activities such as intrusion detection and cloud security monitoring. Other topics this course covers include Site Reliability Engineering (SRE), maintaining situational awareness and dynamic threat.
Corequisites: Take CYB 684.
Offered: Every year, Spring
CYB 690. Introduction to Secure Authentication And Access.3 Credits.
Students will be introduced to concepts and practices for secure workplace access, secure B2C access and secure B2B access.
Prerequisites: None
Offered: Every year, Fall
CYB 691. MS Cybersecurity Capstone.3 Credits.
This capstone course is designed to enable students to directly utilize what has been learned in the tools and applications courses in order to analyze and offer solutions for a major cybersecurity challenge. A definition of the problem, analysis of options and a comprehensive presentation of findings and solutions are required components of the course.
Prerequisites: Permission of the Program Director.
Offered: Every year, Spring and Summer
CYB 693. Cybersecurity Professional Experience.1-3 Credits.
Students gain practical experience in applying theory obtained in previous courses, by employing cybersecurity skills in a professional setting under the guidance of faculty and mentors. This course is available as an elective option, with one credit awarded per 50 hours of approved internship work. CYB693 can be taken multiple times during the course of study for a maximum of six total credits. Internship approval requires documented pre-approval and a post-internship academic report and presentation.
Prerequisites: None
Offered: As needed, Fall and Spring
CYB 695. Cloud Security.3 Credits.
This course will introduce students to concepts in cloud security as well as practices in AWS and Azure clouds.
Prerequisites: None
Offered: Every year, Fall
CYB 696. Introduction to Designing, Testing, and Operating Resilient Systems.3 Credits.
Students will be introduced to basic concepts of designing, testing and operating resilient systems, including hands-on defense of simulated cyber attack.
Prerequisites: None
Offered: Every year, Fall and Spring
CYB 697. MS Cybersecurity Thesis I.3 Credits.
This course is a requirement for the thesis option within the MS in Cybersecurity. Students must demonstrate both breadth and depth of knowledge in their field of specialization. They also must demonstrate scientific research skills and present their findings to a thesis committee.
Prerequisites: MS Cybersecurity majors only with prior program director approval required.
Offered: As needed, Fall and Spring
CYB 698. MS Cybersecurity Thesis II.3 Credits.
This course is a requirement for the thesis option within the MS in Cybersecurity. Students must demonstrate both breadth and depth of knowledge in their field of specialization. They also must demonstrate scientific research skills and present their findings to a thesis committee.
Prerequisites: Take CYB 697. Minimum grade C- required. MS Cybersecurity majors only with prior program director approval required.
Offered: As needed, Fall and Spring
Informatics (INF)
INF 605. Intro to Programming-Python.3 Credits.
This course introduces graduate students to Python programming with a focus on applications in informatics and data-driven problem solving. Students develop foundational to intermediate programming skills, including data manipulation, file handling, and visualization, while applying Python to real-world datasets. The course also introduces emerging applications of artificial intelligence, such as basic machine learning workflows and natural language processing, illustrating how Python connects core programming concepts to intelligent systems. Through hands-on projects and exposure to AI-assisted development tools (e.g., GitHub Copilot), students gain practical experience in building scalable, analyzable, and reproducible solutions that support informed decision-making across diverse domains.
Prerequisites: None
Offered: Every year, Fall
INF 606. Database Systems.3 Credits.
This course introduces graduate students to the principles of database systems with an emphasis on designing, implementing, and managing data for modern, AI-enabled applications. Students study relational and NoSQL data models, database design, indexing, transaction management, and recovery, while also exploring how artificial intelligence technologies such as embedding models, vector databases, and generative AI can enhance data management through semantic search, intelligent querying, and data quality improvement. Through hands-on projects involving cloud-based database deployment and integration with AI services, students gain practical experience in building scalable, reliable database systems that support both traditional applications and contemporary AI-driven data pipelines.
Prerequisites: None
Offered: Every year, Fall
INF 607. Introduction to Cybersecurity.3 Credits.
This course will introduce students to basic cybersecurity concepts, including risk management, threats, vulnerabilities, and defense techniques.
Prerequisites: None
Offered: Every year, Spring
INF 620. Introduction to Health Informatics.3 Credits.
Health Informatics is the umbrella term for the domains of clinical (i.e. dental, imaging, nursing, pharmacy) and public health informatics. This course provides a comprehensive overview of the field of health informatics, focusing on the fundamental knowledge of health informatics and application of information technology to healthcare delivery and management. Students will explore key concepts such as electronic health records (EHRs), health information exchange (HIE), data standards and the role of informatics in improving patient outcomes and healthcare efficiency. By the end of the course, students will have a foundational understanding of how informatics supports clinical decision-making and enhances healthcare services.
Prerequisites: BS degree in Computer Science or Health Profession is strongly recommended, but not required.
Offered: Every year, Fall
INF 621. Ethical and Legal Issues in Healthcare Informatics.3 Credits.
This course delves into the critical ethical and legal challenges associated with the use of information technology in healthcare. Students will examine topics such as patient privacy, data security, informed consent, and the ethical implications of emerging technologies like artificial intelligence and big data analytics. The course also covers relevant laws and regulations, including HIPAA and GDPR, and their impact on healthcare informatics practices. Through case studies and discussions, students will develop the skills to navigate complex ethical dilemmas and ensure compliance with legal standards in the healthcare informatics field.
Prerequisites: Take INF 620. Minimum C required.
Offered: Every year, Fall
INF 622. Controlled Medical Terminology.3 Credits.
Controlled Medical Terminologies (CMTs) are collections of concepts that can be used to unify and consolidate disparate terminologies in the medical domain. CMTs have been used to encode drugs, diagnoses, procedures, etc and are core components of computer-based tools in the healthcare industry. This course focuses on the standardization and management of medical terminology within healthcare systems. Students will learn about various controlled terminology systems, such as ICD, MeSH, SNOMED, LOINC, UMLS, FMA and will be introduced to classification systems. The course emphasizes the importance of accurate and consistent terminology for effective communication, data exchange, and interoperability in healthcare.
Prerequisites: Take INF 620. Minimum C required.
Offered: Every year, Spring
INF 635. Introduction to Legal Informatics & Ethics.2 Credits.
This course provides a comprehensive overview of the intersection between law and information technology. Students will explore the foundational principles of legal informatics, including the use of technology in legal practice, legal research, and the management of legal information. The course will also delve into the ethical considerations and challenges that arise in the digital age, such as data privacy, cybersecurity, and the ethical use of artificial intelligence in legal contexts. Students will gain a solid understanding of how informatics is transforming the legal landscape and the ethical implications of these advancements.
Prerequisites: None
Offered: Every year, Spring
INF 636. Legal Research.1 Credit.
This course introduces the fundamentals of research and information literacy in a legal context. The course focuses on both free and subscription-based online platforms and resources; navigating algorithmic bias; the promises and pitfalls of generative artificial intelligence; the legal research process; and effectively locating, analyzing and using appropriate secondary sources and primary authority.
Prerequisites: None
Offered: Every year, Spring
INF 637. Cybersecurity Law.3 Credits.
Cybersecurity is a rapidly developing area of the law with roots in constitutional law and privacy rights. Topics include Fourth Amendment freedoms from government search and seizure, privacy rights limiting corporate and government collection and use of personal information, data security laws, data breach litigation, computer hacking cases, developing legislation in the United States and Europe, and public policy around all of these topics.
Prerequisites: None
Offered: Every year, Fall
INF 638. Law Practice Management.3 Credits.
This course will provide students with the knowledge and skills to build and manage a law practice that serves clients well, is profitable, personally rewarding, and prepared for the 21st century, while emphasizing the ethical implications of sound law practice management. The course will focus on general management principles applied to the law office, client relations, fee agreements, docket control and conflicts of interest, malpractice insurance and risk management, timekeeping and billing, personnel management, the 21st century law office library, practice management technology and equipment. The format will include guest lecturers, and individual and group-based projects addressing the problems and issues that arise when managing a law practice.
Prerequisites: None
Offered: Every year, Fall
INF 651. Big Data Management.3 Credits.
This course examines advanced methods for managing, processing, and analyzing large-scale datasets that underpin modern analytics and artificial intelligence systems. Students gain hands-on experience with distributed computing frameworks such as Hadoop and Spark, learning to design scalable data pipelines for ingestion, transformation, and analysis. Emphasis is placed on the role of big data as the foundation for AI applications, including feature engineering at scale, training data management, and distributed model inference. Through practical projects and real-world use cases, students develop the skills needed to build, optimize, and communicate insights from data-intensive systems that support intelligent, large-scale applications.
Prerequisites: Take INF 605 and INF 606. Minimum grade C required.
Offered: As needed, Fall and Spring
INF 652. Data Mining.3 Credits.
This course introduces graduate students to the principles and applications of data mining, with an emphasis on extracting meaningful patterns and knowledge from large and complex datasets. Students study core techniques such as data preprocessing, association rule mining, classification, prediction, clustering, and model evaluation, along with supporting concepts including data warehousing, OLAP, and knowledge representation. The course integrates modern artificial intelligence tools to enhance analytical workflows, enabling students to translate real-world problems into data mining tasks and to interpret and validate results effectively. Through hands-on projects and case studies using real datasets from domains such as business, healthcare, and informatics, students develop the ability to design, implement, and assess comprehensive data mining solutions that combine classical algorithms with AI-driven approaches to support informed, ethical decision-making.
Prerequisites: Take INF 605 and INF 606. Minimum grade C required in both.
Offered: As needed, Fall and Spring
INF 653. Machine Learning.3 Credits.
This course provides a comprehensive introduction to machine learning methods for pattern recognition and predictive modeling, covering both supervised and unsupervised approaches. Students learn core algorithms such as regression, classification, clustering, dimensionality reduction, and ensemble methods, with emphasis on model implementation, evaluation, and interpretability. To bridge theory and practice, the course integrates AI-assisted tools and platforms including interactive environments, visualization frameworks, and intelligent coding assistants to support experimentation, explanation, and rapid prototyping. Through hands-on assignments and applied projects, students develop the ability to design, evaluate, and responsibly deploy machine learning models, connecting foundational concepts with modern AI-powered tools for practical, explainable, and ethical applications.
Prerequisites: Take INF 605. Minimum grade C required.
Offered: As needed, Fall and Spring
INF 656. Applied Time Series Analysis.3 Credits.
This course focuses on methods for analyzing, modeling, and forecasting time-dependent data, integrating classical statistical techniques with modern artificial intelligence approaches. Students study temporal data characteristics, trend and seasonality modeling, stationarity, and forecasting methods such as ARIMA, exponential smoothing, state-space models, and volatility modeling, while also exploring AI-driven techniques including neural forecasting, anomaly detection, and automated model selection. Through hands-on exercises and applied case studies in domains such as finance, healthcare, and informatics, students develop the ability to combine statistical reasoning with intelligent systems to build interpretable, accurate forecasting solutions that support real-world decision making.
Prerequisites: Take INF 605 and INF 606. Minimum grade C required in both.
Offered: As needed, Fall and Spring
INF 657. Data Visualization.3 Credits.
This course provides an introduction and hands-on experience in data visualization, emphasizing the role of AI-driven tools in creating clear and meaningful displays. Students learn fundamental design and evaluation principles to visually represent both quantitative and qualitative data. Techniques for visualizing multivariate, temporal, text-based, geospatial, hierarchical, and network/graph-based data are covered. Throughout the course, students explore how AI can help automate certain tasks, identify patterns, and support informed decision-making when presenting data to various stakeholders.
Prerequisites: None
Offered: Every year, Fall and Spring
INF 658. Data Driven Decision Making.3 Credits.
This course equips graduate students with the skills to apply analytical reasoning and artificial intelligence techniques to support effective, evidence-based decision making across informatics domains. Students learn to formulate decision problems, design analytical workflows, and apply methods such as predictive modeling, clustering, text analytics, and causal inference to extract actionable insights from data. The course integrates classical decision frameworks with modern AI-supported tools to enhance analysis, interpretation, and communication of results. Through applied case studies using real-world datasets from diverse fields, students develop the ability to translate analytical findings into informed strategies, supporting transparent, interpretable, and responsible decision-making in data-driven environments.
Prerequisites: Take INF 605 and INF 606 or equivalent. Minimum grade C required in both.
Offered: As needed, Fall and Spring
INF 659. Probability & Data Analysis.3 Credits.
This course introduces graduate students to the fundamental principles of probability, statistics, and data analysis that underpin modern artificial intelligence and informatics systems. Students develop a rigorous understanding of uncertainty, random processes, and statistical inference while applying computational techniques using Python and AI-supported analytics tools. Topics include exploratory data analysis, probability distributions, hypothesis testing, Bayesian reasoning, and simulation methods, with an emphasis on interpreting results in real-world contexts. Through hands-on analysis of authentic datasets, students gain the ability to make data-informed decisions and build a strong quantitative foundation for advanced study and practice in AI, data science, and informatics.
Prerequisites: Take INF 605, or equivalent. Minimum grade C required.
Offered: As needed, Fall and Spring
INF 670. Generative AI for Informatics.3 Credits.
This course explores cutting-edge techniques in artificial intelligence focused on generating novel data and content. Students delve into deep learning architectures such as Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs), learning to create realistic synthetic data and generate creative outputs. Through hands-on projects, students apply generative AI techniques to various informatics domains, promoting innovation and advancing data-driven solutions.
Prerequisites: Take INF 605, or equivalent. Minimum grade C required.
Offered: As needed
INF 672. Project Management & Leadership.3 Credits.
This course develops a foundation of concepts and solutions required for successful completion of a project. Topics include planning, scheduling, controlling, resource allocation and performance measurement.
Prerequisites: None
Offered: Every year, Fall and Spring
INF 673. MS Thesis.3 Credits.
Only applies if a student chooses to do MS Informatics with Thesis: This course is a requirement for the thesis option within the MS in Informatics. Students must demonstrate both breadth and depth of knowledge in their field of specialization. They also must demonstrate scientific research skills and present their findings to a thesis committee.
Prerequisites: None
Offered: As needed
INF 674. MS Thesis II.3 Credits.
Only applies if a student chooses to do MS Informatics with Thesis: This course is a continuation of INF 673 MS Thesis I and is a requirement for the thesis option within the MS in Informatics.
Prerequisites: Take INF 673.
Offered: As needed
INF 676. Informatics Professional Experience.1-3 Credits.
Students gain practical experience in applying theory obtained in previous courses, by employing informatics skills in a professional setting under the guidance of faculty and mentors. This course is available as an elective option, with one credit awarded per 50 hours of approved internship work. INF 676 can be taken multiple times during the course of study for a maximum of six total credits. Internship approval requires documented pre-approval and a post-internship academic report and presentation.
Prerequisites: MS Informatics majors only with prior program director approval required.
Offered: As needed, Fall and Spring
INF 680. Foundations of Epidemiology and Public Health.3 Credits.
This course introduces students to the principles and methods of epidemiology and their application to public health practice. Topics include the study of disease distribution, determinants of health, and the use of epidemiological data in public health decision-making. Students will learn about various study designs, data collection techniques, and statistical methods used in epidemiology. The course also covers the role of public health in disease prevention and health promotion.
Prerequisites: Take INF 620. Minimum grade C required.
Offered: As needed
INF 681. Healthcare Organization and Delivery.3 Credits.
This course provides an overview of the structure and function of healthcare systems, with a focus on the organization, financing, and delivery of healthcare services. Students will explore different models of healthcare delivery, the roles of various healthcare providers, and the impact of policy and regulation on healthcare systems. The course also examines current challenges and trends in healthcare delivery, including quality improvement and patient-centered care.
Prerequisites: Take INF 620. Minimum grade C required.
Offered: As needed
INF 682. Health Information Standards & Interoperability.3 Credits.
This course covers the standards and protocols essential for achieving interoperability in healthcare information systems. Students will learn about key standards such as HL7, FHIR, DICOM, and CDA, and their role in facilitating data exchange and integration across different healthcare systems. The course emphasizes the importance of interoperability for improving healthcare outcomes and efficiency. Through practical exercises, students will gain experience in implementing and using these standards in real-world scenarios.
Prerequisites: Take INF 620. Minimum grade C required.
Offered: As needed
INF 683. The Design, Implementation, and Evaluation of EHR Systems.3 Credits.
Electronic Health Records (EHR) are seen as one of the most effective ways to improve healthcare. This course focuses on the lifecycle of electronic health record (EHR) systems, from design and implementation to evaluation and optimization. Students will learn about the key components of EHR systems, best practices for system implementation, including information technology infrastructure needed to support the EHR, and methods for evaluating system performance and impact on healthcare delivery. The course also covers challenges and strategies for achieving user adoption and ensuring data quality and security, while providing the learner with an opportunity to examine how the EHR will affect clinical outcomes and disease management.
Prerequisites: Take INF 620 and INF 622. Minimum grade C required in both.
Offered: As needed
INF 684. Disease Processes & Systems.3 Credits.
Information technology has become an integral part of modern healthcare. Applications of health informatics can substantially improve the practice of healthcare - including planning, decision analysis and policy-making, management and implementation of medical interventions, and health research. This course focuses on the knowledge and skills that are critical to understanding common diseases and their impact on body systems, and the use of technology to quickly and efficiently collect, organize, analyze, interpret, manage, store and present information relevant to healthcare. Students will explore the mechanisms of disease development and progression, look at how healthcare databases are used and gain an understanding of how consumers gain access to and assess health information.
Prerequisites: Take INF 620. Minimum grade C required
Offered: As needed
INF 690. Law, Science, and Tech.3 Credits.
This course explores several areas in which scientific and technological advances have had an impact on the legal system, either by calling for changes in the system itself, or by provoking attempts to impose legal controls on the conduct of scientific research or the uses of scientific knowledge. The different approaches of law and science to problems of causation and proof are discussed. Specific topics that may be discussed as illustrative of the problems arising at the interface of law and science include (time permitting): behavioral research and the application of social science data to the legal system, the use of scientific and statistical evidence in court, problems created by the computer, legal regulation of scientific research that poses apparent ethical or health problems, and legal control of technology that poses real or apparent hazards to public health (e.g. nuclear reactors).
Prerequisites: None
Offered: As needed
INF 691. Information E-Discovery and Digital Evidence.3 Credits.
This course delves into the critical aspects of electronic discovery (e-discovery) and the use of digital evidence in legal proceedings. Students will explore the processes and technologies involved in identifying, collecting, preserving, and analyzing electronically stored information (ESI) for use in litigation and investigations. The course covers key topics such as the legal and regulatory frameworks governing e-discovery, best practices for managing digital evidence, and the challenges associated with handling large volumes of data. Additionally, students will examine the role of digital forensics in uncovering and interpreting digital evidence, as well as the ethical considerations and privacy issues that arise in the context of e-discovery.
Prerequisites: None
Offered: As needed
INF 692. Information Privacy Law.2-3 Credits.
As the Internet continues to expand throughout society and in our daily lives, cybersecurity, privacy, and anonymity legal issues are becoming increasingly important. Students in this course will study both US and European data protection and privacy regimes, with an emphasis on US law. Students will explore the legal frameworks of US privacy laws as they apply to specific industries and types of information holders and users, analyzing relevant statutes, civil litigation, and FTC enforcement actions as well as actual contract language (i.e., online privacy policies and data protection language). Students will engage with the most current cases and will work on practical legal issues relevant to corporate clients. The objective of the course is for students to develop a broad foundation and skill set in this rapidly evolving area of law.
Prerequisites: None
Offered: As needed
INF 693. Litigation and Courtroom Technologies.3 Credits.
This course explores the transformative impact of technology on litigation and courtroom procedures. Students will examine the various technological tools and systems that enhance the efficiency and effectiveness of legal proceedings, from electronic filing systems and digital case management to advanced presentation software and virtual courtrooms. The course covers the practical application of these technologies in trial preparation, evidence presentation, and courtroom management.
Prerequisites: None
Offered: As needed
INF 694. Understanding AI: Promises and Pitfalls In the Legal Profession.1 Credit.
In today's rapidly evolving technological landscape, artificial intelligence (AI) has emerged as a disruptive and transformative force with profound implications for the legal profession. This symposium course delves into the world of generative AI technologies, focusing specifically on their applications within the practice of law. Through guest lectures, case studies, and hands on application, this course explores the challenges, ethical considerations, and innovations associated with the integration of AI in legal practice.
Prerequisites: None
Offered: As needed
INF 695. Legal Analytics.1 Credit.
This course introduces students to the principles and applications of analytics in the legal field. Focusing on the use of data-driven decision-making, students will learn how to leverage statistical and computational techniques to analyze legal data and improve legal outcomes. Key topics include predictive analytics, data visualization, and the use of machine learning algorithms in legal contexts.
Prerequisites: None
Offered: As needed
INF 696. Health Information Privacy and Security.2 Credits.
Health information privacy and security are critical components of the current health care culture and health law environment. This course provides an introduction to these privacy and security concerns and surveys key issues including electronic health records, the exchange of health information, privacy breaches, and the globalization of health care and clinical research. The course will discuss the interplay of federal health care privacy law with state privacy law with a focus on the federal Health Information Technology for Economic and Clinical Health Act (HITECH) and the Health Insurance Portability and Accountability Act (HIPAA). The course will also present an overview of international healthcare privacy considerations in cross-border healthcare-related transactions, including tele-health consultations and global research. In addition to reviewing the legal authority, the course will feature sample case studies for analysis and discussion and will emphasize creative, critical thinking about health care privacy and security law in the context of the "real world".
Prerequisites: None
Offered: As needed
