Northeastern University Professional Programs · Courses
CS
188 courses with the subject CS, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CS 1200First Year Seminar1
Seeks to support students in their transition to Northeastern and in their holistic development as they become responsible members of the college and university communities. Incorporates large group discussion, small group activities, and self-reflection in order to facilitate connections with faculty, staff, and peers; promote utilization of appropriate campus resources; and assist with academic and personal goal setting.
Continues the preparation of students for careers in the computing and information fields by discussing co-op and co-op processes. Offers students an opportunity to prepare a professional resumé; practice proper interviewing techniques; explore current job opportunities; learn how to engage in the job and referral process; and to understand co-op policies, procedures, and expectations. Discusses professional behavior and ethical issues in the workplace.
Prerequisite(s): CS 2000 with a minimum grade of D- or CIS 200M with a minimum grade of D- or CS 2500 with a minimum grade of D- Corequisite(s): CS 2101Attribute(s): NUpath Analyzing/Using Data, NUpath Natural/Designed World
Prerequisite(s): ARTG 2260 with a minimum grade of D- or ARTG 2262 with a minimum grade of D- or CS 2000 with a minimum grade of D- or CIS 200M with a minimum grade of D- or CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- or CS 2500 with a minimum grade of D-
Introduces the foundational principles of human-computer interaction. Presents an overview of the field, focusing on methods for designing, prototyping, and evaluating user interfaces for computing applications. Emphasizes a human-centered design approach, exploring topics such as human capabilities and social factors that influence interface use. Covers design methods, best practices for ensuring usability and accessibility, and usability evaluation techniques.
Introduces students to research in the fields of computer science, information science, data science, and cybersecurity. Explores how the scientific method is applied to these fields and covers the breadth of subareas of specialty that exist. Offers students an opportunity to practice how to locate and read scientific literature in different subareas. Also offers students an overview of graduate education in these fields.
Prerequisite(s): (CS 1800 with a minimum grade of D- or MATH 1365 with a minimum grade of D- or MATH 1465 with a minimum grade of D- or MATH 209M with a minimum grade of D- ); (CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- )Corequisite(s): CS 2701
Prerequisite(s): ((CS 1800 with a minimum grade of D- or MATH 209M with a minimum grade of D- ) or (MATH 1365 with a minimum grade of D- or MATH 298M with a minimum grade of D- ) or MATH 2310 with a minimum grade of D- ); (CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- or CS 2500 with a minimum grade of D- )
Offers undergraduate students an opportunity to learn about timely issues, develop new skills, or explore areas of broad interest in an immersive, short-course format. Content and instructors vary by offering. May be repeated three times.
Prerequisite(s): ((CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- or CS 2510 with a minimum grade of D- or DS 2500 with a minimum grade of D- ); (CS 1800 with a minimum grade of D- or MATH 209M with a minimum grade of D- or EECE 2160 with a minimum grade of D- )) or CS 2700 with a minimum grade of D- Corequisite(s): CS 3001Attribute(s): NUpath Formal/Quant Reasoning
Prerequisite(s): CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- or CS 2510 with a minimum grade of D- or EECE 2560 with a minimum grade of D- Corequisite(s): CS 3101Attribute(s): NUpath Analyzing/Using Data, NUpath Natural/Designed World
Prerequisite(s): CS 2000 with a minimum grade of D- or CIS 200M with a minimum grade of D- or CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- or CS 2500 with a minimum grade of D- or DS 2000 with a minimum grade of D- or DS 2500 with a minimum grade of D- or EECE 2560 with a minimum grade of D- Attribute(s): NUpath Analyzing/Using Data
Prerequisite(s): DS 3000 with a minimum grade of D- or CIS 250M with a minimum grade of D- or MGSC 2301 with a minimum grade of D- or BUSM 224M with a minimum grade of D-
Prerequisite(s): ((CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- ) or CS 2510 with a minimum grade of D- ); (CS 2386 with a minimum grade of D- or CS 3540 with a minimum grade of D- )
Prerequisite(s): CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- or CS 2510 with a minimum grade of D- Attribute(s): NUpath Writing Intensive
Prerequisite(s): CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- or CS 2510 with a minimum grade of D- or DS 2500 with a minimum grade of D-
Prerequisite(s): ((CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- ) or CS 2510 with a minimum grade of D- ); ((ENGW 1111 with a minimum grade of C or WRIT 201M with a minimum grade of C ) or ENGW 1102 with a minimum grade of C or ENGL 1111 with a minimum grade of C or ENGL 1102 with a minimum grade of C )Attribute(s): NUpath Writing Intensive
Prerequisite(s): CS 2510 with a minimum grade of D- or CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or EECE 2560 with a minimum grade of D-
Prerequisite(s): CS 2100 with a minimum grade of D- or CIS 201M with a minimum grade of D- or CS 2510 with a minimum grade of D- or EECE 2160 with a minimum grade of D-
Examines the societal impact of artificial intelligence technologies and prominent strategies for aligning these impacts with social and ethical values. Offers multidisciplinary readings to provide conceptual lenses for understanding these technologies in their contexts of use.
Prerequisite(s): DS 3000 with a minimum grade of D- or CIS 250M with a minimum grade of D- or (MATH 2331 with a minimum grade of D- ; MATH 3081 with a minimum grade of D- )Attribute(s): NUpath Writing Intensive
Prerequisite(s): CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- or DS 3500 with a minimum grade of D-
Prerequisite(s): (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- ); CS 3520 with a minimum grade of D- Attribute(s): NUpath Writing Intensive
CS 4160AI Policy: Machine Learning, Markets, and Morals4
Prerequisite(s): (CS 3100 with a minimum grade of D- or DS 3500 with a minimum grade of D- ); (DS 3000 with a minimum grade of D- or CIS 250M with a minimum grade of D- )
Prerequisite(s): (CS 3100 with a minimum grade of D- or CS 3500 with a minimum grade of D- or DS 3500 with a minimum grade of D- ); (DS 3000 with a minimum grade of D- or CIS 250M with a minimum grade of D- )
Prerequisite(s): (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- or DS 3500 with a minimum grade of D- ); (DS 3000 with a minimum grade of D- or CIS 250M with a minimum grade of D- )
Prerequisite(s): (CS 2510 with a minimum grade of D- or CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- or EECE 2560 with a minimum grade of D- ); (CS 2810 with a minimum grade of D- or DS 3000 with a minimum grade of D- or MATH 1260 with a minimum grade of D- or MATH 2331 with a minimum grade of D- or MATH 2341 with a minimum grade of D- or MATH 315M with a minimum grade of D- )Attribute(s): NUpath Writing Intensive
Prerequisite(s): CS 2810 with a minimum grade of D- or DS 3000 with a minimum grade of D- or CIS 250M with a minimum grade of D- or ECON 2350 with a minimum grade of D- or BUSM 22EM with a minimum grade of D- or ENVR 2500 with a minimum grade of D- or MATH 2280 with a minimum grade of D- or MATH 3081 with a minimum grade of D- or MGSC 2301 with a minimum grade of D- or BUSM 224M with a minimum grade of D- or PHTH 2210 with a minimum grade of D- or PSYC 2320 with a minimum grade of D-
Prerequisite(s): (CS 2810 with a minimum grade of D- or DS 3000 with a minimum grade of D- or CIS 250M with a minimum grade of D- or MATH 2331 with a minimum grade of D- ); (CS 3100 with a minimum grade of D- or CS 3500 with a minimum grade of D- )
Prerequisite(s): (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- ); (CS 3000 with a minimum grade of D- or CS 4800 with a minimum grade of D- )
Prerequisite(s): CS 4400 with a minimum grade of D- or CS 5400 with a minimum grade of C- or CS 7400 with a minimum grade of C- Attribute(s): NUpath Writing Intensive
Prerequisite(s): (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- ); (ENGW 1102 with a minimum grade of C or ENGW 1111 with a minimum grade of C or WRIT 201M with a minimum grade of C )Attribute(s): NUpath Writing Intensive
Prerequisite(s): CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
Prerequisite(s): (CS 2700 with a minimum grade of D- or CS 3000 with a minimum grade of D- ); (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or DS 3500 with a minimum grade of D- )Attribute(s): NUpath Writing Intensive
Prerequisite(s): CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- or DS 3500 with a minimum grade of D- Attribute(s): NUpath Writing Intensive
Prerequisite(s): (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- or DS 3500 with a minimum grade of D- ); (DS 3000 with a minimum grade of D- or CIS 250M with a minimum grade of D- )
Focuses on in-depth project in which a student conducts research or produces a product related to the student’s major field. Combined with Junior/Senior Project 2 or college-defined equivalent for 8 credit honors in the discipline project.
Prerequisite(s): CS 3000 with a minimum grade of D- ; (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- or DS 3500 with a minimum grade of D- )
Prerequisite(s): (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- ); CS 3800 with a minimum grade of D- Attribute(s): NUpath Integration Experience, NUpath Writing Intensive
Prerequisite(s): (CS 3100 with a minimum grade of D- or CIS 310M with a minimum grade of D- or CS 3500 with a minimum grade of D- ); CS 3800 with a minimum grade of D-
Introduces the mathematical structures and methods that form the foundation of computer science. Studies structures such as sets, tuples, sequences, lists, trees, and graphs. Discusses functions, relations, ordering, and equivalence relations. Examines inductive and recursive definitions of structures and functions. Covers principles of proof such as truth tables, inductive proof, and basic logic and the counting techniques and arguments needed to estimate the size of sets, the growth of functions, and the space-time complexity of algorithms. Also, discusses data structures such as arrays, stacks, queues, lists, and the algorithms that manipulate them.
Prerequisite(s): (CS 5001 with a minimum grade of C- or CS 5001 with a minimum grade of C- ); (CS 5002 with a minimum grade of C- or CS 5002 with a minimum grade of C- )Corequisite(s): CS 5005
CS 5008Data Structures, Algorithms, and Their Applications within Computer Systems4
Prerequisite(s): (CS 5001 with a minimum grade of C- or CS 5001 with a minimum grade of C- ); (CS 5002 with a minimum grade of C- or CS 5002 with a minimum grade of C- )Corequisite(s): CS 5009
Explores key ideas in artificial intelligence while delving into trending developments in the field. Examines AI tools and frameworks to enable collaboration effectively and efficiently across technical and nontechnical stakeholders. Analyzes topics such as AI-enabled perception, representation, reasoning, and learning as contextualized by societal impact. Offers students an opportunity to obtain the knowledge and skills necessary to confidently navigate the ever-evolving landscape of AI.
Seeks to provide a strong foundation in the fundamentals of virtual and augmented reality, broadly defined as mixed reality (XR), and hands-on experience developing XR applications. Offers students an opportunity to dive into this burgeoning area of research and practice in computer science. Given the complex nature of XR environments, this course synthesizes theoretical and practice knowledge from various disciplines, including computer graphics, 3D interfaces, human-computer interaction, tracking systems, and perceptual psychology (to name a few). XR technologies have recently witnessed a resurgence of interest.
CS 5180Reinforcement Learning and Sequential Decision Making4
Introduces reinforcement learning and the underlying computational frameworks and the Markov decision process framework. Covers a variety of reinforcement learning algorithms, including model-based, model-free, value function, policy gradient, actor-critic, and Monte Carlo methods. Examines commonly used representations including deep learning representations and approaches to partially observable problems. Students are expected to have a working knowledge of probability and linear algebra, to complete programming assignments, and to complete a course project that applies some form of reinforcement learning to a problem of interest.
Introduces techniques and web technologies for visually communicating insights derived from data. Focuses on developing apps using open-source libraries to explore and actively manipulate data through interactive data visualizations. Critical discussion of case studies motivates experiments with a variety of technologies and techniques. Includes interactive charts, web maps, and algorithm visualization and emphasizes practical, real-world solutions.
Introduces autonomous mobile robots with a focus on algorithms and software development, including closed-loop control, robot software architecture, wheeled locomotion and navigation, tactile and basic visual sensing, obstacle detection and avoidance, and grasping and manipulation of objects. Offers students an opportunity to progressively construct mobile robots from a predesigned electromechanical kit. The robots are controlled wirelessly by software of the students’ own design, built within a provided robotics software framework. Culminates in a project that connects the algorithms and hardware developed in the course with a selected topic in the current robotics research literature.
Covers the principles of human-computer interaction and the design and evaluation of user interfaces. Topics include an overview of human information processing subsystems (perception, memory, attention, and problem solving); how the properties of these systems affect the design of user interfaces; the principles, guidelines, and specification languages for designing good user interfaces, with emphasis on tool kits and libraries of standard graphical user interface objects; and a variety of interface evaluation methodologies that can be used to measure the usability of software. Other topics may include World Wide Web design principles and tools, computer-supported cooperative work, multimodal and “next generation” interfaces, speech and natural language interfaces, and virtual reality interfaces. Course work includes both the creation and implementation of original user interface designs, and the evaluation of user interfaces created by others. Requires knowledge of C programming language/UNIX.
Focuses on the prototyping and implementation of usable graphical user interfaces using human-centered design principles. Covers fundamental concepts of user interface programming including event-driven programming, layout management, and state handling. Explores design patterns and usability principles through the design, prototyping, and implementation of modern user interfaces. Offers students an opportunity to build interactive and responsive applications while emphasizing usability.
Introduces basic and advanced frameworks and methodological tools for understanding and accounting for the characteristics, needs, and attitudes of individual users and user groups, ranging from traditional mental models to cutting-edge folk theorization approaches. Covers both how to understand users and how to account for how users themselves understand and adapt to systems from both a system design and sociotechnical system critique perspective. Explores and problematizes the idea of the “user” as compared to alternate approaches such as embedded community/cultural context and post-userism.
Prerequisite(s): CS 5010 with a minimum grade of D or CS 5004 with a minimum grade of C or CS 5010 with a minimum grade of C Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
Focuses on mobile application development on a mobile phone or related platform. Discusses memory management; user interface building, including both MVC principles and specific tools; touch events; data handling, including core data, SQL, XML, and JSON; network techniques and URL loading; and, finally, specifics such as GPS and motion sensing that may be dependent on the particular mobile platform. Students are expected to work on a project that produces a professional-quality mobile application and to demonstrate the application that they have developed. The instructor chooses a modern mobile platform to be used in the course.
Covers the skills needed to develop easily scalable and modifiable scripts that can be used to implement various game mechanics common to most game genres. Programming is an integral part of the digital game design and development life cycle. Designed as a foundational game programming course covering numerous aspects of game programming. At least one semester of programming experience in a high-level language is required.
Studies the structure, components, design, implementation, and internal operation of computer systems, focusing mainly on the operating system level. Reviews computer hardware and architecture including the arithmetic and logic unit, and the control unit. Covers current operating system components and construction techniques including the memory and memory controller, I/O device management, device drivers, memory management, file system structures, and the user interface. Introduces distributed operating systems. Discusses issues arising from concurrency and distribution, such as scheduling of concurrent processes, interprocess communication and synchronization, resource sharing and allocation, and deadlock management and resolution. Includes examples from real operating systems. Exposes students to the system concepts through programming exercises. Requires admission to MS program or completion of all transition courses.
Studies network protocols, focusing on modeling and analysis, and architectures. Introduces modeling concepts, emphasizing queuing theory, including Little’s theorem, M/M/1, M/M/m, M/D/1, and M/G/1 queuing systems. Discusses performance evaluation of computer networks including performance metrics, evaluation tools and methodology, simulation techniques, and limitations. Presents the different harmonizing functions needed for communication and efficient operation of computer networks and discusses examples of Ethernet, FDDI, and wireless networks. Covers link layer protocols including HDLC, PPP, and SLIP; packet framing; spanning tree and learning bridges, error detection techniques, and automatic repeat request algorithms; sliding window and reliable/ordered services; and queuing disciplines including FQ and WFQ. Introduces flow control schemes, such as window flow control and leaky bucket rate control schemes, and discusses congestion control and fairness. Requires knowledge of probability theory.
Discusses the components of game engines and strategies for their software implementation. Includes graphics management algorithms (animation, scene graph, level of detail); basic artificial intelligence algorithms (search, decision making, sensing); and related algorithmic issues (networking, threading, input processing). Explores the use of data-driven software design. Offers students an opportunity to use a rendering engine and to build and integrate several software components to create a complete game engine. Requires students to work on individual assignments and then develop a project in a team, which requires a report. Offers students an opportunity to learn team/project management; work division; team communication; and the software development cycle of implementation, testing, critique, and further iteration. Requires knowledge of computer graphics, differential calculus, operating systems concepts, and algorithms.
Offers students an opportunity to learn about timely issues, develop new skills, or explore areas of broad interest in an immersive, short-course format. Content and instructors vary by offering. May be repeated once for a maximum of 8 semester hours.
Subject
CS
Credits (min)
1
Credits (max)
4
Credit unit
Hours
Type
course
Repeatable
May be repeated once for a maximum of 8 semester hours.
Offers students an applied project setting in which to apply their curricular learning. Working with a sponsor, students refine an applied research topic, perform research, develop recommendations that are shared with a partner sponsor, and create a plan for implementing their recommendations. Seeks to benefit students with a curriculum that supports the development of key business communication skills, project and client management skills, and frameworks for business analysis. Offers students an opportunity to learn from sponsor feedback, review 'lessons learned,' and incorporate suggestions from this review to improve and further develop their career development and professional plan. May be repeated twice.
CS 5965Engaging with Industry Partners for Rising Professionals0
Offers students an enhanced applied project setting in which to apply their curricular learning. Working with a partner sponsor, students refine an applied research topic, perform research, develop recommendations that are shared with the partner sponsor, and create a plan for implementing their recommendations. Curriculum supports students as they develop key business communication skills, project and client management skills, and frameworks for business analysis. Offers students an opportunity to learn from sponsor feedback, review lessons learned, and incorporate suggestions to improve and further hone their career development and professional plan. Career development opportunities through skill-building workshops, panels, and interview preparation are available. Partner-student interactions, including a culminating project presentation, allow partners to assess student potential for co-op, internship, or other employment opportunities with the partner. May be repeated two times.
Focuses on student examining standard computer science material in fresh ways or new computer science material that is not covered in formal courses. May be repeated up to three times.
Provides an introduction to the computational modeling of human language, the ongoing effort to create computer programs that can communicate with people in natural language, and current applications of the natural language field, such as automated document classification, intelligent query processing, and information extraction. Topics include computational models of grammar and automatic parsing, statistical language models and the analysis of large text corpuses, natural language semantics and programs that understand language, models of discourse structure, and language use by intelligent agents. Course work includes formal and mathematical analysis of language models, and implementation of working programs that analyze and interpret natural language text.
Studies affective computing—computing that relates to, arises from, or influences emotions. Offers an overview of the theory of human emotion (how it arises from and influences cognition, the body, and the social environment) and computational techniques for modeling human emotion processes as well as for recognizing and synthesizing emotional behavior. Discusses how these can be applied to application design. Offers students an opportunity to gain a strong background in the theory and practice of human-centered computing as it relates to games, immersive environments, and pedagogical applications. Brings together students from different disciplines to work together and learn from each other. CS 6130 and PSYC 6130 are cross-listed.
Prerequisite(s): CS 5100 with a minimum grade of C- ; CS 5130 with a minimum grade of C- ; CS 5800 with a minimum grade of C- ; (CS 6140 with a minimum grade of C- or DADS 7275 with a minimum grade of C- or EECE 5644 with a minimum grade of C- )
Prerequisite(s): CS 5100 with a minimum grade of C- or CS 5180 with a minimum grade of C- or CS 6120 with a minimum grade of C- or CS 6140 with a minimum grade of C- or CS 7140 with a minimum grade of C- or CS 7150 with a minimum grade of C- or DADS 7275 with a minimum grade of C- or EECE 5644 with a minimum grade of C-
Provides an introduction to information retrieval systems and different approaches to information retrieval. Topics covered include evaluation of information retrieval systems; retrieval, language, and indexing models; file organization; compression; relevance feedback; clustering; distributed retrieval and metasearch; probabilistic approaches to information retrieval; Web retrieval; filtering, collaborative filtering, and recommendation systems; cross-language IR; multimedia IR; and machine learning for information retrieval.
Presents an overview of methods for conducting empirical research within computer science. These methods help provide objective answers to questions about the usability, effectiveness, and acceptability of systems. The course covers the basics of the scientific method, building from a survey of objective measures to the fundamentals of hypothesis testing using relatively simple research designs, and on to more advanced research designs and statistical methods. The course also includes a significant amount of fieldwork, spanning the design, conduct, and presentation of small empirical studies.
Offers students a culminating experience to demonstrate proficiency in key concepts learned throughout their program in the core and concentration courses. Designed to foster interdisciplinary collaboration, reinforce concepts in ethics and basic concepts in user research, and focus on delivering outcomes that have the potential to be demonstrated or presented at HCI venues.
Prerequisite(s): CS 5400 with a minimum grade of C- or CS 7400 with a minimum grade of C- Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
Covers fundamentals of cloud computing, including virtualization and containers, distributed file systems and object stores, infrastructure as a service platforms, open source cloud platforms, key big data platforms, and topics in data center scale systems. Combines classroom material delivered via lectures, readings from literature, student presentations, and a semester-long software project.
Covers the essential elements of distributed, concurrent systems and builds upon that knowledge with engineering principles and practical experience with state-of-the-art technologies and methods for building scalable systems. Scalability is an essential quality of internet-facing systems and requires specialized skills and knowledge to build systems that scale at low cost.
Challenges conventional wisdom and encourages students to discover ways that security, privacy, and usability can be made synergistic in system design. Usability and security are widely seen as two antagonistic design goals for complex computer systems. Topics include computer forensics, network forensics, user interface design, backups, logging, economic factors affecting adoption of security technology, trust management, and related public policy. Uses case studies such as PGP, S/MIME, and SSL. Introduces basic cryptography and hash function as it is needed. Course work includes analysis of papers, problem sets, and a substantial term project.
Prerequisite(s): CS 6140 with a minimum grade of C- or DADS 7275 with a minimum grade of C- or EECE 5644 with a minimum grade of C- or EECE 7204 with a minimum grade of C- or EECE 7313 with a minimum grade of C-
Prerequisite(s): CS 6140 with a minimum grade of C- or DADS 7275 with a minimum grade of C- or DS 5220 with a minimum grade of C- or EECE 5644 with a minimum grade of C-
Introduces concepts in applied statistics. Covers frequentist and Bayesian characterization of uncertainty for continuous and categorical data, principles of experimental design, and methods of causal inference. Discusses the methodological foundations, as well as issues of practical implementation and use.
CS 7240Principles of Scalable Data Management: Theory, Algorithms, and Database Systems4
Covers the algorithms, core principles, and foundational concepts for managing data at scale. Topics include data models, query languages, query execution and optimization, complexity of query execution and query resilience, data stream processing, parallel data processing, transactions, linear vs. relational algebra, factorizations, and uncertainty in logic. Requires standard CS knowledge of algorithms and hardness (e.g., a typical undergraduate class based on a standard algorithms textbook such as Ericson; Cormen, Leiserson, Rivest,and Stein; or Dasgupta, Papadimitriou, and Vazirani). Offers students an opportunity to gain hands-on experience through smaller assignments and a project. The project is flexible to allow students to explore scalable data management and analysis aspects related to their PhD research.
CS 7250Information Visualization: Theory and Applications4
Covers foundational as well as contemporary topics of interest in data visualization to enable the effective representation of data across disciplines, including examples drawn from computer science, physical sciences, biomedical sciences, humanities, and economics. Topics include data visualization theory and methodology, visualization design and evaluation, visual perception and cognition, interaction principles, and data encoding and representation techniques. Students who do not meet course restrictions may seek permission of instructor.
Covers the principles of information visualization in the specific context of network science. Introduces visual encoding of data and our understanding of human vision and perception; interaction principles including filtering, pivoting, aggregation; and both quantitative and human subjects evaluation techniques. Covers visualization techniques for several network types, including multivariate networks with attributes for entities and relationships, evolving and dynamic networks that change over time, heterogeneous networks with multiple types of entities, and geospatial networks. Offers students an opportunity to learn about the design of layout algorithms for node-link and matrix visualizations.
Introduces verifiable machine learning, focusing on the limitations of current learning-based methods regarding safety and robustness. Explores adversarial robustness, uncertainty quantification, safety verification, reachability analysis, and safe/robust reinforcement learning. Examines neural network relaxations and their applications in robotics, control, image classification, medical diagnosis, and language modeling.
Offers special topics in data science, including machine learning, statistics, data mining, parallel and distributed data analysis, database systems, information retrieval, knowledge representation, information visualization, natural language processing, computational biology and bioinformatics, computational social science, digital humanities, health informatics, business, and predictive analytics. May be repeated once for up to 8 total credits.
CS 7300Empirical Research Methods for Human Computer Interaction4
Introduces concepts related to human subject studies for human computer interaction and personal health informatics. Discusses the methodological foundations, as well as issues of practical implementation and use. Provides an overview of the most common experimental designs used in these fields, and how studies should be proposed, conducted, analyzed, and documented for publication. Covers qualitative methods, including interviewing and focus groups, along with approaches to inductive qualitative data analysis. Methods discussed in the course are useful in any area of science that involves the application of the scientific method to situations involving people interacting with computational artifacts or systems, including observation, hypothesis formation, measurement, and descriptive and inferential statistical analyses.
CS 7340Theory and Methods in Human Computer Interaction4
Covers the foundations of human abilities, computational artifacts, design, and evaluation. Human computer interaction concerns the design and evaluation of software based on a deep understanding of how humans interact with computers, devices, and sensors. The field merges theories from psychology and computer science, using methods from AI and design. Introduces cognitive, perceptual, and affective theories and theories of individual differences that allow us to design and develop better computer software and systems. Also covers research methods for designing and evaluating computer software systems. Topics discussed in the context of next-generation interaction modalities include sensors, haptics, wearables, and performative interfaces. Students who do not meet course restrictions may seek permission of instructor.
Offers students an opportunity to read and present various survey and research papers in human-computer interaction, computer-supported collaborative work, data visualization, social computing, design, critical computing, accessibility, game design, health informatics, personal health informatics, human-robot interaction, or HCI in security. May be repeated once.
CS 7400Intensive Principles of Programming Languages4
Studies the basic components of programming languages, specification of syntax and semantics, and description and implementation of programming language features. Discusses examples from a variety of languages.
CS 7430Formal Specification, Verification, and Synthesis4
Covers software and system modeling (how to formally describe the behavior of software and systems); specification (how to formally state the properties that the system should have); verification (how to check whether—and ultimately prove—that a system satisfies its specification); and synthesis (how to automatically generate software and systems that are "correct-by-construction").
Gives students the opportunity to read and present various survey and research papers in software engineering. Faculty supervisor and topics vary from semester to semester. May be repeated once.
Covers foundational concepts in the design and implementation of efficient and reliable distributed computing systems. Covers internet communication protocols, fault-tolerant computing, synchronization protocols, synchronous and asynchronous computing, dynamic group communication systems, load balancing, Byzantine models, distributed hash tables, distributed file systems, and application of foundational concepts to modern distributed systems in the field. Requires knowledge of operating systems; e.g., an undergraduate course in Systems and Networks, Computer Systems, or Networks and Distributed systems.
Exposes students to research in the fields of computer sciences. Explores how the scientific method is applied to these fields and covers the breadth of subareas of specialty that exist. Offers students an opportunity to practice how to locate and read scientific literature in different subareas. May be repeated once.
Gives students the opportunity to read and present various survey and research papers in cryptography and computer security. Faculty supervisor and topics vary from semester to semester. May be repeated up to three times.
Presents advanced mathematical techniques for designing and analyzing computer algorithms. Reviews some of the material covered in CS 5800 and then covers advanced topics. Emphasizes theoretical underpinnings of techniques used to solve problems arising in diverse domains. Topics include asymptotic analysis, advanced data structures, dynamic programming, greedy algorithms and matroid theory, amortized analysis, randomization, string matching, algebraic algorithms, and approximation algorithms. Introduces Turing machines, P and NP classes, polynomial-time reducibility, and NP completeness.
Offers students at the PhD level an accelerated introduction to cryptography and quickly progresses to advanced topics that are at the forefront of current research. Cryptography is the science of protecting information against adversarial eavesdropping and tampering. Examines what kind of security properties can be achieved by relying solely on probability and information theory, without restricting the adversary’s computational power. Studies the complexity-theoretic basis of modern cryptography and the connection between computational hardness and pseudo-randomness. Explores, as the main component of the course, how to take a few well-studied problems in number theory and algebra and use them to build powerful cryptosystems with advanced functionality and security properties. Requires prior completion of an undergraduate course in the theory of computation.
CS 7840Foundations and Applications of Information Theory4
Studies information theory and selected applications for data management, machine learning, and information retrieval. Information theory examines the transmission, processing, extraction, and utilization of information. Topics include entropy; mutual information; cross-entropy; data processing theorem; information inequalities; Cox's theorem; maximum entropy solutions; and applications such as data normalization, decision trees, maximum likelihood, logistic regression, and VC dimensions. Requires prior study of standard computer science algorithms. Offers hands-on experience through a flexible project, allowing students to explore information theory in aspects related to their PhD research.
CS 7880Special Topics in Theoretical Computer Science4
Covers various topics including advanced cryptography, approximation algorithms, complexity theory, computational algebra, distributed computing, formal verification, network algorithms, online computation, parallel computing, and randomness and computation. May be repeated up to two times.
CS 7930Effective Scientific Writing in Computer Science2
Introduces the principles and practice of technical communication in computer science and related fields. Emphasizes concepts such as genre, structure, argument, and audience expectations. Focuses on the story of scientific research and how it manifests in written genre like the abstract, research statement, and conference paper, with a portion of the course focused on presentation design and delivery.
Focuses on student examining standard computer science material in fresh ways or new computer science material that is not covered in formal courses. May be repeated without limit.
Provides an opportunity for all doctoral students to engage in industry research in the area of their dissertation. Doctoral students register for this course before starting their off-campus internship. May be repeated up to five times.
Provides an opportunity for all doctoral students to engage in industry research in the area of their dissertation. Doctoral students register for this course before starting their off-campus internships. May be repeated without limit.