Computer Science (CS) < Northeastern University

CS 1100. Computer Science and Its Applications. (4 Hours)
Introduces students to the field of computer skill and the patterns of think that enable them to become healthy users of software tools in a problem-solving set. Examines respective important software applications so that students may develop the skills necessity to use computers efficaciously in their own disciplines .
Corequisite(s): CS 1101 Attribute(s): NUpath Analyzing/Using Data

CS 1101. Lab for CS 1100. (1 Hour)
Accompanies CS 1100. Involves experiments and trouble solving across multiple disciplines using computer science techniques and tools .
Corequisite(s): CS 1100
CS 1200. First Year Seminar. (1 Hour)
search 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 use of appropriate campus resources ; and assist with academic and personal goal set .

CS 1210. Professional Development for Khoury Co-op. (1 Hour)
Continues the preparation of students for careers in the calculate and information fields by discussing cooperative and cooperative processes. Offers students an opportunity to prepare a professional resumé ; exercise proper interviewing techniques ; explore current caper opportunities ; learn how to engage in the subcontract and referral action ; and to understand cooperative policies, procedures, and expectations. Discusses professional behavior and ethical issues in the workplace .
Prerequisite(s): CS 2510 with a minimum grade of D-
CS 1800. Discrete Structures. (4 Hours)
Introduces the mathematical structures and methods that form the foundation of calculator skill. Studies structures such as sets, tuples, sequences, lists, trees, and graph. 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. besides covers the count techniques and arguments needed to estimate the size of sets, the growth of functions, and the space-time complexity of algorithm .
Corequisite(s): CS 1802 Attribute(s): NUpath Formal/Quant Reasoning
CS 1802. Seminar for CS 1800. (1 Hour)
Accompanies CS 1800. Illustrates topics from the lecture run through discussions, quizzes, and homework assignments .
Corequisite(s): CS 1800
CS 1990. Elective. (1-4 Hours)
Offers elective credit rating for courses taken at other academic institutions. May be repeated without limit .

CS 2500. Fundamentals of Computer Science 1. (4 Hours)
Introduces the fundamental ideas of computing and the principles of programming. Discusses a systematic approach path to discussion problems, including analytic read, deduction, finish place, planning, plan murder, and testing. Presents several models of computing, starting from nothing more than formulation evaluation in the spirit of high school algebra. No prior program know is assumed ; consequently, suitable for freshman students, majors and nonmajors alike who wish to explore the cerebral ideas in the discipline .
Corequisite(s): CS 2501 Attribute(s): NUpath Formal/Quant Reasoning, NUpath Natural/Designed World
CS 2501. Lab for CS 2500. (1 Hour)
Accompanies CS 2500. Covers topics from the course through diverse experiments .
Corequisite(s): CS 2500
CS 2510. Fundamentals of Computer Science 2. (4 Hours)
Continues CS 2500. Examines object-oriented program and associated algorithm using more complex datum structures as the focus. Discusses cuddle structures and nonlinear structures including hash tables, trees, and graph. Emphasizes abstraction, encapsulation, inheritance, polymorphism, recursion, and object-oriented design patterns. Applies these ideas to sample applications that illustrate the breadth of computer science .
Prerequisite(s): CS 2500 with a minimal grade of D- Corequisite(s): CS 2511 Attribute(s): NUpath Analyzing/Using Data, NUpath Natural/Designed World
CS 2511. Lab for CS 2510. (1 Hour)
Accompanies CS 2510. Covers topics from the run through respective experiments .
Corequisite(s): CS 2510
CS 2800. Logic and Computation. (4 Hours)
Introduces courtly logic and its connections to calculator and information skill. Offers an opportunity to learn to translate statements about the behavior of calculator programs into logical claims and to gain the ability to prove such assertions both by handwriting and using automated tools. Considers approaches to proving end point, correctness, and safety for programs. Discusses notations used in logic, propositional and beginning decree logic, coherent inference, mathematical initiation, and morphologic initiation. Introduces the function of logic for modeling the range of artifacts and phenomena that arise in calculator and information science .
Prerequisite(s): ( coke 1800 with a minimal grade of D- or MATH 1365 with a minimal class of D- or MATH 2310 with a minimum grade of D- ) ; CS 2500 with a minimum grade of D- Corequisite(s): CS 2801
CS 2801. Lab for CS 2800. (1 Hour)
Accompanies CS 2800. Covers topics from the class through diverse experiments .
Corequisite(s): CS 2800
CS 2810. Mathematics of Data Models. (4 Hours)
Studies the methods and ideas in linear algebra, multivariable tartar, and statistics that are most relevant for the rehearse computer scientist doing car learning, model, or hypothesis testing with data. Covers least squares regression, finding eigenvalues to predict a linear system ’ s behavior, performing gradient lineage 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 democratic machine-learning methods, including bayesian models and nervous networks .
Prerequisite(s): CS 1800 with a minimal mark of D- ; CS 2500 with a minimum grade of D- Attribute(s): NUpath Analyzing/Using Data, NUpath Formal/Quant Reasoning
CS 2990. Elective. (1-4 Hours)
Offers elective credit for courses taken at other academic institutions. May be repeated without limit .

CS 2991. Research in Computer Science. (1-4 Hours)
Offers an opportunity to conduct introductory-level research or creative endeavors under faculty supervision .

CS 2992. Research. (0 Hours)
Offers an opportunity to document student contributions to research projects or creative endeavors .

CS 3000. Algorithms and Data. (4 Hours)
Introduces the basic principles and techniques for the design, analysis, and implementation of effective algorithm and datum representations. Discusses asymptotic analysis and courtly methods for establishing the correctness of algorithm. Considers divide-and-conquer algorithm, graph traversal algorithm, and optimization techniques. Introduces information theory and covers the fundamental structures for representing data. Examines flat and hierarchical representations, dynamic datum representations, and data compaction. Concludes with a discussion of the relationship of the topics in this class to complexity theory and the notion of the hardness of problems .
Prerequisite(s): ( ( 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 EECE 2160 with a minimum grade of D- Corequisite(s): CS 3001
CS 3001. Recitation for CS 3000. (0 Hours)
Accompanies CS 3000. Provides students with extra opportunities to ask questions and engage with course fabric .
Corequisite(s): CS 3000
CS 3200. Database Design. (4 Hours)
Studies the plan of a database for use in a relational database management arrangement. The entity-relationship exemplary and standardization are used in problems. Relational algebra and then the SQL ( structured question language ) are presented. advance topics include triggers, stored procedures, indexing, elementary question optimization, and fundamentals of concurrence and recovery. Students implement a database schema and light application programs on one or more commercial relational database management systems .
Prerequisite(s): CS 2500 with a minimum grade of D- or DS 2000 with a minimum grade of D- or CS 1500 with a minimal grade of D- or EECE 2560 with a minimum class of D- Attribute(s): NUpath Analyzing/Using Data, NUpath Formal/Quant Reasoning
CS 3500. Object-Oriented Design. (4 Hours)
Presents a relative approach to object-oriented programming and design. Discusses the concepts of object, classify, meta-class, message, method, inheritance, and genericity. Reviews forms of polymorphism in object-oriented languages. Contrasts the consumption of inheritance and composition as double techniques for software recycle : forwarding vs. delegating and subclassing vs. subtyping. Fosters a deeper reason of the principles of object-oriented program and design including software components, object-oriented design patterns, and the use of graphic purpose notations such as UML ( unify mold speech ). 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 .
Prerequisite(s): CS 2510 with a minimal class of D- or CS 1500 with a minimum grade of D- or EECE 2560 with a minimum class of D- Corequisite(s): CS 3501 Attribute(s): NUpath Analyzing/Using Data, NUpath Natural/Designed World
CS 3501. Lab for CS 3500. (1 Hour)
Accompanies CS 3500. Covers topics from the course and provides students with extra opportunities to engage with course corporeal .
Corequisite(s): CS 3500
CS 3520. Programming in C++. (4 Hours)
Examines how to course of study in C++ in a robust and safe manner. Reviews basics, including scoping, type, and primitive data structures. Discusses data types ( primitive, range, structure, class, string ) ; addressing/parameter mechanisms ( value, pointer, reference ) ; stacks ; queues ; linked lists ; binary trees ; hashish tables ; and the plan of classes and classify inheritance, emphasizing individual inheritance. Considers the instantiation of objects, the trade-offs of stack vs. heap allotment, and the design of constructors and destructors. Emphasizes the need for a scheme for active memory management. Addresses function and operator overload ; templates, the Standard Template Library ( STL ), and the STL components ( containers, generic algorithm, iterators, adaptors, allocators, function objects ) ; streams ; exception handle ; and system calls for processes and threads .
Prerequisite(s): CS 1500 with a minimal grade of D- or CS 2510 with a minimum grad of D- or DS 2500 with a minimal grade of D-
CS 3540. Game Programming. (4 Hours)
Introduces the different subsystems used to create a 3D game, including render, animation, collision, physics, audio, trigger systems, bet on logic, behavior trees, and simple artificial news. Offers students an opportunity to learn the inner workings of crippled engines and how to use multiple libraries such as physics and graphics libraries to develop a crippled. Discusses graphics pipeline, scenery graph, floor design, behavior script, object-oriented game design, world editors, and game script languages .
Prerequisite(s): CS 2510 with a minimum grade of D-
CS 3620. Building Extensible Systems. (4 Hours)
Deals with the design of extensile software systems, which enable clients to add functionality both statically a well as dynamically. Examples of such systems are operating systems, game servers, and Web browsers. Describes the classical systems built on C-like languages with insecure, manual memory control and the more late systems built on Java-like languages with safe, automated memory management. Introduces the Rust program linguistic process, which combines the efficiency of C with safe manual memory control via type specifications and compiler constraints. Offers students an opportunity to build systems using all three settings but focuses on the Rust approach. Students besides have an opportunity to evaluate their knead via essays and memos .
Prerequisite(s): CS 2510 with a minimum grade of D- ; ( ENGW 1111 with a minimal grad of C or ENGW 1102 with a minimal mark of C or ENGL 1111 with a minimum grade of C or ENGL 1102 with a minimal mark of C ) Attribute(s): NUpath Writing Intensive
CS 3650. Computer Systems. (4 Hours)
Introduces the basic blueprint of computing systems, computer operating systems, and assembly linguistic process using a RISC architecture. Describes caches and virtual memory. Covers the interface between assembly lyric and high-level languages, including bid frames and pointers. Covers the use of system calls and systems programming to show the interaction with the function system. Covers the basic structures of an operate system, including application interfaces, processes, threads, synchronization, interprocess communication, deadlock, memory management, file systems, and input/output control .
Prerequisite(s): CS 2510 with a minimal grade of D- or CS 1500 with a minimum rate of D- or EECE 2560 with a minimum grade of D-
CS 3700. Networks and Distributed Systems. (4 Hours)
Introduces the fundamentals of calculator networks, including network architectures, network topologies, network protocols, layering concepts ( for exemplar, ISO/OSI, TCP/IP reference models ), communication prototype ( point-to-point vs. multicast/broadcast, connectionless vs. connection oriented ), and networking APIs ( sockets ). besides covers the construction of distributed programs, with an emphasis on high-level protocols and distributed country communion. Topics include blueprint patterns, transactions, performance trade-offs, security implications, and dependability. Uses examples from real networks ( TCP/IP, Ethernet, 802.11 ) and distributed systems ( Web, BitTorrent, DNS ) to reinforce concepts .
Prerequisite(s): CS 2510 with a minimum grade of D-
CS 3800. Theory of Computation. (4 Hours)
Introduces the theory behind computers and computing aimed at answering the motion, “ What are the capabilities and limitations of computers ? ” Covers automata theory, computability, and complexity. The automaton theory part includes finite automata, regular expressions, nondeterminism, nonregular languages, context-free languages, pushdown automaton, and noncontext-free languages. The computability parcel includes Turing machines, the Church-Turing dissertation, decidable languages, and the Halting theorem. The complexity parcel includes big-O and small-o notation, the classes P and NP, the P vs. NP question, and NP-completeness .
Prerequisite(s): CS 1500 with a minimum class of D- or CS 2510 with a minimal grade of D- or EECE 2160 with a minimum grade of D- or EECE 2162 with a minimal grade of D- or EECE 2164 with a minimal grade of D-
CS 3950. Introduction to Computer Science Research. (2 Hours)
Introduces students to research in the fields of computer skill, information science, data science, and cybersecurity. Explores how the scientific method acting is applied to these fields and covers the breadth of subareas of peculiarity that exist. Offers students an opportunity to practice how to locate and read scientific literature in different subareas. besides offers students an overview of graduate education in these fields .
Prerequisite(s): CS 2500 with a minimum grade of D-
CS 3990. Elective. (1-4 Hours)
Offers elective citation for courses taken at other academic institutions. May be repeated without limit .

CS 4097. Mixed Reality. (4 Hours)
Seeks to provide a hard basis in the fundamentals of virtual and augment reality, broadly defined as desegregate reality ( XR ). These technologies have recently witnessed a revival of pastime. Offers students an opportunity to obtain hands-on know developing XR applications by diving into this burgeoning area of research and rehearse in computer science. Synthesizes theoretical and rehearse cognition from respective disciplines, including calculator graphics, 3D interfaces, human-computer interaction, tracking systems, and perceptual psychology .
Prerequisite(s): CS 3540 with a minimal grad of D-
CS 4100. Artificial Intelligence. (4 Hours)
Introduces the fundamental problems, theories, and algorithm of the artificial news field. Includes heuristic research ; knowledge representation using predicate tartar ; automated deduction and its applications ; planning ; and machine teach. extra topics include game play ; changeable reason and expert systems ; natural language process ; logic for common-sense reason ; ontologies ; and multiagent systems .
Prerequisite(s): CS 3500 with a minimal grade of D- or DS 3500 with a minimal rate of D- Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 4120. Natural Language Processing. (4 Hours)
Introduces the computational model of human language ; the ongoing campaign to create calculator programs that can communicate with people in natural language ; and current applications of the natural linguistic process field, such as automated document classification, healthy question action, and information extraction. Topics include computational models of grammar and automatic rifle parse, statistical linguistic process models and the psychoanalysis of big text corpus, natural lyric semantics and programs that understand speech, models of discourse structure, and language use by intelligent agents. Course work includes ball and mathematical analysis of terminology models and execution of working programs that analyze and represent natural linguistic process text. Knowledge of statistics is helpful .
Prerequisite(s): CS 3500 with a minimum grade of D- or DS 3500 with a minimal grade of D-
CS 4150. Game Artificial Intelligence. (4 Hours)
Offers an overview of classical and modern approaches to artificial intelligence in digital games. Focuses on the initiation of credible agents and environments with the goal of providing a playfulness and engaging experience to a player. Covers player model, adjective subject coevals, behavior trees, interactional narrative, decision-making systems, cognitive modeling, and path planning. Explores different approaches for behavior generation, including memorize and rule-based systems. Requires students to complete respective individual assignments in these areas to apply the concepts covered in class. Students choose a group final project to explore one view of artificial news for games in farther depth. Offers students an opportunity to learn team management and communication. Students who do not meet course prerequisites may seek license of teacher .
Prerequisite(s): CS 2800 with a minimal grade of D- or CS 3500 with a minimum grade of D- Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 4180. Reinforcement Learning. (4 Hours)
Introduces support teach and the Markov decision action ( MDP ) framework. Covers methods for plan and learn in MDPs such as moral force program, model-based methods, and model-free methods. Examines normally used representations including deep-learning representations. Students are expected to have a work cognition of probability, to complete programming assignments, and to complete a run undertaking that applies some shape of support learning to a problem of interest .
Prerequisite(s): CS 3000 with a minimum grad of D- ; ( ECON 2350 with a minimum grade of D- or ENVR 2500 with a minimum degree of D- or MATH 3081 with a minimum grade of D- or PSYC 2320 with a minimum class of D- or CS 2810 with a minimum rate of D- ) ; ( MATH 2331 with a minimum grade of D- or CS 2810 with a minimum grade of D- )
CS 4200. Database Internals. (4 Hours)
Explores the inner workings of database management systems. Explains how database systems store data on disks. Studies how to improve question efficiency using index techniques such as B+-tree, hash indices, and multidimensional indices. Describes how queries are executed internally and how database systems perform question optimizations. Introduces concurrence command dodge implemented by locking, such as hierarchical lock and key range locking. Describes lock table structure. Discusses how database systems can perform log and recovery to avoid loss of data in case of system crashes .
Prerequisite(s): CS 3000 with a minimum rate of D- ; CS 3650 with a minimum grade of D-
CS 4240. Large-Scale Parallel Data Processing. (4 Hours)
Covers techniques for managing and analyzing very large data sets, with an emphasis on approaches that scale out efficaciously as more calculate nodes are added. Introduces principles of distributed datum management and strategies for problem-driven data partitioning through a excerpt of design patterns from diverse application domains, including graph analysis, databases, textbook process, and data mining. Offers students an opportunity to obtain hands-on programming experience with modern big-data processing engineering such as MapReduce, Spark, HBase, and defile calculate ( this survival is subject to change as technology evolves ) .
Prerequisite(s): ( c 3600 with a minimum grade of D- or CS 3650 with a minimum grade of D- or CS 5600 with a minimal grade of D- or CS 5600 with a minimal grade of C- ( Graduate ) ) ; ( CS 4800 ( may be taken concurrently ) with a minimal grade of D- or CS 3000 ( may be taken concurrently ) with a minimum grade of D- or CS 5800 ( may be taken concurrently ) with a minimum grade of D- or CS 5800 with a minimum degree of C- ( Graduate ) )
CS 4300. Computer Graphics. (4 Hours)
Charts a path through every major aspect of computer graphics with varying degrees of vehemence. Discusses hardware issues : size and travel rapidly ; 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 transform .
Prerequisite(s): ( cesium 1500 with a minimal grade of D- or CS 2510 with a minimum grade of D- or CS 3500 with a minimum rate of D- or EECE 2560 with a minimal grade of D- ) ; ( MATH 1260 with a minimum grade of D- or MATH 2331 with a minimum degree of D- or MATH 2341 with a minimum mark of D- or CS 2810 with a minimal grade of D- ) Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 4400. Programming Languages. (4 Hours)
Introduces a taxonomic approach to understanding the behavior of programming languages. Covers interpreters ; static and dynamic telescope ; environments ; binding and assignment ; functions and recursion ; parameter-passing and method dispatch ; objects, classes, inheritance, and polymorphism ; type rules and type check ; and concurrence .
Prerequisite(s): CS 3500 with a minimum grade of D- ; ( CS 3000 with a minimum grade of D- or CS 4800 with a minimum mark of D- )
CS 4410. Compilers. (4 Hours)
Studies the construction of compilers and integrates fabric from earlier courses on scheduling languages, automaton hypothesis, calculator architecture, and software design. Examines syntax trees ; static semantics ; type check ; typical machine architectures and their software structures ; code generation ; lexical analysis ; and parsing techniques. Uses a hands-on approach with a solid term project .
Prerequisite(s): CS 4400 with a minimum mark of D- or CS 5400 with a minimum mark of C- or CS 7400 with a minimal grade of C- Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 4500. Software Development. (4 Hours)
Considers software development as a taxonomic process involving specification, design, documentation, implementation, testing, and alimony. Examines software process models ; methods for software specification ; modularity, abstraction, and software recycle ; and issues of software timbre. Students, possibly working in groups, design, document, enforce, test, and modify software projects .
Prerequisite(s): CS 3500 with a minimum grade of D- ; ( ENGW 1111 with a minimum grade of C or ENGW 1102 with a minimal mark of C ) Attribute(s): NUpath Writing Intensive
CS 4520. Mobile Application Development. (4 Hours)
Focuses on mobile application development on a mobile earphone or related platform. Discusses memory management ; user interface build up, including both MVC principles and specific tools ; touch events ; data cover, including core data, SQL, XML, and JSON ; network techniques and URL load ; and, finally, specifics such as GPS and apparent motion sensing that may be dependent on the particular mobile platform. Students are expected to work on a undertaking that produces a professional-quality mobile application. The teacher chooses a modern mobile platform to be used in the course .
Prerequisite(s): CS 3500 with a minimum grade of D-
CS 4530. Fundamentals of Software Engineering. (4 Hours)
Covers the fundamentals of software engineering, including software exploitation liveliness motorbike models ( for example, waterfall, spiral, agile ) ; requirements analysis ; user-centered design ; software design principles and patterns ; testing ( functional quiz, structural examination, testing strategies ) ; code refactoring and debug ; software architecture and design ; and integration and deployment. Includes a course project in which some of the software mastermind methods ( from requirements analysis to testing ) are applied in a team-based place setting .
Prerequisite(s): CS 3500 with a minimal grade of D- Attribute(s): NUpath Writing Intensive
CS 4550. Web Development. (4 Hours)
Discusses Web development for sites that are dynamic, data drive, and synergistic. 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 scholar to deploy individually designed Web experiments that illustrate the Web technologies and at least one major integrative Web locate project. Students may work as a team with the permission of the teacher. Each scholar or team must besides create across-the-board software 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 .
Prerequisite(s): CS 3500 with a minimum grade of D- Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 4610. Robotic Science and Systems. (4 Hours)
Introduces autonomous mobile robots, with a focus on algorithm and software exploitation, including closed-loop control, automaton software architecture, wheeled locomotion and seafaring, haptic and basic ocular feel, obstacle signal detection and avoidance, and grasping and handling of objects. Offers students an opportunity to increasingly construct mobile robots from a predesigned electromechanical kit. The robots are controlled wirelessly by software of the students ’ own design, built within a provide robotics software model. The course culminates in a deluxe challenge competition using all features of the robots .
Prerequisite(s): CS 3500 with a minimum degree of D-
CS 4700. Network Fundamentals. (4 Hours)
Introduces the fundamental concepts of network protocols and network architectures. Presents the different harmonize functions needed for the communication and effective process of calculator networks. Provides in-depth coverage of data link control, medium access command, routing, throughout tape drive protocols, congestion and flow control, multicasting, name, car configuration, quality of service, and network management. Studies the abstract mechanisms and algorithm as implemented in real-world Internet protocols. besides covers the most common application protocols ( electronic mail, Web, and file transfer protocol ) .
Prerequisite(s): CS 3600 with a minimum grade of D- or CS 3650 with a minimum grade of D- or CS 5600 with a minimal grade of D- or CS 5600 with a minimum grade of C- ( Graduate )
CS 4710. Mobile and Wireless Systems. (4 Hours)
Covers both theoretical foundations of wireless/mobile network and practical aspects of wireless/mobile systems, including current standards, mobile development platforms, and emerging technologies. Incorporates a strong hardheaded component ; requires students to work in teams on several practical assignments ( for example, based on Wi-Fi smell, mobile applications, Internet-of-Things devices, and software-defined radio applications ) and a concluding project. The final project integrates knowledge about several wireless communication technologies and mechanisms .
Prerequisite(s): CS 3700 with a minimal mark of D-
CS 4805. Fundamentals of Complexity Theory. (4 Hours)
Reviews basic material such as automata, Turing machines, ( united nations ) 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 calculation, interactional proof, and severity of approximation. optional topics may include Gödel ‘s incompleteness theorem, Kolgomorov complexity, cryptography, quantum calculate, communication complexity, lower bounds, or pseudorandomness .
Prerequisite(s): CS 3800 with a minimum grade of D-
CS 4810. Advanced Algorithms. (4 Hours)
Builds on CS 3000. Presents an advance cogitation of computer algorithm. Covers basic algorithmic prototype ( for example, greedy, divide-and-conquer, and active program ) ; graph algorithm ; optimization ; computational Intractability ( for example, NP-completeness, PSPACE-completeness ) ;
randomized algorithm ; and estimate algorithm .
Prerequisite(s): CS 3000 with a minimum mark of D-
CS 4820. Computer-Aided Reasoning. (4 Hours)
Covers fundamental concepts, techniques, and algorithm in computer-aided reason, including propositional logic, variants of the DPLL algorithm for satisfiability check, first-order logic, union, tableau, settlement, Horn clauses, congruity blockage, rewriting, Knuth-Bendix completion, decision procedures, Satisfiability Modulo Theories, recursion, induction, result, Presburger arithmetical, quantifier elimination, and synergistic theorem proving. Offers students an opportunity to develop and implement a argue engine in a sequence of projects over the naturally of the semester. besides covers how to formalize and reason about computational systems using a advanced interactional theorem prover .
Prerequisite(s): CS 2800 with a minimal grade of D- ; CS 3000 with a minimum grade of D- Attribute(s): NUpath Capstone experience
CS 4830. System Specification, Verification, and Synthesis. (4 Hours)
Covers the cardinal topics in conventional model and specification ( transition systems, temporal logic, regular and omega-regular languages, condom and enliven properties, etc. ) ; computer-aided verification ( state-space exploration, model check, bounded-model crack, binary-decision diagrams, symbolic model check, etc. ) ; compositionality and assume-guarantee argue ; contracts ; and component-based invention. besides covers fundamental topics in computer-aided deduction of correct-by-construction systems, starting from high-level formal specifications or from exercise scenarios. Designing large and complex systems ( digital circuits, embedded master systems such as automated vehicles, computerized healthcare devices such as pacemakers, cyber-physical systems such as automated intersections, etc. ) and their software can not be done by hand. rather, designers use computer-aided techniques that allow them to build system models and verify correctness of the design before the actual system is actually built .
Prerequisite(s): CS 3000 with a minimum mark of D-
CS 4850. Building Game Engines. (4 Hours)
Discusses the components of game engines and strategies for their software execution. Includes graphic management algorithm ( animation, scene graph, level of contingent ) ; basic artificial intelligence algorithm ( search, decision hold, sensing ) ; and refer algorithmic issues ( network, threading, input signal process ). Explores the manipulation of data-driven software design. Offers students an opportunity to use a render locomotive and to build and integrate several software components to create a complete game locomotive. Requires students to work on respective individual assignments to apply the algorithm and then develop a project in a team. Offers students an opportunity to learn team/project management ; make part ; team communication ; and the software development cycle of implementation, testing, criticism, and farther iteration. Students who do not meet course prerequisites may seek license of teacher .
Prerequisite(s): CS 3520 with a minimum mark of D- ; CS 3540 with a minimum grade of D-
CS 4910. Computer Science Topics. (4 Hours)
Offers a lecture course in calculator 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 .
Prerequisite(s): CS 3500 with a minimum grade of D- ; CS 3800 with a minimum grade of D-
CS 4950. Computer Science Research Seminar. (1 Hour)
Offers students an in-depth attend at inquiry in a particular subarea of computer skill, information skill, data science, or cybersecurity. The especial subarea varies from semester to semester. Exposes students to current inquiry topics, frequently via guest staff members. Offers students an opportunity to rehearse learn and discussing scientific literature, presenting scientific work, and distilling the identify ideas and contributions of papers through needed weekly newspaper summaries .
Prerequisite(s): CS 3950 with a minimum degree of D-
CS 4955. Computer Science Teaching Seminar. (1 Hour)
Introduces techniques and frameworks to prepare undergraduate students to become more effective teach assistants in the battlefield of calculator science. Students analyze and reflect on literature, case studies, and real number examples of teaching computer skill. Offers students an opportunity to participate within in-class activities to learn presentation skills, to practice speaking to different consultation sizes, and to learn how to work with different types of audiences. Culminates with a final finishing touch plan in which students prepare and present a call on the carpet on a topic in calculator science. successful students are prepared for careers in teach, presenting technical content when pursuing graduate studies, and for presenting technical foul information in industry .
Prerequisite(s): CS 2500 with a minimum grade of D-
CS 4970. Junior/Senior Honors Project 1. (4 Hours)
Focuses on in-depth project in which a student conducts research or produces a product related to the scholar ’ 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 2. (4 Hours)
Focuses on second semester of in-depth project in which a scholar conducts research or produces a product related to the student ’ s major field .
Prerequisite(s): CS 4970 with a minimum grade of D-
CS 4990. Elective. (1-4 Hours)
Offers elective credit for courses taken at other academic institutions. May be repeated without specify .

CS 4991. Research. (4,8 Hours)
Offers an opportunity to conduct research under faculty supervision. May be repeated up to three times .
Prerequisite(s): CS 3500 with a minimum mark of D- ; CS 3800 with a minimum class of D- Attribute(s): NUpath Capstone Experience, NUpath Integration Experience, NUpath Writing Intensive
CS 4992. Directed Study. (1-6 Hours)
Focuses on student examining standard computer skill material in fresh ways or new calculator science substantial that is not covered in formal courses. May be repeated up to three times .
Prerequisite(s): CS 3500 with a minimal grade of D- ; CS 3800 with a minimal mark of D-
CS 4993. Independent Study. (1-6 Hours)
Offers freelancer bring under the management of members of the department on a chosen topic. Course content depends on teacher. May be repeated up to three times .
Prerequisite(s): CS 3500 with a minimum grade of D- ; CS 3800 with a minimum degree of D-
CS 4994. Internship. (4 Hours)
Offers students an opportunity for internship work. May be repeated without limit .
Attribute(s): NUpath Integration Experience
CS 4998. Research. (0 Hours)
Offers an opportunity to document scholar contributions to research projects or creative endeavors .

CS 5001. Intensive Foundations of Computer Science. (4 Hours)
Introduces systematic problem solving through scheduling. Offers students an opportunity to learn how to analyze a problem, how to divide and organize the problem into appropriate components, how to describe the trouble in a calculator language, how to analyze and understand the behavior of their programs, and how to test that their programs are working correctly. additionally, introduces a method acting of program design called object-oriented program and assorted ways to organize data, including a discussion of their advantages and disadvantages. To practice the course concepts, students undertake assignments ranging from small, highly specified programming tasks to larger open-ended problems where students design and code their own solutions .
Corequisite(s): CS 5003
CS 5002. Discrete Structures. (4 Hours)
Introduces the mathematical structures and methods that form the foundation garment of computer skill. Studies structures such as sets, tuples, sequences, lists, trees, and graph. Discusses functions, relations, ordering, and equality 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 count techniques and arguments needed to estimate the size of sets, the growth of functions, and the space-time complexity of algorithm. besides, discusses data structures such as arrays, stacks, queues, lists, and the algorithm that manipulate them .

CS 5003. Recitation for CS 5001. (0 Hours)
Provides a small-group discussion format to cover material in CS 5001. Coreq CS 5001. .
Corequisite(s): CS 5001
CS 5004. Object-Oriented Design. (4 Hours)

Presents a comparative set about to object-oriented program and purpose. Discusses the concepts of object, classify, metaclass, message, method acting, inheritance, and genericity. Reviews forms of polymorphism in object-oriented languages. Contrasts the use of inheritance and composition as double techniques for software reuse—forwarding vs. deputation and subclassing vs. subtyping. Offers students an opportunity to obtain a deeper reason of the principles of object-oriented program and plan, including software components, object-oriented design patterns, and the use of graphic purpose notations such as UML ( mix model linguistic process ). Illustrates basic concepts in object-oriented design with shell studies in application frameworks and by writing programs in Java .
Corequisite(s): CS 5005
CS 5005. Recitation for CS 5004. (0 Hours)
Provides small-group discussion format to cover material in CS 5004 .
Corequisite(s): CS 5004
CS 5006. Algorithms. (2 Hours)
Introduces the basic principles and techniques for the blueprint and execution of efficient algorithm and datum representations. Considers divide-and-conquer algorithm, graph traversal algorithm, linear programming, and optimization techniques. Covers the fundamental structures for representing data, such as hash tables, trees, and graph .

CS 5007. Computer Systems. (2 Hours)
Introduces the basic invention of computing systems, calculator operating systems, and assembly terminology using a RISC architecture. Describes caches and virtual memory. Covers the interface between assembly language and high-level languages, including call frames and pointers ; the function of system calls and systems programming to show the interaction with the manoeuver organization ; and the basic structures of an operate system, including application interfaces, processes, threads, synchronization, interprocess communication, deadlock, memory management, file systems, and input/output control .

CS 5008. Data Structures, Algorithms, and Their Applications within Computer Systems. (4 Hours)
Presents an integrate access to the study of data structures, algorithm, and their application within systems topics. Introduces a variety of fundamental algorithmic techniques ( divide-and-conquer, dynamic program, graph algorithm ) and systems topics ( models of calculation, computer architecture, compilation, system software, networking ). Demonstrates the integration of topics through programming assignments in the C language that implement fundamental datum structures ( lists, queues, trees, maps, graph ) and algorithms as they are applied in calculator systems. Additional width topics include programming applications that expose students to primitives of different subsystems using threads and sockets .
Corequisite(s): CS 5009
CS 5009. Recitation for CS 5008. (0 Hours)
Provides small-group active learning format to augment corporeal in CS 5008 .
Corequisite(s): CS 5008
CS 5010. Programming Design Paradigm. (4 Hours)
Introduces advanced course of study design prototype. Starts with functional broadcast design, introducing the notion of a plan recipe. The latter consists of two parts : a undertaking constitution ( ranging from the description of data to the creation of a trial suite ) and a data-oriented approach to the organization of programs ( ranging from atomic data to self-referential data definitions and functions as data ). The course then progresses to object-oriented design, explaining how it generalizes and contrasts with functional design. In summation to studying program design, students besides have an opportunity to practice pair-programming and populace code review techniques, as found in industry today .
Corequisite(s): CS 5011
CS 5011. Recitation for CS 5010. (0 Hours)
Provides small-group discussion format to cover material in CS 5010 .
Corequisite(s): CS 5010
CS 5083. Software Project Management with Scrum. (2 Hours)
Offers students an opportunity to obtain an understand of the Scrum methodology for managing software projects using lean principles. Explains the Scrum framework a well as key ceremonies and roles. Shows which aspects of Scrum are required and how they manage project gamble .

CS 5097. Mixed Reality. (4 Hours)
Seeks to provide a strong basis in the fundamentals of virtual and augment reality, broadly defined as interracial reality ( XR ), and hands-on experience developing XR applications. Offers students an opportunity to dive into this burgeoning area of inquiry and practice in calculator science. Given the complex nature of XR environments, this course synthesizes theoretical and practice cognition from versatile disciplines, including computer graphics, 3D interfaces, human-computer interaction, tracking systems, and perceptual psychology ( to name a few ). XR technologies have recently witnessed a revival of concern .

CS 5100. Foundations of Artificial Intelligence. (4 Hours)
Introduces the fundamental problems, theories, and algorithm of the artificial intelligence field. Topics include heuristic search and game trees, cognition theatrical performance using predicate calculus, automated deduction and its applications, problem clear and planning, and introduction to car learning. Required course solve includes the creation of working programs that solve problems, rationality logically, and/or improve their own performance using techniques presented in the course. Requires have in Java program .
Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 5150. Game Artificial Intelligence. (4 Hours)
Offers an overview of classical and modern approaches to artificial intelligence in digital games. Focuses on the creation of credible agents and environments with the goal of providing a fun and engaging have to a actor. Covers player model, procedural capacity genesis, behavior trees, interactional narrative, decision-making systems, cognitive mold, and way design. Explores unlike approaches for behavior generation, including determine and rule-based systems. Requires students to complete respective individual assignments in these areas to apply the concepts covered in course. Students choose a group concluding project, which requires a report, to explore one aspect of artificial intelligence for games in foster depth. Offers students an opportunity to learn team management and communication. Requires cognition of algorithm and experience with object-oriented design or functional scheduling .
Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 5170. Artificial Intelligence for Human-Computer Interaction. (4 Hours)
Offers an overview of the wide range of AI techniques that exploit cognition of the sphere and humans to facilitate interaction between humans and systems, intercede human-human interaction, leverage humans to improve system performance, and promote beneficial outcomes at the sociable and individual tied. Topics can include AI/human calculation, plan and activeness recognition, smart sensing/homes, active teach, predilection evocation, intelligent/adaptive exploiter interfaces, and desegregate human-agent simulations. Studies how to design and develop intelligent interaction technologies while besides critically assessing their social and ethical impingement .
Prerequisite(s): CS 5100 with a minimum grade of C- ; CS 6140 with a minimum grad of C-
CS 5180. Reinforcement Learning and Sequential Decision Making. (4 Hours)
Introduces support learning and the underlie computational frameworks and the Markov decision process model. Covers a variety show of strengthener learning algorithms, including model-based, model-free, value function, policy gradient, actor-critic, and Monte Carlo methods. Examines normally used representations including deep learning representations and approaches to partially discernible problems. Students are expected to have a work cognition of probability and linear algebra, to complete programming assignments, and to complete a course project that applies some shape of reinforcing stimulus learning to a problem of interest .

CS 5200. Database Management Systems. (4 Hours)
Introduces relational database management systems as a class of software systems. Prepares students to be sophisticate users of database management systems. Covers plan theory, question language, and performance/tuning issues. Topics include relational algebra, SQL, stored procedures, user-defined functions, cursors, embedded SQL programs, client-server interfaces, entity-relationship diagrams, standardization, B-trees, concurrence, transactions, database security, constraints, object-relational DBMSs, and specialize engines such as spatial, text, XML conversion, and time series. Includes exercises using a commercial relational or object-relational database management system .
Attribute(s): NUpath Analyzing/Using Data, NUpath Formal/Quant Reasoning
CS 5310. Computer Graphics. (4 Hours)
Introduces the fundamentals of two-dimensional and three-dimensional calculator graphics, with an emphasis on approaches for obtaining realistic images. Covers two-dimensional algorithm for drawing lines and curves, anti-aliasing, filling, and clipping. Studies rendering of cubic scenes composed of spheres, polygons, quadric surfaces, and bi-cubic surfaces using ray-tracing and radiosity. Includes techniques for adding texture to surfaces using texture and bump maps, noise, and turbulence. Requires cognition of linear algebra .
Prerequisite(s): MATH 2331 with a minimal degree of D- or graduate program entrance fee Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 5330. Pattern Recognition and Computer Vision. (4 Hours)
Introduces fundamental techniques for subordinate and high-level computer imagination. Examines trope constitution, early process, limit detection, image cleavage, texture analysis, shape from shading, photometric stereophonic, motion analysis via eye flow, object model, determine description, and object recognition ( classification ). Discusses models of homo imagination ( gestalt effects, texture sensing, immanent shape, ocular illusions, apparent motion, mental rotations, and cyclopean vision ). Requires cognition of analogue algebra .
Prerequisite(s): MATH 2331 with a minimum class of D- or graduate program admission
CS 5335. Robotic Science and Systems. (4 Hours)
Introduces autonomous mobile robots with a focus on algorithm and software development, including closed-loop control, automaton software architecture, wheeled locomotion and navigation, tactile and basic ocular detection, obstacle signal detection and avoidance, and grasp and handling of objects. Offers students an opportunity to increasingly construct mobile robots from a predesigned electromechanical kit out. The robots are controlled wirelessly by software of the students ’ own design, built within a provide robotics software framework. Culminates in a stick out that connects the algorithm and hardware developed in the course with a selected topic in the current robotics research literature .

CS 5340. Computer/Human Interaction. (4 Hours)
Covers the principles of human-computer interaction and the design and evaluation of user interfaces. Topics include an overview of human information processing subsystem ( perception, memory, attention, and problem clear ) ; how the properties of these systems affect the design of exploiter interfaces ; the principles, guidelines, and stipulation languages for designing good drug user interfaces, with vehemence on cock kits and libraries of standard graphic drug user interface objects ; and a kind of interface evaluation methodologies that can be used to measure the serviceability of software. early topics may include World Wide Web plan principles and tools, computer-supported cooperative solve, multimodal and “ following generation ” interfaces, speech and natural speech interfaces, and virtual reality interfaces. Course function includes both the creation and execution of original drug user interface designs, and the evaluation of drug user interfaces created by others. Requires cognition of C programming language/UNIX .

CS 5400. Principles of Programming Language. (4 Hours)
Studies the basic components of programming languages, specification of syntax and semantics, and description and implementation of programming lyric features. Discusses examples from a assortment of languages .
Prerequisite(s): CS 5010 with a minimum grade of D- or CS 5004 with a minimum mark of B- or CS 5010 with a minimum grade of C- ( Graduate )
CS 5500. Foundations of Software Engineering. (4 Hours)
Covers the foundations of software engineer, including software development life sentence bicycle models ( for example, waterfall, helix, agile ) ; requirements analysis ; user-centered design ; software design principles and patterns ; testing ( functional testing, geomorphologic test, testing strategies ) ; code refactoring and debug ; software architecture and design ; and consolidation and deployment. Includes a course project where some of the software mastermind methods ( from requirements analysis to testing ) are applied in a team-based specify. Requires entree to MS broadcast or completion of all conversion courses .
Prerequisite(s): CS 5010 with a minimal grade of D or CS 5004 with a minimal grad of C or CS 5010 with a minimal class of C Attribute(s): NUpath Writing Intensive
CS 5520. Mobile Application Development. (4 Hours)
Focuses on mobile application development on a mobile phone or related chopine. Discusses memory management ; user interface build up, including both MVC principles and particular tools ; touch events ; data cover, including core data, SQL, XML, and JSON ; network techniques and URL loading ; and, last, specifics such as GPS and motion sensing that may be dependent on the finical 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 teacher chooses a modern mobile platform to be used in the course .

CS 5600. Computer Systems. (4 Hours)
Studies the structure, components, blueprint, execution, and inner operation of calculator systems, focusing chiefly on the operate arrangement flat. Reviews computer hardware and computer architecture including the arithmetic and logic unit, and the control whole. Covers stream operate organization components and construction techniques including the memory and memory accountant, I/O device management, device drivers, memory management, file system structures, and the exploiter interface. Introduces distributed operating systems. Discusses issues arising from concurrence and distribution, such as schedule of coincident processes, interprocess communication and synchronism, resource sharing and allotment, and deadlock management and settlement. Includes examples from real operating systems. Exposes students to the system concepts through program exercises. Requires admission to MS course of study or completion of all conversion courses .

CS 5610. Web Development. (4 Hours)
Discusses Web development for sites that are dynamic, data driven, and synergistic. Focuses on the software development issues of integrating multiple languages, assorted datum technologies, and Web interaction. Considers ASP.NET, C #, HTTP, HTML, CSS, XML, XSLT, JavaScript, AJAX, RSS/Atom, SQL, and Web services. Each student must deploy individually designed Web experiments that illustrate the Web technologies and at least one major consolidative Web locate project. Students may work in teams with the license of the teacher. Each student or team must besides create extensive documentation of their goals, plans, design decisions, accomplishments, and user guidelines. All reference files must be open and be mechanically served by a sources server .
Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 5700. Fundamentals of Computer Networking. (4 Hours)
Studies network protocols, focusing on modeling and analysis, and architectures. Introduces modeling concepts, emphasizing queuing theory, including short ’ sulfur 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 unlike harmonize functions needed for communication and effective operation of computer networks and discusses examples of Ethernet, FDDI, and radio networks. Covers link layer protocols including HDLC, PPP, and SLIP ; packet frame ; spanning tree and learn bridges, mistake signal detection techniques, and automatic repeat request algorithm ; 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 manipulate schemes, and discusses congestion control and fairness. Requires cognition of probability theory .

CS 5800. Algorithms. (4 Hours)
Presents the mathematical techniques used for the design and analysis of calculator algorithm. Focuses on algorithmic design paradigm and techniques for analyzing the correctness, time, and space complexity of algorithm. Topics may include asymptotic notation, recurrences, loop invariants, Hoare triples, sorting and searching, advanced data structures, lower bounds, hashing, avaricious algorithm, dynamic program, graph algorithm, and NP-completeness .

CS 5850. Building Game Engines. (4 Hours)
Discusses the components of game engines and strategies for their software execution. Includes artwork management algorithm ( liveliness, scenery graph, degree of detail ) ; basic artificial intelligence algorithm ( search, decision make, sensing ) ; and refer algorithmic issues ( network, threading, remark march ). Explores the function of data-driven software design. Offers students an opportunity to use a translation engine and to build and integrate respective 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 composition. Offers students an opportunity to learn team/project management ; work division ; team communication ; and the software development cycle of implementation, testing, review, and far iteration. Requires cognition of calculator graphics, differential gear calculus, operating systems concepts, and algorithm .

CS 5963. Topics. (1 Hour)
Offers students an opportunity to learn about seasonably issues, develop newly skills, or explore areas of across-the-board matter to in an immersive, short-course format. Content and instructors vary by offering .

CS 5964. Projects for Professionals. (0 Hours)
Offers students an use project setting in which to apply their curricular eruditeness. Working with a patronize, students refine an give research subject, perform research, develop recommendations that are shared with a partner patron, and create a plan for implementing their recommendations. Seeks to benefit students with a course of study that supports the exploitation of key occupation communication skills, undertaking and customer management skills, and frameworks for business analysis. Offers students an opportunity to learn from presenter feedback, reappraisal ‘lessons learned, ‘ and incorporate suggestions from this review to improve and foster develop their career growth and professional design. May be repeated doubly .

CS 5965. Engaging with Industry Partners for Rising Professionals. (0 Hours)
Offers students an enhance use project setting in which to apply their curricular memorize. Working with a collaborator sponsor, students refine an put on research subject, 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, visualize and customer management skills, and frameworks for business analysis. Offers students an opportunity to learn from patronize feedback, review lessons learned, and integrate suggestions to improve and foster hone their career development and professional plan. Career development opportunities through skill-building workshops, panels, and interview homework are available. Partner-student interactions, including a culminate project presentation, allow partners to assess student likely for cooperative, internship, or early employment opportunities with the spouse .

CS 5976. Directed Study. (2-4 Hours)
Focuses on student examining standard calculator skill material in fresh ways or new calculator skill material that is not covered in ball courses. May be repeated up to three times .

CS 6120. Natural Language Processing. (4 Hours)
Provides an introduction to the computational model of human language, the ongoing attempt to create computer programs that can communicate with people in natural language, and current applications of the lifelike lyric field, such as automated text file classification, intelligent question action, and information extraction. Topics include computational models of grammar and automatic parse, statistical linguistic process models and the analysis of big text corpuses, natural speech semantics and programs that understand linguistic process, models of discourse structure, and language use by intelligent agents. Course work includes formal and numerical analysis of language models, and execution of working programs that analyze and interpret natural language text .

CS 6130. Affective Computing. (4 Hours)
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 homo emotion processes equally 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 backdrop in the theory and exercise of human-centered calculate as it relates to games, immersive environments, and pedagogical applications. Brings together students from different disciplines to work together and learn from each early. degree centigrade 6130 and PSYC 6130 are cross-listed .

CS 6140. Machine Learning. (4 Hours)
Provides a broad search at a variety of techniques used in machine teach and datum mining, and besides examines issues associated with their practice. Topics include algorithms for oversee learning including decision corner induction, artificial nervous networks, instance-based teach, probabilistic methods, and confirm vector machines ; unsupervised determine ; and reinforcement learn. besides covers computational learning theory and other methods for analyzing and measuring the performanceof learning algorithms. Course influence includes a scheduling term project .
Prerequisite(s): CS 5800 with a minimum grade of C- or CS 7800 with a minimal grad of C-
CS 6200. Information Retrieval. (4 Hours)
Provides an introduction to information retrieval systems and different approaches to data retrieval. Topics covered include evaluation of information recovery systems ; retrieval, language, and indexing models ; file organization ; compression ; relevance feedback ; clustering ; distributed retrieval and metasearch ; probabilistic approaches to information retrieval ; Web retrieval ; trickle, collaborative percolate, and recommendation systems ; cross-language IR ; multimedia IR ; and machine memorize for information retrieval .

CS 6220. Data Mining Techniques. (4 Hours)
Covers diverse aspects of data mine, including categorization, prediction, ensemble methods, association rules, sequence mining, and bunch analysis. The course project involves hands-on practice of mining useful cognition from a bombastic data plant .
Prerequisite(s): CS 5800 with a minimum grade of C- or CS 7800 with a minimum mark of C-
CS 6240. Large-Scale Parallel Data Processing. (4 Hours)
Covers big-data analysis techniques that scale out with increasing number of calculate nodes, for example, for cloud calculation. Emphasizes approaches for problem and data partitioning that distribute work effectively, while keeping total cost for calculation and data transfer low. Studies and analyzes deterministic and random algorithm from a kind of domains, including graph, datum mining, linear algebra, and information retrieval in terms of their cost, scalability, and robustness against skew. Course make emphasizes hands-on programming experience with advanced state-of-the-art big-data action engineering. Students who do not meet course prerequisites may seek license of teacher .
Prerequisite(s): CS 5800 with a minimum grade of C- or CS 7800 with a minimal grade of C- or EECE 7205 with a minimum grade of C-
CS 6350. Empirical Research Methods. (4 Hours)
Presents an overview of methods for conducting empirical inquiry within computer skill. These methods help provide objective answers to questions about the serviceability, potency, and acceptability of systems. The run covers the basics of the scientific method, building from a surveil of objective measures to the fundamentals of hypothesis testing using relatively simple research designs, and on to more advance research designs and statistical methods. The course besides includes a significant amount of fieldwork, spanning the invention, conduct, and presentation of small empirical studies .

CS 6410. Compilers. (4 Hours)
Expects each scholar to write a small compiler. Topics include parser generation, abstraction syntax trees, symbol tables, character check, genesis of intercede code, elementary code improvement, register allotment, run-time structures, and code generation .
Prerequisite(s): CS 5400 with a minimum grade of C- or CS 7400 with a minimal grade of C- Attribute(s): NUpath Capstone Experience, NUpath Writing Intensive
CS 6510. Advanced Software Development. (4 Hours)
Designed to integrate academic concepts and virtual feel of software design by having students work as part of a scheduling team, with an option to lead a subteam. Offers students an opportunity to study, in-depth, some aspects of the development process. The goal is to have students participate in a large-scale project, taking time to reflect and analyze the work and the process, rather than concentrating entirely on the final product. Students who do not meet course prerequisites may seek permission of teacher .
Prerequisite(s): ( coke 5004 with a minimum grad of B- or CS 5010 with a minimum grade of C- ) ; CS 5500 with a minimum grade of C-
CS 6535. Engineering Reliable Software. (4 Hours)
Continues the exploration of several themes from cytosine 5010 : unit examination, random testing, and logical reasoning about software. specifically revisits the mind of taxonomic plan and its connection to making coherent claims about the workings of programs. After an introduction to the ACL2 programming terminology and theorem prover, offers students an opportunity to redesign interactional games ( for example, “ Space Invaders ” ) and function on turning them into reliable projects. Students who do not meet course prerequisites may seek permission of teacher .
Prerequisite(s): CS 5010 with a minimum grad of C-
CS 6620. Fundamentals of Cloud Computing. (4 Hours)
Covers fundamentals of swarm calculation, including virtualization and containers, distributed file systems and object stores, infrastructure as a service platforms, open beginning 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 plan .

CS 6650. Building Scalable Distributed Systems. (4 Hours)
Covers the essential elements of distributed, coincident systems and builds upon that cognition with technology principles and practical have with state-of-the-art technologies and methods for building scalable systems. Scalability is an necessity quality of internet-facing systems and requires specialize skills and cognition to build systems that scale at depleted cost .

CS 6710. Wireless Network. (4 Hours)
Covers both theoretical issues related to wireless network and practical systems for both radio receiver data networks and cellular radio telecommunication systems. Topics include fundamentals of radio communications, duct multiple entree schemes, radio receiver local sphere networks, routing in multihop ad hoc wireless networks, mobile IP, and TCP improvements for wireless links, cellular telecommunication systems, and quality of military service in the context of wireless networks. Requires a project that addresses some holocene research issues in radio receiver and mobile network .
Prerequisite(s): CS 5700 with a minimal grade of C- or CS 5700 with a minimum grade of D-
CS 6760. Privacy, Security, and Usability. (4 Hours)
Challenges conventional wisdom of solomon and encourages students to discover ways that security, privacy, and serviceability can be made synergistic in system design. serviceability and security are wide seen as two antagonistic design goals for complex calculator systems. Topics include calculator forensics, network forensics, user interface blueprint, backup, logging, economic factors affecting borrowing of security system engineering, 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. naturally ferment includes analysis of papers, problem sets, and a solid term visualize .

CS 6949. Career Preparation. (1 Hour)
Designed to prepare graduate students for co-op/internship using a career planning model. Topics include finish adjust, resumé writing, interview, job search scheme, and professionalism in the workplace. Offers students an opportunity to develop career goals, to learn to identify and acquire the tools and ability to assess what they know and need to know in relation back to achieving their career goals, and to justify what they need to learn through their co-op/internship experience to transfer to/from their academician program to future career. Students intending to participate in a cooperative or internship must satisfactorily complete this course, which is typically taken during the student ’ s first semester .

CS 6954. Co-op Work Experience – Half-Time. (0 Hours)
Provides eligible students with an opportunity for influence experience. May be repeated without restrict .

CS 6962. Elective. (1-4 Hours)
Offers elective credit for courses taken at other academic institutions. May be repeated without specify .

CS 6964. Co-op Work Experience. (0 Hours)
Provides eligible students with an opportunity for work know. May be repeated without limit .

CS 6965. Co-op Work Experience Abroad. (0 Hours)
Provides eligible students with an opportunity for solve experience abroad. May be repeated without terminus ad quem .

CS 7140. Advanced Machine Learning. (4 Hours)
Covers topics in promote machine learn. Presents materials in the stream machine learn literature. Focuses on graphic models, latent variable models, bayesian inference, and nonparametric Bayesian methods. Seeks to prepare students to do research in machine learn. Expects students to read conference and diary articles, portray these articles, and write an person research paper. deoxycytidine monophosphate 7140 and EECE 7397 are cross-listed .
Prerequisite(s): CS 6140 with a minimum grade of C- or EECE 7204 with a minimum grad of C- or EECE 7313 with a minimal grade of C-
CS 7150. Deep Learning. (4 Hours)
Introduces deep learning, including the statistical learn framework, empirical risk minimization, loss officiate excerpt, fully connected layers, convolutional layers, pooling layers, batch standardization, multilayer perceptrons, convolutional neural networks, autoencoders, U-nets, residual networks, gradient descent, stochastic gradient descent, backpropagation, autograd, visual image of nervous net features, robustness and adversarial examples, interpretability, continual learning, and applications in computer sight and natural language serve. Assumes students already have a basic cognition of machine learning, optimization, linear algebra, and statistics .
Prerequisite(s): CS 6140 with a minimum grade of C- or DS 5220 with a minimum grade of C-
CS 7180. Special Topics in Artificial Intelligence. (4 Hours)
Offers assorted topics on artificial news. May be repeated up to two times .

CS 7200. Statistical Methods for Computer Science. (4 Hours)
Introduces concepts in apply statistics. Covers frequentist and bayesian portrayal of uncertainty for continuous and categorical data, principles of experimental design, and methods of causal inference. Discusses the methodological foundations, american samoa well as issues of virtual execution and use .

CS 7240. Principles of Scalable Data Management: Theory, Algorithms, and Database Systems. (4 Hours)
Covers the algorithm, core principles, and foundational concepts for managing data at scale. Topics include data models, question languages, question execution and optimization, complexity of question execution and question resilience, data pour work, parallel datum process, transactions, analogue vs. relational algebra, factorizations, and uncertainty in logic. Requires standard CS cognition of algorithm and unfeelingness ( for example, a typical undergraduate class based on a standard algorithm textbook such as Ericson ; Cormen, Leiserson, Rivest, and Stein ; or Dasgupta, Papadimitriou, and Vazirani ). Offers students an opportunity to gain hands-on know through smaller assignments and a plan. The project is flexible to allow students to explore scalable data management and analysis aspects related to their PhD inquiry .

CS 7250. Information Visualization: Theory and Applications. (4 Hours)
Covers foundational vitamin a well as contemporaneous topics of pastime in data visual image to enable the effective representation of data across disciplines, including examples drawn from calculator science, physical sciences, biomedical sciences, humanities, and economics. Topics include data visual image hypothesis and methodology, visual image design and evaluation, ocular perception and cognition, interaction principles, and data encoding and representation techniques. Students who do not meet course restrictions may seek license of teacher .

CS 7260. Visualization for Network Science. (4 Hours)
Covers the principles of information visual image in the specific context of network skill. Introduces ocular encoding of data and our understand of human imagination and perception ; interaction principles including trickle, pivot, collection ; and both quantitative and homo subjects evaluation techniques. Covers visual image techniques for several net types, including multivariate networks with attributes for entities and relationships, evolving and dynamic networks that change over time, heterogenous networks with multiple types of entities, and geospatial networks. Offers students an opportunity to learn about the design of layout algorithm for node-link and matrix visualizations .

CS 7280. Special Topics in Database Management. (4 Hours)
Offers versatile topics. possible areas include object-oriented database systems and circulate database systems. May be repeated up to two times .

CS 7290. Special Topics in Data Science. (4 Hours)
Offers extra topics in data skill, including machine learn, statistics, data mining, parallel and distributed data analysis, database systems, information retrieval, cognition representation, information visual image, natural language march, computational biology and bioinformatics, computational social science, digital humanities, health informatics, occupation, and predictive analytics. May be repeated once for up to 8 sum credits .

CS 7295. Special Topics in Data Visualization. (4 Hours)
Offers versatile topics in data visual image. May be repeated once .

CS 7340. Theory and Methods in Human Computer Interaction. (4 Hours)
Covers the foundations of homo abilities, computational artifacts, design, and evaluation. Human calculator interaction concerns the plan and evaluation of software based on a deep agreement of how humans interact with computers, devices, and sensors. The field merges theories from psychology and computer skill, using methods from AI and design. Introduces cognitive, perceptual, and affectional theories and theories of individual differences that allow us to design and develop better calculator software and systems. besides covers inquiry 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 path restrictions may seek permission of teacher .

CS 7390. Special Topics in Human-Centered Computing. (4 Hours)
Offers assorted topics in human-centered computer science .

CS 7400. Intensive Principles of Programming Languages. (4 Hours)
Studies the basic components of programming languages, specification of syntax and semantics, and description and implementation of programming terminology features. Discusses examples from a diverseness of languages .

CS 7430. Formal Specification, Verification, and Synthesis. (4 Hours)
Covers software and system mold ( how to formally describe the behavior of software and systems ) ; specification ( how to formally submit the properties that the organization should have ) ; confirmation ( 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 ” ) .

CS 7480. Special Topics in Programming Language. (4 Hours)
Offers diverse topics in programming language. May be repeated up to two times .

CS 7485. Special Topics in Formal Methods. (4 Hours)
Offers diverse topics in formal methods. May be repeated without limit .

CS 7580. Special Topics in Software Engineering. (4 Hours)
Offers respective topics on software engineering. May be repeated up to two times .

CS 7600. Intensive Computer Systems. (4 Hours)
Studies the structure, components, blueprint, implementation, and inner operation of calculator systems, focusing on the operate system flush. Reviews calculator hardware and architecture including the arithmetic and logic unit, and the see whole. Covers current operating system components and construction techniques including the memory and memory control, I/O device management, device drivers, memory management, file system structures, and the drug user interface. Discusses distribute operating systems, real-time systems, and addresses coincident processes, schedule, interprocess communication, and synchronism. Discusses relevant distributed algorithm. besides covers design and psychoanalysis techniques for desirable properties in computer systems including functional correctness ( in the absence of faults ), performance and throughput, fault-tolerance and dependability, real-time response, security, and quality of service. Draws examples from real operating systems. Emphasizes abstraction, while programming exercises are used to facilitate the understand of concepts .

CS 7610. Foundations of Distributed Systems. (4 Hours)
Covers foundational concepts in the design and implementation of effective and dependable distributed computing systems. Covers internet communication protocols, fault-tolerant computer science, synchronization protocols, synchronous and asynchronous calculation, moral force group communication systems, load balance, Byzantine models, distributed hashish tables, distributed file systems, and application of foundational concepts to modern distributed systems in the field. Requires cognition of operating systems ; e.g., an undergraduate naturally in Systems and Networks, Computer Systems, or Networks and Distributed systems .

CS 7675. Master’s Research. (4 Hours)
Exposes students to research in the fields of calculator sciences. Explores how the scientific method acting is applied to these fields and covers the breadth of subareas of specialization that exist. Offers students an opportunity to rehearse how to locate and read scientific literature in different subareas .

CS 7680. Special Topics in Computer Systems. (4 Hours)
Offers versatile topics on computer systems. May be repeated up to two times .

CS 7775. Seminar in Computer Security. (2-4 Hours)
Gives students the opportunity to read and present respective survey and research papers in cryptography and computer security system. Faculty supervisory program and topics vary from semester to semester. May be repeated for credit for ph students .

CS 7780. Special Topics in Networks. (4 Hours)
Offers assorted topics on networks. May be repeated up to two times .

CS 7800. Advanced Algorithms. (4 Hours)
Presents advanced mathematical techniques for designing and analyzing computer algorithm. 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, active program, avid algorithm and matroid theory, amortized psychoanalysis, randomization, string equal, algebraic algorithm, and approximation algorithm. Introduces Turing machines, P and NP classes, polynomial-time reducibility, and NP completeness .

CS 7805. Complexity Theory. (4 Hours)
Covers core topics in computational complexity, including NP-completeness, prison term and space complexity, polynomial hierarchy, circuit complexity, probabilistic calculation, interactional validation, and unfeelingness of estimate. Moves to more advance topics that may include lower bounds, pseudorandomness, cryptography, and communication complexity .
Prerequisite(s): CS 7800 with a minimal grade of C-
CS 7880. Special Topics in Theoretical Computer Science. (4 Hours)
Covers versatile topics including advanced cryptanalysis, estimate algorithm, complexity theory, computational algebra, distributed computer science, ball confirmation, net algorithm, on-line calculation, parallel calculate, and randomness and calculation. May be repeated up to two times .

CS 7962. Elective. (2-4 Hours)
Offers elective recognition for courses taken at other academician institutions. May be repeated without terminus ad quem .

CS 7976. Directed Study. (2-4 Hours)
Focuses on student examining standard calculator skill material in newly ways or fresh calculator science material that is not covered in formal courses. May be repeated without limit .

CS 7980. Capstone. (4 Hours)
Offers students a culminating experience to demonstrate proficiency in winder concepts learned throughout their programs in the effect and elective courses. Designed to reinforce concepts in ethics and basic concepts in research, beyond an emphasis on the technical principles learned throughout the program .

CS 7990. Thesis. (4 Hours)
Offers selected employment with the agreement of a undertaking supervisory program .

CS 7996. Thesis Continuation. (0 Hours)
Offers continued thesis influence conducted under the supervision of a departmental staff .
Prerequisite(s): CS 7990 with a minimum grade of C-
CS 8674. Master’s Project. (4 Hours)
Offers selected solve with the agreement of a project supervisor. May be repeated once .

CS 8949. Research Work Experience. (0 Hours)
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 .

CS 8982. Readings. (1-8 Hours)
Offers selected readings under the supervision of a faculty member. May be repeated without restrict .

CS 8986. Research. (0 Hours)
Offers an opportunity to conduct full-time research under faculty supervision. May be repeated without limit .

CS 9000. PhD Candidacy Achieved. (0 Hours)
Indicates successful completion of the doctoral comprehensive examination .

CS 9990. Dissertation Term 1. (0 Hours)
Offers selected make with the agreement of a thesis supervisor .
Prerequisite(s): CS 9000 with a minimal grade of S
CS 9991. Dissertation Term 2. (0 Hours)
Offers dissertation supervision by members of the department .
Prerequisite(s): CS 9990 with a minimum degree of S

CS 9996. Dissertation Continuation. (0 Hours)
Continues work with the agreement of a thesis supervisory program .
Prerequisite(s): CS 9991 with a minimal grade of S or Dissertation Check with a sexual conquest of REQ

source : https://enrolldetroit.org
Category : Education

Trả lời

Email của bạn sẽ không được hiển thị công khai.