Northeastern UniversityWebsiteAcademic Catalog
Khoury College of Computer SciencesDepartment Website
Majors
Courses
source 1source 2source 3source 4source 5CS 1100: Computer Science and Its Applications (4) intro
Introduces students to the field of computer science and the patterns of thinking that enable them to become intelligent users of software tools in a problem-solving setting. Examines several important software applications so that students may develop the skills necessary to use computers effectively in their own disciplines.
CS 1101: Lab for CS 1100 (1) intro
Accompanies CS 1100. Involves experiments and problem solving across multiple disciplines using computer science techniques and tools.
CS 1200: First Year Seminar (1)
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.
CS 1210: Professional Development for Khoury Co-op (1)
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.
IS 1300: Knowledge in a Digital World (4) impact
Examines the impact that information technologies (such as the internet, search engines, blogs, wikis, and smartphones); information processing techniques (such as big data analysis, machine learning, crowdsourcing, and cryptography); and information policies (such as privacy norms and speech restrictions) have on what we know and how much we know, as individuals and as a society. The digital world can enhance our ability to acquire knowledge by providing us with fast and cheap access to huge amounts of information. However, it can also undermine our cognitive abilities and provide us with inaccurate or misleading information. Studies normative frameworks from epistemology and ethics (such as epistemic value theory, the extended mind hypothesis, and moral rights) to evaluate these technologies and policies.
CS 1800: Discrete Structures (4) math
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. Discusses principles of proof such as truth tables, inductive proof, and basic logic. Also covers the counting techniques and arguments needed to estimate the size of sets, the growth of functions, and the space-time complexity of algorithms.
CS 1802: Seminar for CS 1800 (1) math
Accompanies CS 1800. Illustrates topics from the lecture course through discussions, quizzes, and homework assignments.
CS 1990: Elective (14) special
Offers elective credit for courses taken at other academic institutions. May be repeated without limit.
IS 2000: Principles of Information Science (4) sys
Introduces information science. Examines how information is used to solve problems both for individuals and organizations and how information systems interface with their users. Considers the technical, economic, social, and ethical issues that arise when working with information. Discusses how to collect, manage, classify, store, encode, transmit, retrieve, and evaluate data and information with appropriate security and privacy. Storage models include lists, tables, and trees (hierarchies). Examines applications of information: visualization, presentation, categorization, decision making, and predictive modeling. Introduces key concepts in probability. Explains Bayesian analysis for information classification and modeling. Teaches intensive programming in Excel, including VBA macro development. Introduces programming in R.
DS 2000: Programming with Data (2) intro
Introduces programming for data and information science through case studies in business, sports, education, social science, economics, and the natural world. Presents key concepts in programming, data structures, and data analysis through Python and Excel.
DS 2001: Data Science Programming Practicum (2) intro
Applies data science principles in interdisciplinary contexts, with each section focusing on applications to a different discipline. Involves new experiments and readings in multiple disciplines (both computer science and the discipline focus of the particular section). Requires multiple projects combining interdisciplinary subjects.
CS 2500: Fundamentals of Computer Science 1 (4) intro
Introduces the fundamental ideas of computing and the principles of programming. Discusses a systematic approach to word problems, including analytic reading, synthesis, goal setting, planning, plan execution, and testing. Presents several models of computing, starting from nothing more than expression evaluation in the spirit of high school algebra. No prior programming experience is assumed; therefore, suitable for freshman students, majors and nonmajors alike who wish to explore the intellectual ideas in the discipline.
DS 2500: Intermediate Programming with Data (4) intro
Offers intermediate to advanced Python programming for data science. Covers object-oriented design patterns using Python, including encapsulation, composition, and inheritance. Advanced programming skills cover software architecture, recursion, profiling, unit testing and debugging, lineage and data provenance, using advanced integrated development environments, and software control systems.
CS 2501: Lab for CS 2500 (1) intro
Accompanies CS 2500. Covers topics from the course through various experiments.
DS 2501: Lab for DS 2500 (1) intro
Practices the programming techniques discussed in DS 2500 through hands-on experimentation.
CS 2510: Fundamentals of Computer Science 2 (4) intro
Continues CS 2500. Examines object-oriented programming and associated algorithms using more complex data structures as the focus. Discusses nested structures and nonlinear structures including hash tables, trees, and graphs. Emphasizes abstraction, encapsulation, inheritance, polymorphism, recursion, and object-oriented design patterns. Applies these ideas to sample applications that illustrate the breadth of computer science.
CS 2511: Lab for CS 2510 (1) intro
Accompanies CS 2510. Covers topics from the course through various experiments.
CY 2550: Foundations of Cybersecurity (4) sys
Presents an overview of basic principles and security concepts related to information systems, including workstation security, system security, and communications security. Discusses legal, ethical, and human factors and professional issues associated with cybersecurity, including the ability to differentiate between laws and ethics. Offers students an opportunity to use a substantial variety of existing software tools to probe both computer systems and networks in order to learn how these systems function, how data moves within these systems, and how these systems might be vulnerable. Covers security methods, controls, procedures, economics of cybercrime, criminal procedure, and forensics.
CS 2800: Logic and Computation (4) theory
Introduces formal logic and its connections to computer and information science. Offers an opportunity to learn to translate statements about the behavior of computer programs into logical claims and to gain the ability to prove such assertions both by hand and using automated tools. Considers approaches to proving termination, correctness, and safety for programs. Discusses notations used in logic, propositional and first order logic, logical inference, mathematical induction, and structural induction. Introduces the use of logic for modeling the range of artifacts and phenomena that arise in computer and information science.
CS 2810: Mathematics of Data Models (4) math
Studies the methods and ideas in linear algebra, multivariable calculus, and statistics that are most relevant for the practicing computer scientist doing machine learning, modeling, or hypothesis testing with data. Covers least squares regression, finding eigenvalues to predict a linear system's behavior, performing gradient descent to fit a model to data, and performing t-tests and chi-square tests to determine whether differences between populations are significant. Includes applications to popular machine-learning methods, including Bayesian models and neural networks.
CS 3000: Algorithms and Data (4) algs
Introduces the basic principles and techniques for the design, analysis, and implementation of efficient algorithms and data representations. Discusses asymptotic analysis and formal methods for establishing the correctness of algorithms. Considers divide-and-conquer algorithms, graph traversal algorithms, and optimization techniques. Introduces information theory and covers the fundamental structures for representing data. Examines flat and hierarchical representations, dynamic data representations, and data compression. Concludes with a discussion of the relationship of the topics in this course to complexity theory and the notion of the hardness of problems.
DS 3000: Foundations of Data Science (4) ai
Introduces core modern data science technologies and methods that provide a foundation for subsequent Data Science classes. Covers: working with tensors and applied linear algebra in standard numerical computing libraries (e.g., NumPy); processing and integrating data from a variety of structured and unstructured sources; introductory concepts in probability, statistics, and machine learning; basic data visualization techniques; and now standard data science tools such as Jupyter notebooks.
CS 3200: Database Design (4) sys
Studies the design of a database for use in a relational database management system. The entity-relationship model and normalization are used in problems. Relational algebra and then the SQL (structured query language) are presented. Advanced topics include triggers, stored procedures, indexing, elementary query optimization, and fundamentals of concurrency and recovery. Students implement a database schema and short application programs on one or more commercial relational database management systems.
CS 3500: Object-Oriented Design (4) intro
Presents a comparative approach to object-oriented programming and design. Discusses the concepts of object, class, meta-class, message, method, inheritance, and genericity. Reviews forms of polymorphism in object-oriented languages. Contrasts the use of inheritance and composition as dual techniques for software reuse: forwarding vs. delegation and subclassing vs. subtyping. Fosters a deeper understanding of the principles of object-oriented programming and design including software components, object-oriented design patterns, and the use of graphical design notations such as UML (unified modeling language). Basic concepts in object-oriented design are illustrated with case studies in application frameworks and by writing programs in one or more object-oriented languages.
DS 3500: Advanced Programming with Data (4) ai
Offers intermediate to advanced Python programming for data science. Covers object-oriented design patterns using Python, including encapsulation, composition, and inheritance. Advanced programming skills cover software architecture, recursion, profiling, unit testing and debugging, lineage and data provenance, using advanced integrated development environments, and software control systems. Uses case studies to survey key concepts in data science with an emphasis on machine-learning (classification, clustering, deep learning); data visualization; and natural language processing. Additional assigned readings survey topics in ethics, model bias, and data privacy pertinent to today's big data world. Offers students an opportunity to prepare for more advanced courses in data science and to enable practical contributions to software development and data science projects in a commercial setting.
CS 3501: Lab for CS 3500 (1) intro
Accompanies CS 3500. Covers topics from the course and provides students with additional opportunities to engage with course material.
CS 3520: Programming in C++ (4) sys
Examines how to program in C++ in a robust and safe manner. Reviews basics, including scoping, typing, and primitive data structures. Discusses data types (primitive, array, structure, class, string); addressing/parameter mechanisms (value, pointer, reference); stacks; queues; linked lists; binary trees; hash tables; and the design of classes and class inheritance, emphasizing single inheritance. Considers the instantiation of objects, the trade-offs of stack vs. heap allocation, and the design of constructors and destructors. Emphasizes the need for a strategy for dynamic memory management. Addresses function and operator overloading; templates, the Standard Template Library (STL), and the STL components (containers, generic algorithms, iterators, adaptors, allocators, function objects); streams; exception handling; and system calls for processes and threads.
CS 3540: Game Programming (4) graphics
Introduces the different subsystems used to create a 3D game, including rendering, animation, collision, physics, audio, trigger systems, game logic, behavior trees, and simple artificial intelligence. Offers students an opportunity to learn the inner workings of game engines and how to use multiple libraries such as physics and graphics libraries to develop a game. Discusses graphics pipeline, scene graph, level design, behavior scripting, object-oriented game design, world editors, and game scripting languages.
CS 3650: Computer Systems (4) sys
Introduces the basic design of computing systems, computer operating systems, and assembly language using a RISC architecture. Describes caches and virtual memory. Covers the interface between assembly language and high-level languages, including call frames and pointers. Covers the use of system calls and systems programming to show the interaction with the operating system. Covers the basic structures of an operating system, including application interfaces, processes, threads, synchronization, interprocess communication, deadlock, memory management, file systems, and input/output control.
CS 3700: Networks and Distributed Systems (4) sys
Introduces the fundamentals of computer networks, including network architectures, network topologies, network protocols, layering concepts (for example, ISO/OSI, TCP/IP reference models), communication paradigms (point-to-point vs. multicast/broadcast, connectionless vs. connection oriented), and networking APIs (sockets). Also covers the construction of distributed programs, with an emphasis on high-level protocols and distributed state sharing. Topics include design patterns, transactions, performance trade-offs, security implications, and reliability. Uses examples from real networks (TCP/IP, Ethernet, 802.11) and distributed systems (Web, BitTorrent, DNS) to reinforce concepts.
CY 3740: Systems Security (4) sys
Introduces the fundamental principles of designing and implementing secure programs and systems. Presents and analyzes prevalent classes of attacks against systems. Discusses techniques for identifying the presence of vulnerabilities in system design and implementation, preventing the introduction of or successful completion of attacks, limiting the damage incurred by attacks, and strategies for recovering from system compromises. Offers opportunities for hands-on practice of real-world attack and defense in several domains, including systems administration, the Web, and mobile devices. Presents the ethical considerations of security research and practice.
CS 3800: Theory of Computation (4) theory
Introduces the theory behind computers and computing aimed at answering the question, “What are the capabilities and limitations of computers?” Covers automata theory, computability, and complexity. The automata theory portion includes finite automata, regular expressions, nondeterminism, nonregular languages, context-free languages, pushdown automata, and noncontext-free languages. The computability portion includes Turing machines, the Church-Turing thesis, decidable languages, and the Halting theorem. The complexity portion includes big-O and small-o notation, the classes P and NP, the P vs. NP question, and NP-completeness.
CS 3950: Introduction to Computer Science Research (2) special
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.
CY 3990: Elective (14) special
Offers elective credit for courses taken at other academic institutions. May be repeated without limit.
CS 4050: Values and Sociotechnical Algorithmic Systems (4) impact
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.
CS 4097: Mixed Reality (4) graphics
Seeks to provide a strong foundation in the fundamentals of virtual and augmented reality, broadly defined as mixed reality (XR). These technologies have recently witnessed a resurgence of interest. Offers students an opportunity to obtain hands-on experience developing XR applications by diving into this burgeoning area of research and practice in computer science. Synthesizes theoretical and practice knowledge from various disciplines, including computer graphics, 3D interfaces, human-computer interaction, tracking systems, and perceptual psychology.
CS 4100: Artificial Intelligence (4) ai
Introduces the fundamental problems, theories, and algorithms of the artificial intelligence field. Includes heuristic search; knowledge representation using predicate calculus; automated deduction and its applications; planning; and machine learning. Additional topics include game playing; uncertain reasoning and expert systems; natural language processing; logic for common-sense reasoning; ontologies; and multiagent systems.
CS 4120: Natural Language Processing (4) ai
Introduces 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 corpora, 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. Knowledge of statistics is helpful.
CS 4150: Game Artificial Intelligence (4) ai
Offers an overview of classical and modern approaches to artificial intelligence in digital games. Focuses on the creation of believable agents and environments with the goal of providing a fun and engaging experience to a player. Covers player modeling, procedural content generation, behavior trees, interactive narrative, decision-making systems, cognitive modeling, and path planning. Explores different approaches for behavior generation, including learning and rule-based systems. Requires students to complete several individual assignments in these areas to apply the concepts covered in class. Students choose a group final project to explore one aspect of artificial intelligence for games in further depth. Offers students an opportunity to learn team management and communication. Students who do not meet course prerequisites may seek permission of instructor.
CY 4170: The Law, Ethics, and Policy of Data and Digital Technologies (4) impact
Describes the legal and ethical issues associated with collection, use, disclosure, and protection of digital information. Emphasizes legal infrastructure relating to privacy, data ethics, data security, hacking, automation, and intellectual property. Articulates the basic set of rules and rights that are relevant to data practices and protection, evaluates how these rules apply in context, and critically analyzes their efficacy and social impact.
CS 4180: Reinforcement Learning (4) ai
Introduces reinforcement learning and the Markov decision process (MDP) framework. Covers methods for planning and learning in MDPs such as dynamic programming, model-based methods, and model-free methods. Examines commonly used representations including deep-learning representations. Students are expected to have a working knowledge of probability, to complete programming assignments, and to complete a course project that applies some form of reinforcement learning to a problem of interest.
CS 4200: Database Internals (4) sys
Explores the internal workings of database management systems. Explains how database systems store data on disks. Studies how to improve query efficiency using index techniques such as B+-tree, hash indices, and multidimensional indices. Describes how queries are executed internally and how database systems perform query optimizations. Introduces concurrency control schemes implemented by locking, such as hierarchical locking and key range locking. Describes lock table structure. Discusses how database systems can perform logging and recovery to avoid loss of data in case of system crashes.
IS 4200: Information Retrieval (4) sys
Introduces information retrieval (IR) systems and different approaches to IR. Topics covered include evaluation of IR systems; retrieval, language, and indexing models; file organization; compression; relevance feedback; clustering; distributed retrieval and metasearch; probabilistic approaches to IR; Web retrieval; filtering, collaborative filtering, and recommendation systems; cross-language IR; multimedia IR; and machine learning for IR.
DS 4200: Information Presentation and Visualization (4) ai
Introduces foundational principles, methods, and techniques of visualization to enable creation of effective information representations suitable for exploration and discovery. Covers the design and evaluation process of visualization creation, visual representations of data, relevant principles of human vision and perception, and basic interactivity principles. Studies data types and a wide range of visual data encodings and representations. Draws examples from physics, biology, health science, social science, geography, business, and economics. Emphasizes good programming practices for both static and interactive visualizations. Creates visualizations in Excel and Tableau as well as R, Python, and open web-based authoring libraries. Requires programming in Python, JavaScript, HTML, and CSS. Requires extensive writing including documentation, explanations, and discussions of the findings from the data analyses and the visualizations.
CS 4300: Computer Graphics (4) graphics
Charts a path through every major aspect of computer graphics with varying degrees of emphasis. Discusses hardware issues: size and speed; lines, polygons, and regions; modeling, or objects and their relations; viewing, or what can be seen (visibility and perspective); rendering, or how it looks (properties of surfaces, light, and color); transformations, or moving, placing, distorting, and animating and interaction, or drawing, selecting, and transforming.
IS 4300: Human Computer Interaction (4) humans
Studies the principles of human-computer interaction and the practice of user interface design. Discusses the major human information processing subsystems (perception, memory, attention, and problem solving), and how the properties of these systems influence the design of interactive systems. Reviews guidelines and specification languages for designing user interfaces, with an emphasis on tool kits of standard graphical user interface (GUI) objects. Introduces usability metrics and evaluation methods. Additional topics may include World Wide Web design principles and tools; wireless/mobile device interfaces; computer-supported cooperative work; information visualization; and virtual reality. Course work includes designing user interfaces, creating working prototypes using a GUI tool kit, and evaluating existing interfaces using the methods studied.
DS 4300: Large-Scale Information Storage and Retrieval (4) sys
Introduces data and information storage approaches for structured and unstructured data. Covers how to build large-scale information storage structures using distributed storage facilities. Explores data quality assurance, storage reliability, and challenges of working with very large data volumes. Studies how to model multidimensional data. Implements distributed databases. Considers multitier storage design, storage area networks, and distributed data stores. Applies algorithms, including graph traversal, hashing, and sorting, to complex data storage systems. Considers complexity theory and hardness of large-scale data storage and retrieval. Requires use of nonrelational, document, key-column, key-value, and graph databases and programming in R, Python, and C++.
CS 4360: Non-Interactive Computer Graphics (4) graphics
Introduces computer graphics algorithms and concepts primarily focusing on offline rendering techniques. Consists of a lecture component and in-class laboratory to study common image synthesis algorithms and techniques to generate images used in games and 3D animated movies. Culminates with a final project in which students complete in groups or individually a renderer for generating high quality images. Students with an interest in a career as a graphics, rendering, or high performance computer engineer may consider taking this course.
CS 4400: Programming Languages (4) pls
Introduces a systematic approach to understanding the behavior of programming languages. Covers interpreters; static and dynamic scope; environments; binding and assignment; functions and recursion; parameter-passing and method dispatch; objects, classes, inheritance, and polymorphism; type rules and type checking; and concurrency.
DS 4400: Machine Learning and Data Mining 1 (4) ai
Introduces supervised and unsupervised predictive modeling, data mining, and machine-learning concepts. Uses tools and libraries to analyze data sets, build predictive models, and evaluate the fit of the models. Covers common learning algorithms, including dimensionality reduction, classification, principal-component analysis, k-NN, k-means clustering, gradient descent, regression, logistic regression, regularization, multiclass data and algorithms, boosting, and decision trees. Studies computational aspects of probability, statistics, and linear algebra that support algorithms, including sampling theory and computational learning. Requires programming in R and Python. Applies concepts to common problem domains, including recommendation systems, fraud detection, or advertising.
CS 4410: Compilers (4) pls
Studies the construction of compilers and integrates material from earlier courses on programming languages, automata theory, computer architecture, and software design. Examines syntax trees; static semantics; type checking; typical machine architectures and their software structures; code generation; lexical analysis; and parsing techniques. Uses a hands-on approach with a substantial term project.
DS 4420: Machine Learning and Data Mining 2 (4) ai
Continues with supervised and unsupervised predictive modeling, data mining, and machine-learning concepts. Covers mathematical and computational aspects of learning algorithms, including kernels, time-series data, collaborative filtering, support vector machines, neural networks, Bayesian learning and Monte Carlo methods, multiple regression, and optimization. Uses mathematical proofs and empirical analysis to assess validity and performance of algorithms. Studies additional computational aspects of probability, statistics, and linear algebra that support algorithms. Requires programming in R and Python. Applies concepts to common problem domains, including spam filtering.
DS 4440: Practical Neural Networks (4) ai
Offers a hands-on introduction to modern neural network ('deep learning') methods and tools. Covers fundamentals of neural networks and introduces standard and new architectures from simple feedforward networks to recurrent and 'transformer' architectures. Also covers stochastic gradient descent and backpropagation, along with related parameter estimation techniques. Emphasizes using these technologies in practice, via modern toolkits. Reviews applications of these models to various types of data, including images and text.
CS 4500: Software Development (4) softeng
Considers software development as a systematic process involving specification, design, documentation, implementation, testing, and maintenance. Examines software process models; methods for software specification; modularity, abstraction, and software reuse; and issues of software quality. Students, possibly working in groups, design, document, implement, test, and modify software projects.
CS 4520: Mobile Application Development (4) sys
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. The instructor chooses a modern mobile platform to be used in the course.
CS 4530: Fundamentals of Software Engineering (4) softeng
Covers the fundamentals of software engineering, including software development life cycle models (e.g., waterfall, spiral, agile); requirements analysis; user-centered design; software design principles and patterns; testing (functional testing, structural testing, testing strategies); code refactoring and debugging; software architecture and design; and integration and deployment. Includes a course project in which some of the software engineering methods (from requirements analysis to testing) are applied in a team-based setting.
CS 4550: Web Development (4) sys
Discusses Web development for sites that are dynamic, data driven, and interactive. Focuses on the software development issues of integrating multiple languages, assorted data technologies, and Web interaction. Considers ASP.NET, C#, HTTP, HTML, CSS, XML, XSLT, JavaScript, AJAX, RSS/Atom, SQL, and Web services. Requires each student to deploy individually designed Web experiments that illustrate the Web technologies and at least one major integrative Web site project. Students may work as a team with the permission of the instructor. Each student or team must also create extensive documentation of their goals, plans, design decisions, accomplishments, and user guidelines. All source files must be open and be automatically served by a sources server.
CS 4610: Robotic Science and Systems (4) sys
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. The course culminates in a grand challenge competition using all features of the robots.
CS 4700: Network Fundamentals (4) sys
Introduces the fundamental concepts of network protocols and network architectures. Presents the different harmonizing functions needed for the communication and effective operation of computer networks. Provides in-depth coverage of data link control, medium access control, routing, end-to-end transport protocols, congestion and flow control, multicasting, naming, auto configuration, quality of service, and network management. Studies the abstract mechanisms and algorithms as implemented in real-world Internet protocols. Also covers the most common application protocols (e-mail, Web, and ftp).
CS 4710: Mobile and Wireless Systems (4) sys
Covers both theoretical foundations of wireless/mobile networking and practical aspects of wireless/mobile systems, including current standards, mobile development platforms, and emerging technologies. Incorporates a strong practical component; requires students to work in teams on several practical assignments (e.g., based on Wi-Fi sensing, mobile applications, Internet-of-Things devices, and software-defined radio applications) and a final project. The final project integrates knowledge about several wireless communication technologies and mechanisms.
CS 4730: Distributed Systems (4) sys
Introduces distributed systems, covering fundamental concepts and showing how they are applied to build reliable distributed services. Examines several existing distributed applications, such as file systems, databases, lock services, digital currencies, smart contracts, and machine learning, and how these applications must coordinate to function and overcome failures, network partitions, or compromised parties. Distributed systems, such as databases, cloud services, and blockchains, are omnipresent in the services and applications that serve society on a daily basis.
CY 4740: Network Security (4) sys
Studies topics related to Internet architecture and cryptographic schemes in the context of security. Provides advanced coverage of the major Internet protocols including IP and DNS. Examines denial of service, viruses, and worms, and discusses techniques for protection. Covers cryptographic paradigms and algorithms such as RSA and Diffie-Hellman in sufficient mathematical detail. The advanced topics address the design and implementation of authentication protocols and existing standardized security protocols. Explores the security of commonly used applications like the Web and e-mail.
CY 4760: Security of Wireless and Mobile Systems (4) sys
Presents the foundations to understand security and privacy threats as well as defenses in wireless and mobile systems, especially in the era of softwarization of wireless networks. Studies the proliferation of wireless systems within a wide variety of contexts such as telephony, navigation, sensor networks, and critical infrastructures. Examines the security challenges inherent in the broadcast nature of wireless technologies and the increased availability of software-defined radios. Offers students an opportunity to obtain experience in describing and classifying security goals and attacks in modern wireless networks, to identify the unique security implications of these effects, and how to mitigate security issues associated with them.
CY 4770: Cryptography (4) math
Studies the design of cryptographic schemes that enable secure communication and computation. Emphasizes cryptography as a mathematically rigorous discipline with precise definitions, theorems, and proofs and highlights deep connections to information theory, computational complexity, and number theory. Topics include pseudorandomness; symmetric-key cryptosystems and block ciphers such as AES; hash functions; public-key cryptosystems, including ones based on factoring and discrete logarithms; signature schemes; secure multiparty computation and applications such as auctions and voting; and zero-knowledge proofs.
IS 4800: Empirical Research Methods (4)
Evaluates and conducts empirical research, focusing on students' use of empirical methods to study the effectiveness and organizational/social impact of information systems and technologies. Empirical research involves a number of broad steps including identifying problems; developing specific hypotheses; collecting data relevant to the hypotheses; analyzing the data; and considering alternative explanations for the empirical findings. Some of the most commonly used research techniques, such as surveys, experiments, and ethnographic methods, are discussed. Additional topics include the ethics of data collection and experimentation in behavioral science. Although the course focuses primarily on the relationship between formulating research questions and implementing the appropriate methods to answer them, students can expect to apply the statistical techniques learned in the course prerequisites.
CS 4805: Fundamentals of Complexity Theory (4) theory
Reviews basic material such as automata, Turing machines, (un)decidability, time complexity, P vs. NP, and NP-completeness. Studies core topics in computational complexity, including time and space complexity, polynomial hierarchy, circuit complexity, probabilistic computation, interactive proofs, and hardness of approximation. Optional topics may include Gödel's incompleteness theorem, Kolgomorov complexity, cryptography, quantum computing, communication complexity, lower bounds, or pseudorandomness.
CS 4810: Advanced Algorithms (4) algs
Builds on CS 3000. Presents an advanced study of computer algorithms. Covers basic algorithmic paradigms (e.g., greedy, divide-and-conquer, and dynamic programming); graph algorithms; optimization; computational Intractability (e.g., NP-completeness, PSPACE-completeness); randomized algorithms; and approximation algorithms.
CS 4820: Computer-Aided Reasoning (4) theory
Covers fundamental concepts, techniques, and algorithms in computer-aided reasoning, including propositional logic, variants of the DPLL algorithm for satisfiability checking, first-order logic, unification, tableaux, resolution, Horn clauses, congruence closure, rewriting, Knuth-Bendix completion, decision procedures, Satisfiability Modulo Theories, recursion, induction, termination, Presburger arithmetic, quantifier elimination, and interactive theorem proving. Offers students an opportunity to develop and implement a reasoning engine in a sequence of projects over the course of the semester. Also covers how to formalize and reason about computational systems using a modern interactive theorem prover.
CS 4830: System Specification, Verification, and Synthesis (4) theory
Covers the fundamental topics in formal modeling and specification (transition systems, temporal logic, regular and omega-regular languages, safety and liveness properties, etc.); computer-aided verification (state-space exploration, model checking, bounded-model checking, binary-decision diagrams, symbolic model checking, etc.); compositionality and assume-guarantee reasoning; contracts; and component-based design. Also covers fundamental topics in computer-aided synthesis of correct-by-construction systems, starting from high-level formal specifications or from example scenarios. Designing large and complex systems (digital circuits, embedded control systems such as automated vehicles, computerized healthcare devices such as pacemakers, cyber-physical systems such as automated intersections, etc.) and their software cannot be done by hand. Instead, designers use computer-aided techniques that allow them to build system models and verify correctness of the design before the real system is actually built.
CS 4850: Building Game Engines (4) graphics
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 several individual assignments to apply the algorithms and then develop a project in a team. 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. Students who do not meet course prerequisites may seek permission of instructor.
CY 4930: Cybersecurity Capstone (4) capstone
Provides the culmination of the learned principles and methodologies for identifying and addressing cybersecurity issues in organizations. Offers students an opportunity to work in small groups to identify and scope a current cybersecurity problem/challenge. Requires students to submit a written proposal about the project, complete with motivation, literature research, and reasons for the study; create a work plan to develop a solution to include the development and identification of the data necessary to properly solve the problem/challenge; and create a final report.
CS 4950: Computer Science Research Seminar (1) talks
Offers students an in-depth look at research in a particular subarea of computer science, information science, data science, or cybersecurity. The particular subarea varies from semester to semester. Exposes students to current research topics, often via guest faculty members. Offers students an opportunity to practice reading and discussing scientific literature, presenting scientific work, and distilling the key ideas and contributions of papers through required weekly paper summaries.
CS 4955: Computer Science Teaching Seminar (1)
Introduces techniques and frameworks to prepare undergraduate students to become more effective teaching assistants in the field of computer science. Students analyze and reflect on literature, case studies, and real examples of teaching computer science. Offers students an opportunity to participate within in-class activities to learn presentation skills, to practice speaking to different audience sizes, and to learn how to work with different types of audiences. Culminates with a final capstone project in which students prepare and present a lecture on a topic in computer science. Successful students are prepared for careers in teaching, presenting technical content when pursuing graduate studies, and for presenting technical information in industry.
CS 4970: Junior/Senior Honors Project 1 (4) capstone
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.
CY 4970: Junior/Senior Honors Project 1 (4) capstone
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.
CS 4971: Junior/Senior Honors Project (4) capstone
Focuses on second semester of in-depth project in which a student conducts research or produces a product related to the student's major field.
CY 4971: Junior/Senior Honors Project 2 (4) capstone
Focuses on second semester of in-depth project in which a student conducts research or produces a product related to the student's major field.
CS 4973: Topics in Computer Science (4) special
Offers a lecture course in computer science on a topic not regularly taught in a formal course. Topics may vary from offering to offering. May be repeated up to three times.
CY 4973: Topics in Cybersecurity (4) special
Offers a lecture course in cybersecurity on a topic not regularly taught in a formal course. Topics may vary from offering to offering. May be repeated up to four times.
CS 4990: Elective (14) special
Offers elective credit for courses taken at other academic institutions. May be repeated without limit.
CS 4991: Research (4) special
Offers an opportunity to conduct research under faculty supervision. May be repeated up to three times.
CS 4992: Directed Study (16) special
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.
CS 4993: Independent Study (16) special
Offers independent work under the direction of members of the department on a chosen topic. Course content depends on instructor. May be repeated up to three times.
CS 4998: Research (0) special
Offers an opportunity to document student contributions to research projects or creative endeavors.
CY 5001: Cyberspace Technology and Applications (4) sys
Seeks to provide a systematic understanding of cyberspace technology and applications deployed in the global digital infrastructure. Covers topics in computer networks, server architectures, operating systems, and scripting. All the techniques and tools included in the course are oriented to serve as instruments of security administrators and cybersecurity professionals. Uses practical hands-on labs running on virtual machines and containers hosted in the cloud computing environment to train students. For that reason, a practical overview of virtualization technologies, containerization, and cloud computing models is provided.
CY 5010: Foundations of Information Assurance (4) sys
Introduces information security via concepts of confidentiality, integrity, and availability. Discusses ethical, legal, and privacy ramifications while reviewing various laws, such as the Patriot Act, the Gramm-Leach-Bliley Act, and the General Data Protection Regulation. Covers security methods, controls, procedures, economics of cybercrime, criminal procedure, and forensics.
CY 5061: Cloud Security (2) sys
Introduces the fundamentals of cloud computing while segueing into understanding its various security challenges, threat models, and data privacy issues in regard to compliance and legal decisions. Examines the strategies to implement security controls, perform risk assessments, handle incident detection and response, while emphasizing maintaining a business-minded security life cycle for cloud-based environments.
CY 5062: Introduction to IoT Security (2) sys
Aims to provide a foundation for understanding the main issues associated with information security in a widely connected world in the context of Internet of Things (IoT). Emphasizes the vulnerabilities and threats of the IoT-based systems. Offers students an opportunity to learn the essentials of the IoT technologies and the underlying mechanisms for protecting information.
CY 5065: Cloud Security Practices (4) sys
Introduces the fundamentals of cloud computing. Examines the strategies to implement security controls, perform risk assessments, and handle incident detection and response. Emphasizes maintenance of a business-minded security life cycle for cloud-based environments. Offers students an opportunity to obtain an understanding of various security challenges, threat models, and data privacy issues in regard to compliance and legal implications.
CY 5120: Applied Cryptography (4) sys
Surveys the principles and the practices of cryptography. Overviews the core cryptographic algorithms: symmetric encryption schemes (e.g., DES and AES); public key cryptosystems (e.g., RSA and discrete logarithm); and hash functions (e.g., the SHA family). Discusses core information assurance building blocks, such as authentication, digital signatures, key management, and digital certificates. Finally, applies these concepts to important security architectures, including the IP network stack (e.g., IPsec and SSL/TLS), the cellular system, and broadcast media. Restricted to students in the College of Computer and Information Science and in the College of Engineering or by permission of instructor.
CY 5130: Computer System Security (4) sys
Offers a practical overview of enterprise computer security, operating systems security, and related topics. Applies concepts such as authentication, access control, integrity, and audit to the modern operating system. Discusses and demonstrates system, process, memory, and file system-level defenses—and the attacks against them. Also discusses topics in data security and virtualization. Uses hands-on labs to reinforce skills and provide practical experience.
CY 5150: Network Security Practices (4) sys
Explores issues involved in the security of computer networks. Topics include firewalls, viruses, virtual private networks, Internet security, and wireless security. Includes case studies and laboratory exercises. Restricted to students in the College of Computer and Information Science or by permission of instructor.
CY 5200: Security Risk Management and Assessment (4) sys
Creates the opportunity for competency in the development of information security policies and plans including controls for physical, software, and networks. Discusses different malicious attacks, such as viruses and Trojan horses, detection strategies, countermeasures, damage assessment, and control. Covers information system risk analysis and management, audits, and log files. Uses case studies, site visits, and works with commercial products.
CY 5210: Information System Forensics (4) sys
Designed to allow students to explore the techniques used in computer forensic examinations. Examines computer hardware, physical and logical disk structure, and computer forensic techniques. Conducts hands-on experiences on DOS, Windows operating systems, Macintosh, Novell, and Unix/Linux platforms. Builds on basic computer skills and affords hands-on experience with the tools and techniques to investigate, seize, and analyze computer-based evidence using a variety of specialized forensic software in an IBM-PC environment.
CY 5240: Cyberlaw: Privacy, Ethics, and Digital Rights (4) impact
Describes the legal and ethical issues associated with information security including access, use, and dissemination. Emphasizes legal infrastructure relating to information assurance, such as the Digital Millenium Copyright Act and Telecommunications Decency Act, and emerging technologies for management of digital rights. Examines the role of information security in various domains such as healthcare, scientific research, and personal communications such as email. Examines criminal activities such as computer fraud and abuse, desktop forgery, embezzlement, child pornography, computer trespass, and computer piracy.
MATH 1341: Calculus 1 for Science and Engineering (4) math
Covers definition, calculation, and major uses of the derivative, as well as an introduction to integration. Topics include limits; the derivative as a limit; rules for differentiation; and formulas for the derivatives of algebraic, trigonometric, and exponential/logarithmic functions. Also discusses applications of derivatives to motion, density, optimization, linear approximations, and related rates. Topics on integration include the definition of the integral as a limit of sums, antidifferentiation, the fundamental theorem of calculus, and integration by substitution.
MATH 1342: Calculus 2 for Science and Engineering (4) math
Covers further techniques and applications of integration, infinite series, and introduction to vectors. Topics include integration by parts; numerical integration; improper integrals; separable differential equations; and areas, volumes, and work as integrals. Also discusses convergence of sequences and series of numbers, power series representations and approximations, 3D coordinates, parameterizations, vectors and dot products, tangent and normal vectors, velocity, and acceleration in space. Requires prior completion of MATH 1341 or permission of head mathematics advisor.
MATH 1365: Introduction to Mathematical Reasoning (4) math
Covers the basics of mathematical reasoning and problem solving to prepare incoming math majors for more challenging mathematical courses at Northeastern. Focuses on learning to write logically sound mathematical arguments and to analyze such arguments appearing in mathematical books and courses. Includes fundamental mathematical concepts such as sets, relations, and functions.
MATH 2321: Calculus 3 for Science and Engineering (4) math
Extends the techniques of calculus to functions of several variables; introduces vector fields and vector calculus in two and three dimensions. Topics include lines and planes, 3D graphing, partial derivatives, the gradient, tangent planes and local linearization, optimization, multiple integrals, line and surface integrals, the divergence theorem, and theorems of Green and Stokes with applications to science and engineering and several computer lab projects. Requires prior completion of MATH 1342 or MATH 1252.
MATH 2331: Linear Algebra (4) math
Uses the Gauss-Jordan elimination algorithm to analyze and find bases for subspaces such as the image and kernel of a linear transformation...
MATH 2341: Differential Equations and Linear Algebra for Engineering (4) math
Studies ordinary differential equations, their applications, and techniques for solving them including numerical methods...
MATH 3081: Probability and Statistics (4) math
Focuses on probability theory. Topics include sample space; conditional probability and independence; discrete and continuous probability distributions for one and for several random variables; expectation; variance; special distributions including binomial, Poisson, and normal distributions; law of large numbers; and central limit theorem. Also introduces basic statistical theory including estimation of parameters, confidence intervals, and hypothesis testing.
MATH 3175: Group Theory (4) math
Presents basic concepts and techniques of the group theory: symmetry groups, axiomatic definition of groups, important classes of groups (abelian groups, cyclic groups, additive and multiplicative groups of residues, and permutation groups), Cayley table, subgroups, group homomorphism, cosets, the Lagrange theorem, normal subgroups, quotient groups, and direct products. Studies structural properties of groups. Possible applications include geometry, number theory, crystallography, physics, and combinatorics
MATH 3527: Number Theory 1 (4) math
Introduces number theory. Topics include linear diophantine equations, congruences, design of magic squares, Fermat's little theorem, Euler's formula, Euler's phi function, computing powers and roots in modular arithmetic, the RSA encryption system, primitive roots and indices, and the law of quadratic reciprocity. As time permits, may cover diophantine approximation and Pell's equation, elliptic curves, points on elliptic curves, and Fermat's last theorem.
EECE 2322: Fundamentals of Digital Design and Computer Organization (4) engr
Covers the design and evaluation of control and data structures for digital systems. Uses hardware description languages to describe and design both behavioral and register-transfer-level architectures and control units. Topics covered include number systems, data representation, a review of combinational and sequential digital logic, finite state machines, arithmetic-logic unit (ALU) design, basic computer architecture, the concepts of memory and memory addressing, digital interfacing, timing, and synchronization. Assignments include designing and simulating digital hardware models using Verilog as well as some assembly language to expose the interface between hardware and software.
EECE 2323: Lab for EECE 2322 (1) engr
Offers students an opportunity to design and implement a simple computer system on field-programmable logic using a hardware description language. Covers simulation and testing of designs.
EECE 3324: Computer Architecture and Organization (4) engr
Presents a range of topics that include assembly language programming, number systems, data representations, ALU design, arithmetic, the instruction set architecture, and the hardware/software interface. Offers students an opportunity to program using assembly language and to simulate execution. Covers the architecture of modern processors, including datapath/control design, caching, memory management, pipelining, and superscalar. Discusses metrics and benchmarking techniques used for evaluating performance.
EECE 4534: Microprocessor-Based Design (4) engr
Focuses on the hardware and software design for devices that interface with embedded processors. Topics include assembly language; addressing modes; embedded processor organization; bus design; electrical characteristics and buffering; address decoding; asynchronous and synchronous bus protocols; troubleshooting embedded systems; I/O port design and interfacing; parallel and serial ports; communication protocols and synchronization to external devices; hardware and software handshake for serial communication protocols; timers; and exception processing and interrupt handlers such as interrupt generation, interfacing, and auto vectoring.
PHYS 1161: Physics 1 (4) sci
Covers calculus-based physics. Offers the first semester of a two-semester integrated lecture and laboratory sequence intended primarily for science students. Covers Newtonian mechanics and fluids. Emphasizes the underlying concepts and principles. Takes applications from a wide variety of fields, such as life sciences and medicine, astro- and planetary physics, and so on. Includes topics such as forces, torque and static equilibrium, one-dimensional and three-dimensional motion, Newton’s laws, dynamics friction, drag, work, energy and power, momentum and collisions, rotational dynamics, oscillations, pressure, fluids, and gravity.
PHYS 1162: Lab for PHYS 1161 (1) sci
Accompanies PHYS 1161. Covers topics from the course through various experiments.
PHYS 1165: Physics 2 (4) sci
Continues PHYS 1161. Offers the second semester of a two-semester integrated lecture and laboratory sequence intended primarily for science students. Includes topics such as electrostatics; capacitors; resistors and direct-current circuits; magnetism and magnetic induction; RC, LR, and LRC circuits; waves; electromagnetic waves; and fluids.
PHYS 1166: Lab for PHYS 1165 (1) sci
Accompanies PHYS 1165. Covers topics from the course through various experiments.
PHYS 2303: Modern Physics (4) sci
Reviews experiments demonstrating the atomic nature of matter, the properties of the electron, the nuclear atom, the wave-particle duality, spin, and the properties of elementary particles. Discusses, mostly on a phenomenological level, such subjects as atomic and nuclear structure, properties of the solid state, and elementary particles. Introduces the special theory of relativity.
PHYS 2371: Electronics (3) sci
Covers the physics underlying computers and our modern electronic world. Focuses on principles of semiconductor devices (diodes, transistors, integrated circuits, LEDs, photovoltaics); analog techniques (amplification, AC circuits, resonance); digital techniques (binary numbers, NANDs, logic gates, and circuits); electronic subsystems (operational amplifiers, magnetoelectronics, optoelectronics); and understanding commercial electronic equipment. Lab experiments are designed to investigate the properties of discrete and integrated devices and use them to design and build circuits.
PHYS 2372: Lab for PHYS 2371 (1) sci
Accompanies PHYS 2371. Illustrates topics from the lecture course through various hands-on experimental projects. Covers the process of electronics design from a goal-oriented perspective. Students are expected to consider their own electronics design project and build a prototype device that accomplishes a specific purpose.
PHYS 3600: Advanced Physics Laboratory (4) sci
Introduces research through experiments that go beyond the simple demonstration of basic physical principles found in introductory physics courses. Data are taken to higher precision and the analysis is more in-depth. Experiments focus on lasers, fiber-optic communication, spectroscopy, Faraday rotation, speed of light, semiconductor physics, Hall effect, fuel cells, and Fourier analysis of music and sound. Lab reports are assessed on organization, format, grammar, and style. Offers students an opportunity to significantly improve their abilities in written scientific communication.
PHYS 3602: Electricity and Magnetism 1 (4) sci
First course of a two-course sequence in electricity, magnetism, and electromagnetic theory. Covers electrostatics and dielectric materials, magnetostatics and magnetic materials, currents in conductors, induction, displacement currents, computer solutions of EM problems, and Maxwell’s equations.
PHYS 4305: Thermodynamics and Statistical Mechanics (4) sci
Focuses on first and second laws of thermodynamics, entropy and equilibrium, thermodynamic potentials, elementary kinetic theory, statistical mechanics, and the statistical interpretation of entropy. Utilizes the principles of quantum mechanics to describe the behavior of thermodynamic/statistically-large systems such as quantum gases.
PHYS 5318: Principles of Experimental Physics (4) sci
Designed to introduce students to the techniques of modern experimental physics. Topics include communication and information physics, signal processing and noise physics, applied relativity physics, detector techniques, semiconductor and superconductor physics, nanoscale microscopy and manipulation, and lasers and quantum optics.
AFAM 2600: Issues in Race, Science, and Technology (4)
Examines the social impact of diverse forms of technological development and application that will have sweeping effects on the everyday lives of individuals, groups, governments, and societies in the twenty-first century. The global, transforming effects of technology as it affects communities of color in the United States and internationally are explored in three main areas: the computer, DNA, and quantum revolutions. Topics include the digital divide, minority media ownership, human cloning, the “dot.com” phenomenon, race and cultural representations in cyberspace, and biopiracy. Lectures, class discussions, fieldwork, and interaction with leaders in these various fields are integral elements of the course.
COMM 1112: Public Speaking (4)
Develops skills in public communication. Topics include choosing and researching a topic, organizing and delivering a speech, handling speech anxiety, listening critically, and adapting language to an audience. Offers the opportunity for students to present a series of speeches and receive advice and criticism from an audience.
COMM 1113: Business and Professional Speaking (4)
Designed to assist students in developing advanced public speaking and presentational skills for professional and leadership positions. Covers fundamentals such as audience, speech objectives and structure, and effective delivery. Emphasizes the production and successful interaction with electronic and traditional supportive media. Offers students an opportunity to develop their presentational skills in a variety of settings and realistic business tasks.
COMM 1210: Persuasion and Rhetoric (4)
Seeks to teach students to be more astute receivers and producers of persuasive messages by learning how to dissect them. Examines both classical and contemporary theories of persuasion, after which students consider “persuasion in action”—how persuasion is used in everyday language, nonverbal communication, sales techniques, politics, and propaganda. Ethical issues in persuasion are addressed throughout the course.
COMM 1511: Communication and Storytelling (4)
Engages students in the discovery of varied and culturally diverse texts in the literary genres of poetry, prose, and drama. Students focus on analyzing an author's meaning and communicating that meaning to an audience through interpretive performance.
COMM 2551: Free Speech in Cyberspace (4)
Examines the intersection of law, policy, and new (or relatively new) information and communication technologies. New technologies offer the possibility of new forms of creativity, political engagement, and social life; they also, however, offer very real opportunities to cause serious reputational harm, promote damaging malicious speech, create new controls on creativity, and violate privacy. Uses readings and in-class activities to consider how values and principles that have historically been deemed important apply to the world of new information and communication technologies. Examines how law and policy shape the development and use of new technologies and, at the same time, investigates how new technologies challenge, undermine, and reconfigure existing law and policy.
CRIM 2340: Corporate Security: Securing the Private Sector (4)
Examines the history and evolution of security from a focus on crime prevention to one of loss prevention for business, industry, institutions, and government. Emphasizes the need for analytical, interpersonal, and communications skills in developing cost-effective programs for the protection of assets, personnel, and third parties. Discusses the security/government relationship.
CRIM 4040: Crime Prevention (4)
Offers an overview of issues related to crime prevention, both from criminological and criminal justice points of view. Examines crime prevention programs that encompass both the individual and community levels, as well as the integration of such levels. Offers students an opportunity to learn current theories of and leading research on the main approaches to preventing crime, including developmental, situational, and community prevention. Focuses on assessing the effectiveness of prevention programs and policies.
ENGL 2150: Literature and Digital Diversity (4)
Focuses on the use of digital methods to analyze and archive literary texts, emphasizing issues of diversity and inclusion. Covers three main areas: text encoding, textual analysis, and archive construction. Considers literary texts and corpora, including works by well-known authors such as Shakespeare, together with collections by marginalized writers, including slave narratives and writings by early modern women. Offers students an opportunity to explore what counts as literature and how computers, databases, and analytical tools give substance to concepts of aesthetic, cultural, and intellectual value as inflected by race and gender.
ENGW 3302: Advanced Writing in the Technical Professions (4)
Offers writing instruction for students in the College of Engineering and the College of Computer and Information Science. Students practice and reflect on writing in professional, public, and academic genres—such as technical reports, progress reports, proposals, instructions, presentations, and technical reviews—relevant to technical professions and individual student goals. In a workshop setting, offers students an opportunity to evaluate a wide variety of sources and develop expertise in audience analysis, critical research, peer review, and revision.
ENGW 3307: Advanced Writing in the Sciences (4)
Offers instruction in writing for students considering careers or advanced study in the physical or life sciences. By exploring research literature and reflecting on their own experiences, offers students an opportunity to identify issues of interest in their field and analyze how scientific texts make claims, invoke other scientific literature, offer evidence, and deploy key terms. Through analysis and imitation, exposes students to the challenges of the scientific project, such as the use of quantitative data and visual presentation of evidence. In a workshop setting, offers students an opportunity to evaluate a wide variety of sources and develop expertise in audience analysis, critical research, peer review, and revision.
ENGW 3315: Interdisciplinary Advanced Writing in the Disciplines (4)
Offers writing instruction for students interested in interdisciplinary study or who wish to explore multiple disciplines. Students practice and reflect on writing in professional, public, and academic genres relevant to their individual experiences and goals. In a workshop setting, offers students an opportunity to evaluate a wide variety of sources and to develop expertise in audience analysis, critical research, peer review, and revision.
HIST 2220: History of Technology (4)
Offers an interdisciplinary survey of the global history of science and technology. Explores how scientific and technical knowledge, processes, and innovations developed and circulated. Examines how science and technology both shaped and responded to society, culture, ethics, and thought.
INSH 2102: Bostonography: The City through Data, Texts, Maps, and Networks (4)
Uses Boston as a case study for integrating computational methods with the social sciences and humanities to provide new insights into major cultural, historical, and societal questions as they relate to and extend beyond the city of Boston. Through lectures, discussions, and labs, the course examines a variety of data sets that measure geographic, historical, literary, political, civic, and institutional landscapes. Offers students an opportunity to combine analytical tools, such as geospatial mapping, data visualization, and network science, with readings, hands-on class activities, and museum or site visits, enabling a comprehensive view of complex cultural and social phenomena.
LPSC 1101: Introduction to Law (4)
Examines the role of law and society from a regulatory, constitutional, and judicial perspective, noting the role each of these has played in shaping the current legal framework in the United States. Introduces students to the relationship between law, societal organizations (both nongovernmental organizations and not-for-profit organizations), the private sector, and the separate branches of government (the judiciary, congressional, and executive branches). Provides students with the opportunity to learn to legally analyze judicial opinions, prepare legal memoranda, and present an oral argument before a “judge.”
LPSC 2301: Introduction to Law, Policy, and Society (4)
Examines the relationship of society to its laws: how society creates changes in law or policy via societal pressure and social movements (such as the environmental, women's rights, and corporate accountability movements); how law and policy affect individual rights and behavior; whether a society needs laws in order to function; the relationship between some branches of our government in effectuating social change; and some of the fundamental differences between societies governed by seemingly similar but pragmatically different laws, such as the right to a jury trial.
LPSC 3303: Topics in Law and Public Policy (4)
Covers special topics in law, policy, and society to fulfill students' interests. May be repeated without limit.
PHIL 1145: Technology and Human Values (4) sci
Studies philosophy of technology, as well as ethics and modern technology. Considers the relationship between technology and humanity, the social dimensions of technology, and ethical issues raised by emerging technologies. Discusses emerging technologies such as biotechnology, information technology, nanotechnology, and virtual reality.
PHIL 1300: Knowledge in a Digital World (4) sci
Examines the impact that information technologies (such as the internet, search engines, blogs, wikis, and smartphones); information processing techniques (such as big data analysis, machine learning, crowdsourcing, and cryptography); and information policies (such as privacy norms and speech restrictions) have on what we know and how much we know, as individuals and as a society. The digital world can enhance our ability to acquire knowledge by providing us with fast and cheap access to huge amounts of information. However, it can also undermine our cognitive abilities and provide us with inaccurate or misleading information. Studies normative frameworks from epistemology and ethics (such as epistemic value theory, the extended mind hypothesis, and moral rights) to evaluate these technologies and policies.
POLS 2390: Science, Technology, and Public Policy (4)
Considers the role of science and technology in the policymaking process, not only as a tool but also as a subject of policymaking. Cases include government involvement in innovation and economic growth, the role of the military in the development of science and technology, the governance and regulation of the effects of scientific and technological progress, public funding of science and technology, and ethical aspects of science and technology, including the emerging focus on anticipatory and participatory governance.
POLS 3307: Public Policy and Administration (4)
Analyzes the structure of and dynamics inherent in public policymaking and public administration in the United States. Introduces such concepts as problem definition, agenda development, policy formation, program implementation, and policy evaluation. Covers key issues in public administration including budgeting, personnel, and organizational design.
POLS 3324: Law and Society (4)
Examines the sociological understanding of legal phenomena. Places special emphasis on the role of the law in cultural and social conflicts in American society.
POLS 3406: International Law (4)
Introduces international law and how it redefines and shapes world politics. Offers students an opportunity to learn about the cornerstones of this area of the law: the state, organizations and their legal personality, diplomatic relations, treaties, extraterritorial jurisdiction, extradition, human rights and humanitarian law, the law of the sea trade/economic law, and international criminal law with a focus on the world courts. Considers the degree to which international law is pervasive in the life of individuals and states alike.
POLS 3420: U.S. National Security Policy (4)
Analyzes U.S. national security policy, with an emphasis on traditional and nontraditional threats, including threats from state and nonstate actors. Studies the national security policy process with special attention to developing countermeasures as well as resilience.
POLS 3423: Terrorism and Counterterrorism (4)
Examines some of the core debates over terrorism and counterterrorism. Topics include what constitutes terrorism, why people become terrorists, which targets they attack, whether nuclear terrorism is a serious threat, the extent to which terrorism helps the perpetrators, and their motives. From there, the course introduces the student to viable counterterrorism strategies. Permission of instructor required for students who do not meet prerequisite.
PSYC 3466: Cognition (4)
Provides a basic introduction to human cognition. Topics include pattern recognition, attention, memory, categorization and concept formation, problem solving, and aspects of cognitive development. Examines current theories of cognitive processing and related experimental findings.
SOCL 1280: The Twenty-First-Century Workplace (4)
Analyzes the transformation of work since the advent of industrial capitalism. Emphasizes the organization and experience of work since World War II and the contemporary shifts underway in the wake of deindustrialization, the rise of service work, the emergence of the internet, the platform revolution, and the globalization of business organizations. Topics include the shifting nature of authority relations at work; changing forms of labor control; types of workplace culture in traditional and high-tech settings; and efforts to identify and reduce bias against women, minorities, and members of the LGBTQ community. Addresses dilemmas arising from the introduction of advanced technologies.
SOCL 2485: Environment, Technology, and Society (4)
Focuses on the connections between the development of modern nation-states and the control of nature. Explores the role human societies play in such events as climate change, tsunamis, and droughts. Asks how industrialization and the process of science and technology development are related to our transforming environmental conditions, as well as how the social sciences, the sciences, and engineering are transforming to address these issues. Draws on social theory, environmental history, anthropology/sociology, art/design, and open-source technologies to investigate theoretically and methodologically the sources, experiences of, and solutions for environmental health questions.
SOCL 4528: Computers and Society (4)
Focuses on the social and political context of technological change and development. Through readings, course assignments, and class discussions, offers students an opportunity to learn to analyze the ways that the internet, artificial intelligence, and other technological advances have required a reworking of every human institution—both to facilitate the development of these technologies and in response to their adoption.
THTR 1125: Improvisation (4)
Introduces theatre improvisation principles through games, exercises, and readings. Offers a playful and rigorous environment for students to respond to unexpected situations with confidence and agility. In this experiential studio course, students participate in group and individual exercises that explore and practice creative impulses, adaptability, risk taking, intuition, and teamwork. Culminates in a self-reflection paper.
THTR 1130: Introduction to Acting (4)
Introduces techniques that awaken the creative mind, body, and spirit of the actor. Through theatre games and voice/movement exercises, offers students an opportunity to explore and develop skills used by actors in preparation for a role. Students rehearse and perform scenes from contemporary plays. Designed for nontheatre majors; previous stage experience welcome but not required.
THTR 1180: The Dynamic On-Screen Presenter (4)
Offers students across disciplines the opportunity to enhance the quality of their spoken voice and improve clarity of expression, with specific emphasis on being a dynamic presenter across digital platforms. Focuses on physical and vocal exercises drawn from theatre training and practice, providing tools to release tensions that inhibit the clear communication of thoughts and ideas in professional and interpersonal interactions across in-person and digital modalities. Offers students an opportunity to apply these skills directly to various texts, circumstances, and settings through active participation in spoken, written, and performative work.
THTR 2345: Acting for the Camera (4)
Explores the craft and methods used by actors while working in front of the camera through monologues, scenes, and group projects. Provides students with techniques to identify and free their performance energy with a foundation on relaxation and authenticity. Includes the study and analysis of acting styles in diverse genres of film and television from situation comedies to dramas. Offers students an opportunity to explore a range of on-camera skills and acting techniques and apply them in filmed final projects. Previous acting experience suggested but not required.