Go to Main Content
 

HELP | EXIT

Catalog Entries

 

Spring 2013 Semester
Apr 19, 2014
Transparent Image
Information Select the Course Number to get further detail on the course. Select the desired Schedule Type to find available classes for the course.

CS 1100 - Computer Science and Its Applications
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. Prereq. Not open to students in the College of Computer and Information Science or in the College of Engineering.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
CAS Core MOI: Natural World, NU Core Science/Tech Lvl 1, Computer&Info Sci

CS 1200 - Computer Science/Information Science Overview 1
Introduces students to the College of Computer and Information Science (CCIS) and begins their preparation for careers in the computing and information fields. Offers students an opportunity to learn how to thrive at Northeastern and within CCIS by developing academic, professional, and interpersonal skills. Covers the variety of careers available in the high-technology professions. Students work in groups to create and deliver presentations on careers in the field. Prereq. Intended for CCIS freshmen and for freshmen who transfer into CCIS.
1.000 Credit hours
1.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 1210 - Computer Science/Information Science Overview 2: Co-op Preparation
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 résumé; 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. Prereq. Intended for freshmen in the College of Computer and Information Science (CCIS) and for freshmen who plan to transfer into CCIS.
1.000 Credit hours
1.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 1220 - Computer/Information Science Co-op Preparation
Prepares students for co-op through topics such as ethics, privacy, security, responsibility, and intellectual property. Exposes students to popular industry technologies. Prereq. Intended for transfer students into computer/information science who are above the freshman level.
1.000 Credit hours
1.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 1500 - Algorithms and Data Structures for Engineering
Introduces algorithms and data structures for engineering students. Discusses data structures such as arrays, stacks, queues, and lists, and the algorithms that manipulate these structures. Introduces simple algorithm analysis. Discusses classes and objects and presents the basic material about encapsulation, inheritance, and polymorphism. Introduces software development practices such as modular design, use of libraries, testing methods, and debugging techniques. Prereq. GE 1111; not open to students in the College of Computer and Information Science. Coreq. CS 1501.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Science/Tech Lvl 1, Computer&Info Sci

CS 1501 - Lab for CS 1500
Accompanies CS 1500. Covers topics from the course through various experiments. Prereq. Not open to students in the College of Computer and Information Science. Coreq. CS 1500.
1.000 Credit hours
1.000 Lab hours

Levels: Undergraduate
Schedule Types: Lab

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 1800 - Discrete Structures
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.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Math/Anly Think Lvl 1, Computer&Info Sci

CS 1801 - Recitation for CS 1800
Accompanies CS 1800. Provides students with additional opportunities to ask questions and to see sample problems solved in detail.
0.000 Credit hours
0.000 Lecture hours

Levels: Undergraduate
Schedule Types: Recitation/Discussion

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 1990 - Elective
Offers elective credit for courses taken at other academic institutions. Prereq. Permission of instructor.
1.000 TO 4.000 Credit hours
1.000 TO 4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Off-campus instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, Computer&Info Sci

CS 2500 - Fundamentals of Computer Science 1
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. Coreq. CS 2501.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
CAS Core MOI: Natural World, NU Core Science/Tech Lvl 1, Computer&Info Sci

CS 2501 - Lab for CS 2500
Accompanies CS 2500. Covers topics from the course through various experiments. Coreq. CS 2500.
1.000 Credit hours
1.000 Lab hours

Levels: Undergraduate
Schedule Types: Lab

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 2510 - Fundamentals of Computer Science 2
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. Prereq. CS 2500 (may be taken concurrently). Coreq. CS 2511.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 2511 - Lab for CS 2510
Accompanies CS 2510. Covers topics from the course through various experiments. Coreq. CS 2510.
1.000 Credit hours
1.000 Lab hours

Levels: Undergraduate
Schedule Types: Lab

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 2600 - Computer Organization
Introduces the basic design of computing systems. Covers central processing unit (CPU), memory, input, and output. Provides a complete introduction to assembly language such as the basics of an instruction set plus experience in assembly language programming using a RISC architecture. Uses system calls and interrupt-driven programming to show the interaction with the operating system. Covers machine representation of integers, characters, and floating-point numbers. Describes caches and virtual memory. Prereq. CS 2510.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 2800 - Logic and Computation
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. Prereq. (a) CS 1800, MATH 1365, or MATH 2310 and (b) CS 2500. Coreq. CS 2801.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Math/Anly Think Lvl 2, Computer&Info Sci

CS 2801 - Lab for CS 2800
Accompanies CS 2800. Covers topics from the course through various experiments. Coreq. CS 2800.
1.000 Credit hours
1.000 Lab hours

Levels: Undergraduate
Schedule Types: Lab

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 2900 - Honors Freshman Seminar 1
Introduces a variety of topics that extend the material in the standard freshman computer courses or go beyond the scope of these courses. Prereq. Honors Program participation.
1.000 Credit hours
1.000 Lecture hours

Levels: Undergraduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
Honors, Computer&Info Sci

CS 2901 - Honors Freshman Seminar 2
Introduces a variety of topics that extend the material in the standard freshman computer courses or go beyond the scope of these courses. Prereq. Honors Program participation.
1.000 Credit hours
1.000 Lecture hours

Levels: Undergraduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
Honors, Computer&Info Sci

CS 2990 - Elective
Offers elective credit for courses taken at other academic institutions. Prereq. Permission of instructor.
1.000 TO 4.000 Credit hours
1.000 TO 4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Off-campus instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, Computer&Info Sci

CS 3200 - Database Design
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. Prereq. CS 1500 or CS 2510.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 3500 - Object-Oriented Design
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. Prereq. CS 1500 or CS 2510.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 3520 - Programming in C++
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. Prereq. CS 1500 or CS 2510.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 3540 - Game Programming
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. Prereq. CS 3500 and CS 3520.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 3600 - Systems and Networks
Introduces the basic concepts underlying computer operating systems and computer networks and provides hands-on experience with their implementation. Covers the basic structure of an operating system: application interfaces, processes, threads, synchronization, interprocess communication, processor allocation, deadlocks, memory management, file systems, and input/output control. Also introduces 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 API’s (sockets). Uses examples from many real operating systems and networks (UNIX, MS-DOS, Windows, TCP/IP, Ethernet, ATM, and token rings) to reinforce concepts. Prereq. CS 2600 or CS 3520.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 3800 - Theory of Computation
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. Prereq. (a) CS 1500 or CS 2510 and (b) CS 2800.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Math/Anly Think Lvl 2, Computer&Info Sci

CS 3990 - Elective
Offers elective credit for courses taken at other academic institutions. Prereq. Permission of instructor.
1.000 TO 4.000 Credit hours
1.000 TO 4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Off-campus instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, Computer&Info Sci

CS 4000 - Senior Seminar
Requires students to give a twenty- to thirty-minute formal presentation on a topic of their choice in computer science. Prepares students for this talk by discussing methods of oral presentation, how to present technical material, how to choose what topics to present, overall organization of a talk, and use of presentation software and other visual aids. Prereq. Senior standing; computer/information science students only.
1.000 Credit hours
1.000 Lecture hours

Levels: Undergraduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4100 - Artificial Intelligence
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. Prereq. CS 2800 and CS 3500.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4150 - Game Artificial Intelligence
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. Prereq. (a) CS 2800 and CS 3500 or (b) permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4200 - Database Internals
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. Prereq. CS 3200 or CS 5200.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4240 - Parallel Data Processing in MapReduce
Introduces the MapReduce programming model and the core technologies it relies on in practice, such as a distributed file system and the distributed consensus protocol. Also discusses related approaches and technologies from distributed databases and cloud computing. Emphasizes practical examples and hands-on programming experiences. Examines both plain MapReduce and database-inspired advanced programming models running on top of a MapReduce infrastructure. Prereq. (a) CS 3600 or CS 5600 or permission of instructor and (b) CS 4800 or CS 5800 or permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4300 - Computer 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. Prereq. (a) CS 1500, CS 2510, or CS 3500 and (b) MATH 1260, MATH 2331, or MATH 2341.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4400 - Programming Languages
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. Prereq. CS 3500 and CS 3800 (CS 3800 may be taken concurrently).
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4410 - Compilers
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. Prereq. CS 4400, CS 5400, or CS 7400.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4500 - Software Development
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. Prereq. (a) CS 3500 and (b) ENGL 1111 or ENGL 1102.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4510 - Software Testing
Examines the software development process from the point of view of testing. Focuses on unit testing, white- and black-box testing, randomized testing, the design of equality comparison, and the design of a test tool that evaluates the tests and reports the results. Next considers integration testing, stress tests and other performance tests, testing automation, and other techniques for assuring correctness and integrity of programs with several interacting components. Explores tools for measuring code quality and how these tools may be used to improve code design. Requires a comprehensive project in which all techniques studied are applied. Prereq. CS 3500.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4520 - Mobile Application Development
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. Prereq. CS 3500.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4550 - Web Development
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. Prereq. CS 3500.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4600 - Topics in Operating Systems
Studies advanced concepts underlying computer operating systems and computer networks. Examines in depth all major operating-system and network components including device drivers, network protocol stacks, memory managers, centralized and distributed file systems, interprocess communication mechanisms, real-time schedulers, and security mechanisms. Additional components are covered as time permits. Provides hands-on experience with the source code of commercial-grade operating systems and networks. Prereq. CS 3500 and CS 3600.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4610 - Robotic Science and Systems
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. Prereq. CS 3500. Coreq. CS 4611.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4611 - Lab for CS 4610
Offers a laboratory course to accompany CS 4610. Coreq. CS 4610.
1.000 Credit hours
1.000 Lab hours

Levels: Undergraduate
Schedule Types: Lab

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4650 - High Performance Computing
Introduces students to research in the domain of high-performance computing. Each instance of this course covers a single topic with broad open questions. The required systems background needed to investigate these questions is covered in the first part of the course. Then, working in teams, students have an opportunity to address different aspects of the open questions so that in combination the entire class may learn more than any single team could accomplish. Example topics include use of new hardware such as GPUs on video boards, use of new software tools for multicore computing, development of check-pointing packages for more robust long computations, software for GUI window systems, and cloud computing. Prereq. (a) CS 3600 or CS 5600 and (b) and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4700 - Network Fundamentals
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). Prereq. CS 3600 or CS 5600.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4740 - Network Security
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. Prereq. CS 3600 or CS 5600.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4750 - Secure Wireless Ad Hoc Robots on Mission (SWARM) 1
Introduces the concepts underlying the design of robust and secure heterogeneous wireless networking of mobile robots: Internetworking, security, wireless communication, embedded development, and mobile phone platforms. Students form mixed teams with the goal of designing and building rescue-mission-oriented heterogeneous wireless systems operating in adversarial environments. These systems consist of off-the-shelf robots enhanced by the students with a low-power control and sensing embedded system; a low-power digital radio frequency communication network; a coordination unit connected to the Internet; and a messaging and command system based on cell phones. The course culminates in a competition between teams. Students are graded based on their designs, presentations, innovation, robustness, and competition performance. Graduate students are expected to make a research contribution. Prereq. (a) CS 3600 or CS 5600 and (b) permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4760 - Secure Wireless Ad Hoc Robots on Mission (SWARM) 2
Continues CS 4750. Based on the experiences in CS 4750, student teams have an opportunity to build more autonomous systems that can navigate areas where wireless communication or direct visibility are not possible. The systems must be resilient to more sophisticated denial-of-service attacks and need to more carefully account for energy consumption expended on mobility, communication, and meeting the mission task. Graduate students are expected to make a research contribution. Prereq. CS 4750 and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4800 - Algorithms and Data
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. Prereq. CS 3500.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
NU Core Math/Anly Think Lvl 2, Computer&Info Sci

CS 4850 - Building Game Engines
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. Prereq. CS 3540 or permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4900 - Honors Senior Seminar
Offers a capstone course for computer science honors students. Exposes students to one or more topics of current interest in computer science. Requires students to prepare a one-hour presentation on a topic in computer science and to write a paper on that topic. Prereq. Senior standing and Honors Program participation; computer/information science students only.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
Honors, NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4910 - Computer Science Topics
Offers a lecture course in computer science on a topic not regularly taught in a formal course. Topics may vary from offering to offering. Prereq. CS 3500, CS 3800, and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4920 - Computer Science Project
Focuses on students developing a substantial software or hardware artifact under faculty supervision. Prereq. CS 3500, CS 3800, and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, Computer&Info Sci

CS 4970 - Junior/Senior Honors Project 1
Focuses on in-depth project in which a student conducts research or produces a product related to the student’s major field. Culminating experience in the University Honors Program. Combined with Junior/Senior Project 2 or college-defined equivalent for 8 credit honors project. Prereq. Honors Program participation and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
Honors, Do not publish in schedule, Computer&Info Sci

CS 4971 - Junior/Senior Honors Project 2
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. Culminating experience in the University Honors Program. Prereq. CS 4970, Honors Program participation, and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
Honors, Do not publish in schedule, Computer&Info Sci

CS 4990 - Elective
Offers elective credit for courses taken at other academic institutions. Prereq. Permission of instructor.
1.000 TO 4.000 Credit hours
1.000 TO 4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Off-campus instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, Computer&Info Sci

CS 4991 - Research
Offers an opportunity to conduct research under faculty supervision. Prereq. CS 3500, CS 3800, and permission of instructor.
4.000 OR 8.000 Credit hours
4.000 OR 8.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4992 - Directed Study
Focuses on student examining standard computer science material in fresh ways or new computer science material that is not covered in formal courses. Prereq. CS 3500, CS 3800, and permission of instructor.
1.000 TO 6.000 Credit hours
1.000 TO 6.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, Computer&Info Sci

CS 4993 - Independent Study
Offers independent work under the direction of members of the department on a chosen topic. Course content depends on instructor. Prereq. CS 3500, CS 3800, and permission of instructor.
1.000 TO 6.000 Credit hours
1.000 TO 6.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, Computer&Info Sci

CS 4994 - Internship
Offers students an opportunity for internship work. Prereq. Permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
Computer&Info Sci

CS 4996 - Experiential Education Directed Study
Draws upon the student’s approved experiential activity and integrates it with study in the academic major. Restricted to those students who are using the course to fulfill their experiential education requirement. Prereq. Permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
NU Core Experiential Learning, Computer&Info Sci

CS 4997 - Computer Science Thesis
Focuses on student preparing an undergraduate thesis under faculty supervision. Prereq. Permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 4998 - Computer Science Thesis Continuation
Focuses on student continuing to prepare an undergraduate thesis under faculty supervision. Prereq. CS 4997 and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Undergraduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
Do not publish in schedule, NU Core Capstone, NU Core Writing Intsv in Majr, Computer&Info Sci

CS 5010 - Programming Design Paradigm
Introduces modern program design paradigms. Starts with functional program design, introducing the notion of a design recipe. The latter consists of two parts: a task organization (ranging from the description of data to the creation of a test 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 addition to studying program design, students also have an opportunity to practice pair-programming and public code review techniques, as found in industry today. Coreq. CS 5011.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5011 - Recitation for CS 5010
Provides small-group discussion format to cover material in CS 5010. Coreq. CS 5010.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Recitation/Discussion

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5100 - Foundations of Artificial Intelligence
Introduces the fundamental problems, theories, and algorithms of the artificial intelligence field. Topics include heuristic search and game trees, knowledge representation using predicate calculus, automated deduction and its applications, problem solving and planning, and introduction to machine learning. Required course work includes the creation of working programs that solve problems, reason logically, and/or improve their own performance using techniques presented in the course. Prereq. Experience in Java programming.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5200 - Database Management Systems
Introduces relational database management systems as a class of software systems. Prepares students to be sophisticated users of database management systems. Covers design theory, query 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, normalization, B-trees, concurrency, transactions, database security, constraints, object-relational DBMSs, and specialized engines such as spatial, text, XML conversion, and time series. Includes exercises using a commercial relational or object-relational database management system. Prereq. Computer/information science students only.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5310 - Computer Graphics
Introduces the fundamentals of two-dimensional and three-dimensional computer graphics, with an emphasis on approaches for obtaining realistic images. Covers two-dimensional algorithms for drawing lines and curves, anti-aliasing, filling, and clipping. Studies rendering of three-dimensional 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. Prereq. Knowledge of linear algebra.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5320 - Digital Image Processing
Studies the fundamental concepts of digital image processing including digitization and display of images, manipulation of images to enhance or restore image detail, encoding (compression) of images, detection of edges and other object features in images, and the formation of computed tomography (CT) images. Introduces mathematical tools such as linear systems theory and Fourier analysis and uses them to motivate and explain these image processing techniques. Prereq. Knowledge of linear algebra.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5330 - Pattern Recognition and Computer Vision
Introduces fundamental techniques for low-level and high-level computer vision. Examines image formation, early processing, boundary detection, image segmentation, texture analysis, shape from shading, photometric stereo, motion analysis via optic flow, object modeling, shape description, and object recognition (classification). Discusses models of human vision (gestalt effects, texture perception, subjective contours, visual illusions, apparent motion, mental rotations, and cyclopean vision). Prereq. Knowledge of linear algebra.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5335 - Robotic Science and Systems
Introduces autonomous mobile robots with a focus on algorithms and software development, including closed-loop control, robot software architecture, wheeled locomotion and navigation, tactile and basic visual sensing, obstacle detection and avoidance, and grasping and manipulation of objects. Offers students an opportunity to progressively construct mobile robots from a predesigned electromechanical kit. The robots are controlled wirelessly by software of the students’ own design, built within a provided robotics software framework. Culminates in a project that connects the algorithms and hardware developed in the course with a selected topic in the current robotics research literature. Coreq. CS 5336.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5336 - Lab for CS 5335
Offers a lab section to accompany CS 5335. Coreq. CS 5335.
0.000 Credit hours
0.000 Lab hours

Levels: Graduate
Schedule Types: Lab

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5340 - Computer/Human Interaction
Covers the principles of human-computer interaction and the design and evaluation of user interfaces. Topics include an overview of human information processing subsystems (perception, memory, attention, and problem solving); how the properties of these systems affect the design of user interfaces; the principles, guidelines, and specification languages for designing good user interfaces, with emphasis on tool kits and libraries of standard graphical user interface objects; and a variety of interface evaluation methodologies that can be used to measure the usability of software. Other topics may include World Wide Web design principles and tools, computer-supported cooperative work, multimodal and “next generation” interfaces, speech and natural language interfaces, and virtual reality interfaces. Course work includes both the creation and implementation of original user interface designs, and the evaluation of user interfaces created by others. Prereq. Knowledge of C programming language/UNIX.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5350 - Applied Geometric Representation and Computation
Surveys practical techniques for representing geometric objects in two and three dimensions, for computing their motions and interactions, and for human interfaces to manipulate them. These techniques are useful not only in graphics but also in robotics, computer vision, game design, geographic information systems, computer-aided design and manufacturing, spatial reasoning and planning, physical simulation, biomechanics, and the implementation of many types of human-computer interface. Prereq. Undergraduate background in algorithms.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5400 - Principles of Programming Language
Studies the basic components of programming languages, specification of syntax and semantics, and description and implementation of programming language features. Discusses examples from a variety of languages. Prereq. CS 5010.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5500 - Managing Software Development
Covers software life cycle models (waterfall, spiral, and so forth), domain engineering methods, requirements analysis methods (including formal specifications), software design principles and methods, verification and testing methods, resource and schedule estimation for individual software engineers, component-based software development methods and architecture, and languages for describing software processes. Includes a project where some of the software engineering methods (from domain modeling to testing) are applied in an example. Prereq. (a) CS 5010 and (b) admission to MS program or completion of all transition courses.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5520 - Mobile Application Development
Focuses on mobile application development on a mobile phone or related platform. Discusses memory management; user interface building, including both MVC principles and specific tools; touch events; data handling, including core data, SQL, XML, and JSON; network techniques and URL loading; and, finally, specifics such as GPS and motion sensing that may be dependent on the particular mobile platform. Students are expected to work on a project that produces a professional-quality mobile application and to demonstrate the application that they have developed. The instructor chooses a modern mobile platform to be used in the course.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5600 - Computer Systems
Studies the structure, components, design, implementation, and internal operation of computer systems, focusing mainly on the operating system level. Reviews computer hardware and architecture including the arithmetic and logic unit, and the control unit. Covers current operating system components and construction techniques including the memory and memory controller, I/O device management, device drivers, memory management, file system structures, and the user interface. Introduces distributed operating systems. Discusses issues arising from concurrency and distribution, such as scheduling of concurrent processes, interprocess communication and synchronization, resource sharing and allocation, and deadlock management and resolution. Includes examples from real operating systems. Exposes students to the system concepts through programming exercises. Prereq. Admission to MS program or completion of all transition courses.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5610 - Web Development
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. Each student must deploy individually designed Web experiments that illustrate the Web technologies and at least one major integrative Web site project. Students may work in teams 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.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5620 - Computer Architecture
Studies the design of digital computer system components including the CPU, the memory subsystem, and interconnection busses and networks. Explores modern design techniques for increasing computer system capacity. Emphasizes the growing gap between CPU and RAM speed, and the parallel operation of the growing number of functional units in a CPU. Topics include pipelining, cache, new CPU architecture models, memory bandwidth and latency, multiprocessing and parallel processing architectures, cache coherence, and memory consistency. Prereq. CS 5600 or CS 7600.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5650 - High Performance Computing
Introduces students to research in the domain of high performance computing. Each instance of this course covers a single topic with broad open questions. The required systems background needed to investigate these questions is covered in the first part of the course. Then, working in teams, students have an opportunity to address different aspects of the open questions so that in combination the entire class may learn more than any single team could accomplish. Example topics include use of new hardware such as GPUs on video boards; use of new software tools for multicore computing; development of check-pointing packages for more robust long computations; software for GUI window systems; and cloud computing. Prereq. (a) CS 5600 or CS 7600 and (b) permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5700 - Fundamentals of Computer Networking
Studies network protocols, focusing on modeling and analysis, and architectures. Introduces modeling concepts, emphasizing queuing theory, including Little’s theorem, M/M/1, M/M/m, M/D/1, and M/G/1 queuing systems. Discusses performance evaluation of computer networks including performance metrics, evaluation tools and methodology, simulation techniques, and limitations. Presents the different harmonizing functions needed for communication and efficient operation of computer networks and discusses examples of Ethernet, FDDI, and wireless networks. Covers link layer protocols including HDLC, PPP, and SLIP; packet framing; spanning tree and learning bridges, error detection techniques, and automatic repeat request algorithms; sliding window and reliable/ordered services; and queuing disciplines including FQ and WFQ. Introduces flow control schemes, such as window flow control and leaky bucket rate control schemes, and discusses congestion control and fairness. Prereq. Computer/information science majors only and knowledge of probability theory.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5750 - Social Computing
Offers a detailed look at popular social information systems. Studies models (both computational and sociological) of social information systems and the application of them both in theory and by analyzing real data from social network interactions. The recent popularity of online social media underlies a shift in the way people connect, communicate, and share content. When designing social computing systems, one must now understand and carefully consider the structure and use of the underlying social network. Considers questions such as: How does information spread through a social network? What mechanisms work best at encouraging collaboration? Prereq. CS 5600 or CS 5700; computer and information science students only.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5770 - Software Vulnerabilities and Security
Seeks to help students to become aware of systems security issues and to gain a basic understanding of security. Presents the principal software and applications used in the Internet, discussing in detail the related vulnerabilities and how they are exploited. Also discusses programming vulnerabilities and how they are exploited. Examines protection and detection techniques. Includes a number of practical lab assignments as well as a discussion of current research in the field. Prereq. Junior, senior, or graduate standing.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate, Undergraduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5800 - Algorithms
Presents the mathematical techniques used for the design and analysis of computer algorithms. Focuses on algorithmic design paradigms and techniques for analyzing the correctness, time, and space complexity of algorithms. Topics may include asymptotic notation, recurrences, loop invariants, Hoare triples, sorting and searching, advanced data structures, lower bounds, hashing, greedy algorithms, dynamic programming, graph algorithms, and NP-completeness. Prereq. Admission to MS program or completion of all transition courses.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5976 - Directed Study
Focuses on student examining standard computer science material in fresh ways or new computer science material that is not covered in formal courses. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 5978 - Independent Study
Offers independent work under the direction of members of the department on a chosen topic. Course content depends on instructor. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Do not publish in schedule

CS 5984 - Research
Offers an opportunity to conduct research under faculty supervision. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6110 - Knowledge Based Systems
Focuses on the acquisition, organization, and use of world knowledge in computers, and the challenge of creating programs with common sense. Topics include knowledge representation and reasoning models beyond predicate calculus, Bayesian inference and other models of reasoning and decision making under uncertainty, rule-based expert systems, case-based and analogical reasoning, and introduction to natural language processing. Course work includes the creation of working programs that store and manipulate world knowledge using techniques presented in the course. Prereq. CS 5100.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6120 - Natural Language Processing
Provides an introduction to the computational modeling of human language, the ongoing effort to create computer programs that can communicate with people in natural language, and current applications of the natural language field, such as automated document classification, intelligent query processing, and information extraction. Topics include computational models of grammar and automatic parsing, statistical language models and the analysis of large text corpuses, natural language semantics and programs that understand language, models of discourse structure, and language use by intelligent agents. Course work includes formal and mathematical analysis of language models, and implementation of working programs that analyze and interpret natural language text. Prereq. CS 5100.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6140 - Machine Learning
Provides a broad look at a variety of techniques used in machine learning and data mining, and also examines issues associated with their use. Topics include algorithms for supervised learning including decision tree induction, artificial neural networks, instance-based learning, probabilistic methods, and support vector machines; unsupervised learning; and reinforcement learning. Also covers computational learning theory and other methods for analyzing and measuring the performanceof learning algorithms. Course work includes a programming term project. Prereq. CS 5800.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6200 - Information Retrieval
Provides an introduction to information retrieval systems and different approaches to information retrieval. Topics covered include evaluation of information retrieval systems; retrieval, language, and indexing models; file organization; compression; relevance feedback; clustering; distributed retrieval and metasearch; probabilistic approaches to information retrieval; Web retrieval; filtering, collaborative filtering, and recommendation systems; cross-language IR; multimedia IR; and machine learning for information retrieval.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6220 - Data Mining Techniques
Covers various aspects of data mining, including classification, prediction, ensemble methods, association rules, sequence mining, and cluster analysis. The class project involves hands-on practice of mining useful knowledge from a large data set. Prereq. CS 5800 or CS 7800.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6240 - Parallel Data Processing in MapReduce
Introduces the MapReduce programming model and the core technologies it relies on in practice, such as a distributed file system and the distributed consensus protocol. Also discusses related approaches and technologies from distributed databases and cloud computing. Emphasizes practical examples and hands-on programming experiences. Examines both plain MapReduce and database-inspired advanced programming models running on top of a MapReduce infrastructure. Prereq. CS 5800 or permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6310 - Computational Imaging
Introduces the latest computational methods in digital imaging that overcome the traditional limitations of a camera and enable novel imaging applications. Provides a practical guide to topics in image capture and manipulation methods for generating compelling pictures for computer graphics and for extracting scene properties for computer vision, with several examples. Prereq. (a) CS 5320 or EECE 7311 and (b) permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6350 - Empirical Research Methods
Presents an overview of methods for conducting empirical research within computer science. These methods help provide objective answers to questions about the usability, effectiveness, and acceptability of systems. The course covers the basics of the scientific method, building from a survey of objective measures to the fundamentals of hypothesis testing using relatively simple research designs, and on to more advanced research designs and statistical methods. The course also includes a significant amount of fieldwork, spanning the design, conduct, and presentation of small empirical studies. Prereq. Junior, senior, or graduate standing.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6410 - Compilers
Expects each student to write a small compiler. Topics include parser generation, abstract syntax trees, symbol tables, type checking, generation of intermediate code, simple code improvement, register allocation, run-time structures, and code generation. Prereq. CS 5400 or CS 7400; computer/information science students and engineering students only.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6412 - Semantics of Programming Language
Studies mathematical models for the behavior of programming languages. Topics include operational, denotational, and equational specifications; Lambda-calculi and their properties; applications of these techniques, such as rapid prototyping and correctness of program optimizations. Prereq. (a) CS 5400 or CS 7400 and (b) knowledge of discrete mathematics.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6510 - Advanced Software Development
Presents current ideas and techniques in software methodology and provides a means for students to apply these techniques. Students are expected to design, implement, test, and document a software project. Prereq. CS 5500.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6515 - Software Development
Covers proven techniques for constructing maintainable software. Includes problem and data analysis, data definitions, concise specifications, interfaces, example and test data design, program design based on data definitions, and testing. Offers students an opportunity to practice what they learn and learn from what they practice through an evolving semester-long project in the programming language of their choice.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6520 - Methods of Software Development
Studies concepts of object-oriented programming that form the basis for components (generic programming, programming by contracts, or programming with metaclasses), software architecture for supporting components (implicit invocation, filters, or reflection), and the concrete realizations of components in some industrial standards (JavaBeans, EJB, CORBA, or COM/DCOM). Also covers selected topics in component research. Students complete a project where some creation, deployment, and evolution methods of software components are applied. Prereq. CS 5500.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6530 - Analysis of Software Artifacts
Addresses all kinds of software artifacts—specifications, designs, code, and so on—and covers both traditional analyses, such as verification and testing, and promising new approaches, such as model checking, abstract execution, and new type systems. Focuses on the analysis of function (for finding errors in artifacts and to support maintenance and reverse engineering), but the course also address other kinds of analysis (such as performance and security). Prereq. CS 5500.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6535 - Engineering Reliable Software
Continues the exploration of several themes from CS 5010: unit testing, random testing, and logical reasoning about software. Specifically revisits the idea of systematic design and its connection to making logical claims about the workings of programs. After an introduction to the ACL2 programming language and theorem prover, offers students an opportunity to redesign interactive games (e.g., “Space Invaders”) and work on turning them into reliable projects. Prereq. CS 5010 or permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6540 - Foundations of Formal Methods and Software Analysis
Covers necessary mathematical background such as first-order logic, and some measure theory. Studies the formal methods in more depth and breadth. Discusses the current state of the art in verification and semantics of probabilistic, real-time, and hybrid systems. Prereq. CS 6520.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6610 - Parallel Computing
Studies the principles of parallel processing, a variety of parallel computer architecture models including SIMD, MIMD, dataflow, systolic arrays, and network of workstations, and algorithms for parallel computation on the various models. Topics include interconnection network design, memory organization, cache and bus design, processor technologies, algorithms for sorting, combinatorial, and numerical problems, graph algorithms, matrix multiplication, and FFT, and the mapping of these algorithms to different architectures. Prereq. CS 5600 and CS 5800.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6710 - Wireless Network
Covers both theoretical issues related to wireless networking and practical systems for both wireless data networks and cellular wireless telecommunication systems. Topics include fundamentals of radio communications, channel multiple access schemes, wireless local area networks, routing in multihop ad hoc wireless networks, mobile IP, and TCP improvements for wireless links, cellular telecommunication systems, and quality of service in the context of wireless networks. Requires a project that addresses some recent research issues in wireless and mobile networking. Prereq. CS 5700 and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6740 - Network Security
Studies the theory and practice of computer security, focusing on the security aspects of multiuser systems and the Internet. Introduces cryptographic tools, such as encryption, key exchange, hashing, and digital signatures in terms of their applicability to maintaining network security. Discusses security protocols for mobile networks. Topics include firewalls, viruses, Trojan horses, password security, biometrics, VPNs, and Internet protocols such as SSL, IPSec, PGP, SNMP, and others.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6750 - Cryptography and Communications Security
Studies the design and use of cryptographic systems for communications and other applications such as e-commerce. Discusses the history of cryptographic systems, the mathematical theory behind the design, their vulnerability, and the different cryptanalytic attacks. Topics include stream ciphers including shift register sequences; block ciphers, such as DES and AES; public-key systems including RSA, discrete logarithms; signature schemes; hash functions, such as MD5 and SHA1; and protocol schemes including identification schemes, zero-knowledge proofs, authentication schemes, and secret sharing schemes. Discusses key management problems including Needham-Schroeder protocols and certificates. Prereq. CS 5800 or CS 7800.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6754 - Secure Wireless Ad-hoc Robots on Mission (SWARM) 1
Exposes students to the concepts underlying the design of robust and secure heterogeneous wireless networking of mobile robots: internetworking, security, wireless communication, embedded development, and mobile phone platforms. Students in this project-oriented course form mixed teams with the goal of designing and building rescue-mission-oriented heterogeneous wireless systems operating in adversarial environments. These systems consist of off-the-shelf robots enhanced by the students with a low-power control and sensing embedded system; a low-power digital radio frequency communication network; a coordination unit connected to the Internet; and a messaging and command system based on cell phones. The course culminates in a competition between teams. Students are graded based on their designs, presentations, innovation, robustness, and competition performance. Graduate students are expected to make a research contribution. Prereq. Permission of instructor; open to students from computer/information science, electrical/computer engineering, mechanical engineering, and mathematics.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6756 - Secure Wireless Ad-hoc Robots on Mission (SWARM) 2
Continues CS 6754. Based on the experiences in CS 6754, student teams have an opportunity to build more autonomous systems that can navigate areas where wireless communication or direct visibility are not possible. The systems must be resilient to more sophisticated denial-of-service attacks and need to more carefully account for energy consumption expended on mobility, communication, and meeting the mission task. Graduate students are expected to make a research contribution. Prereq. CS 6754 and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6760 - Privacy, Security, and Usability
Challenges conventional wisdom and encourages students to discover ways that security, privacy, and usability can be made synergistic in system design. Usability and security are widely seen as two antagonistic design goals for complex computer systems. Topics include computer forensics, network forensics, user interface design, backups, logging, economic factors affecting adoption of security technology, trust management, and related public policy. Uses case studies such as PGP, S/MIME, and SSL. Introduces basic cryptography and hash function as it is needed. Course work includes analysis of papers, problem sets, and a substantial term project.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6800 - Application of Information Theory
Introduces information theory and its applications to various computational disciplines. Covers the basic concepts of information theory, including entropy, relative entropy, mutual information, and the asymptotic equipartition property. Concentrates on applications of information theory to computer science and other computational disciplines, including compression, coding, Markov chains, machine learning, information retrieval, statistics, computational linguistics, computational biology, wired and wireless networks, and image and speech processing. The course is self-contained; no prior knowledge of information theory is required or assumed. Prereq. CS 5800 and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6810 - Distributed Algorithms
Covers the design and analysis of algorithms and problems arising in distributed systems, with emphasis on network algorithms. The main concerns are efficiency of computation and communication, fault tolerance, and asynchrony. Topics include leader election, graph algorithms, datalink protocols, packet routing, logical synchronization and clock synchronization, resource allocation, self-stabilization of network protocols, and graph partitions. Prereq. (a) CS 5800 or CS 7800 and (b) permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6949 - Graduate Cooperative Education Seminar
Intended to prepare graduate students in computer and information science for co-op through examination of topics such as ethics, privacy, security, responsibility, and intellectual property.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 6960 - Exam Preparation—Master’s
Offers the student the opportunity to prepare for the master’s qualifying exam under faculty supervision. Prereq. Permission of advisor.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 6962 - Elective
Offers elective credit for courses taken at other academic institutions. Prereq. Permission of instructor.
1.000 TO 4.000 Credit hours
1.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Off-campus instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 6964 - Co-op Work Experience
Provides eligible students with an opportunity for work experience. Prereq. Permission of advisor.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 6966 - Practicum
Provides eligible students with an opportunity for practical experience. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7170 - Seminar in Artificial Intelligence
Gives students the opportunity to read and present various survey and research papers in artificial intelligence. May be repeated for credit for PhD students; faculty supervisor and topics vary from semester to semester. Prereq. CS 5100 and permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7180 - Special Topics in Artificial Intelligence
Offers various topics on artificial intelligence. Prereq. Permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7270 - Seminar in Database Systems
Gives students the opportunity to read and present various survey and research papers in database systems. Faculty supervisor and topics vary from semester to semester. May be repeated for credit for PhD students. Prereq. CS 5200 and permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7280 - Special Topics in Database Management
Offers various topics. Possible areas include object-oriented database systems and distributed database systems. Prereq. CS 5200 and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7370 - Seminar in Graphics/Image Processing
Gives students the opportunity to read and present various survey and research papers in graphics and image processing. May be repeated for credit for PhD students; faculty supervisor and topics vary from semester to semester . Prereq. CS 5310.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7380 - Special Topics in Graphics/Image Processing
Offers various topics on graphics/image processing. Prereq. CS 5310 and permission of instructor. Coreq. CS 7381.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7381 - Lab for CS 7380
Offers a lab section to accompany CS 7380. Coreq. CS 7380.
0.000 Credit hours
0.000 Lab hours

Levels: Graduate
Schedule Types: Lab

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7400 - Intensive Principles of Programming Languages
Studies the basic components of programming languages, specification of syntax and semantics, and description and implementation of programming language features. Discusses examples from a variety of languages. Prereq. Computer science PhD students only.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7470 - Seminar in Programming Languages
Gives students the opportunity to read and present various survey and research papers in programming languages. Faculty supervisor and topics vary from semester to semester. May be repeated for credit for PhD students. Prereq. (a) CS 5400 or CS 7400 and (b) permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7480 - Special Topics in Programming Language
Offers various topics in programming language. Prereq. (a) CS 5400 or CS 7400 and (b) permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7485 - Special Topics in Formal Methods
Offers various topics in formal methods. Prereq. Permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7570 - Seminar in Software Development
Gives students the opportunity to read and present various survey and research papers in software development. Faculty supervisor and topics vary from semester to semester. May be repeated for credit for PhD students. Prereq. CS 5500 and permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7575 - Seminar in Software Engineering
Gives students the opportunity to read and present various survey and research papers in software engineering. Faculty supervisor and topics vary from semester to semester. May be repeated for credit for PhD students. Prereq. CS 6520 and permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7580 - Special Topics in Software Engineering
Offers various topics on software engineering. Prereq. (a) CS 5500 or CS 7400 and (b) permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7600 - Intensive Computer Systems
Studies the structure, components, design, implementation, and internal operation of computer systems, focusing on the operating system level. Reviews computer hardware and architecture including the arithmetic and logic unit, and the control unit. Covers current operating system components and construction techniques including the memory and memory controller, I/O device management, device drivers, memory management, file system structures, and the user interface. Discusses distributed operating systems, real-time systems, and addresses concurrent processes, scheduling, interprocess communication, and synchronization. Discusses relevant distributed algorithms. Also covers design and analysis techniques for desirable properties in computer systems including functional correctness (in the absence of faults), performance and throughput, fault-tolerance and reliability, real-time response, security, and quality of service. Draws examples from real operating systems. Emphasizes abstraction, while programming exercises are used to facilitate the understanding of concepts. Prereq. Computer science PhD students only.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7670 - Seminar in Computer Systems
Gives students the opportunity to read and present various survey and research papers in computer systems. Faculty supervisor and topics vary from semester to semester. May be repeated for credit for PhD students. Prereq. (a) CS 5600 or CS 7600 and (b) permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7680 - Special Topics in Computer Systems
Offers various topics on computer systems. Prereq. Permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7770 - Seminar in Computer Networks
Gives students the opportunity to read and present various survey and research papers in computer networks. Faculty supervisor and topics vary from semester to semester. May be repeated for credit for PhD students. Prereq. CS 5700 and permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7775 - Seminar in Computer Security
Gives students the opportunity to read and present various survey and research papers in cryptography and computer security. Faculty supervisor and topics vary from semester to semester. May be repeated for credit for PhD students. Prereq. CS 6750 and permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7780 - Special Topics in Networks
Offers various topics on networks. Prereq. CS 5700 and permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7800 - Advanced Algorithms
Presents advanced mathematical techniques for designing and analyzing computer algorithms. Reviews some of the material covered in CS 5800 and then covers advanced topics. Emphasizes theoretical underpinnings of techniques used to solve problems arising in diverse domains. Topics include asymptotic analysis, advanced data structures, dynamic programming, greedy algorithms and matroid theory, amortized analysis, randomization, string matching, algebraic algorithms, and approximation algorithms. Introduces Turing machines, P and NP classes, polynomial-time reducibility, and NP completeness. Prereq. Computer science PhD students only.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7805 - Theory of Computation
Examines formal models of computation, notions of undecidability, and basic complexity theory. Models of computation include finite state automata, pushdown automata, and Turing machines. Discusses the properties of regular sets and context-free languages. Also covers partial recursive functions, primitive recursive functions, recursively enumerable sets, Turing decidability, and unsolvable problems. Discusses the concept of reductions, time and space complexity classes, and the polynomial-time hierarchy. Prereq. CS 7800; computer science PhD students only.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7870 - Seminar in Theoretical Computer Science
Gives students the opportunity to read and present various survey and research papers in theoretical computer science. May be repeated for credit for PhD students; faculty supervisor and topics vary from semester to semester. Prereq. (a) CS 5800 or CS 7800 and (b) permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Seminar

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7880 - Special Topics in Theories of Computer Science
Covers various topics including advanced cryptography, approximation algorithms, computational algebra, formal verification, network algorithms, online computation, parallel computing, and randomness and computation. Prereq. (a) CS 5800 or CS 7800 and (b) permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Lecture

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7962 - Elective
Offers elective credit for courses taken at other academic institutions. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7976 - Directed Study
Focuses on student examining standard computer science material in fresh ways or new computer science material that is not covered in formal courses. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7978 - Independent Study
Offers independent work under the direction of members of the department on a chosen topic. Course content depends on instructor. Prereq. Permission of graduate director.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7990 - Thesis
Offers selected work with the agreement of a project supervisor. Prereq. Permission of graduate director.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 7994 - Thesis Continuation—Part Time
Offers continued thesis work conducted under the supervision of a departmental faculty. Prereq. CS 7990 and permission of graduate director.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Part-time Status

CS 7996 - Thesis Continuation
Offers continued thesis work conducted under the supervision of a departmental faculty. Prereq. CS 7990 and permission of graduate director.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 8674 - Master’s Project
Offers selected work with the agreement of a project supervisor. Prereq. Permission of instructor.
4.000 Credit hours
4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 8949 - Research Work Experience
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. Prereq. Permission of instructor.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Off-campus instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 8960 - Exam Preparation—Doctoral
Offers the student the opportunity to prepare for the PhD qualifying exam under faculty supervision. Prereq. Permission of advisor.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 8964 - Co-op Work Experience
Provides eligible students with an opportunity for work experience. Prereq. Permission of advisor.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 8982 - Readings
Offers selected readings under the supervision of a faculty member. Prereq. Permission of instructor.
4.000 OR 8.000 Credit hours
4.000 OR 8.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 8984 - Research
Offers an opportunity to conduct research under faculty supervision. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 8986 - Research
Offers an opportunity to conduct full-time research under faculty supervision. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 9000 - Comprehensive Exam
Indicates successful completion of the doctoral comprehensive exam. Prereq. Permission of instructor.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 9984 - Research
Offers an opportunity to conduct research under faculty supervision. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science

CS 9986 - Research
Offers an opportunity to conduct full-time research under faculty supervision. Prereq. Permission of instructor.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 9990 - Dissertation
Offers selected work with the agreement of a thesis supervisor. Prereq. Permission of instructor; computer science students only.
2.000 TO 4.000 Credit hours
2.000 TO 4.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status

CS 9996 - Dissertation Continuation
Continues work with the agreement of a thesis supervisor. Prereq. CS 9990 and permission of instructor.
0.000 Credit hours
0.000 Lecture hours

Levels: Graduate
Schedule Types: Individual Instruction

Computer Science Department

Course Attributes:
GSCS Computer & Info Science, Full-time status


Return to Previous New Search XML Extract
Transparent Image
Skip to top of page
Release: 8.5.4