May 19, 2024  
2017-2018 Graduate Catalog 
    
2017-2018 Graduate Catalog [ARCHIVED CATALOG]

Course Descriptions


 

Environmental Engineering

  
  • ENCE 651 - Water Resource Systems Analysis

    [3]
    The focus of this course is the application of mathematical optimization techniques to the management of water resource systems. Case studies include water quality control, groundwater remediation design, reservoir operation and operation of water distribution systems.
  
  • ENCE 654 - Water in the Urban Environment

    [3]
    This course is designed for first-year graduate students who have been awarded Integrative Graduate Education Research and Training (IGERT) fellowships on the theme of “Water in the Urban Environment” and is intended to provide an overview of topics related to the broad themes of the program. The syllabus will focus on the environmental, engineering, economic, and policy aspects of water management in urban areas and will address the impacts of urban development on hydrology, geomorphology, water quality and aquatic ecology. The course is team-taught by faculty from Geography and Environmental Systems, Civil and Environmental Engineering, Economics, and Public Policy. There will be several field trips outside of regularly scheduled class time.
    Prerequisite: Prerequisite: permission of instructor.
  
  • ENCE 656 - Research Design for the Urban Environment

    [3]
    This is a core course in the IGERT “Water in the Urban Environment” program. Topics include the following: What are the valid and feasible research questions for different kinds of projects? What are the assumptions, conceptual models and research approaches associated with different disciplinary perspectives? What are the key requirements for successful interdisciplinary research? What themes and trends will be important in the near future in interdisciplinary environmental research focusing on urban environment and water resources? Students will work individually and as members of interdisciplinary teams to present case studies, analyze journal articles and grant proposals, educate other students about their own disciplinary perspective, terminology, and methods, and develop research plans in response to an example RFP addressing an urban water-related problem. Each team will prepare written documents and will present and defend its work to the faculty and other IGERT students.
  
  • ENCE 658 - Modeling and Spatial Statistics with Applications in the Urban Environment

    [3]
    The goal of this course is to provide students with knowledge of mathematical models for the urban environment from various disciplinary perspectives, and how such models might be coupled to address urban water problems. Simple models from the fields of environmental contaminant transport, economics, and ecology will be used as examples. Material covered will include time series analysis and geostatistical analysis of spatially distributed data in the physical, biological, and social sciences. The course will highlight challenges of the interdisciplinary perspective, including (1) space and time scales of concern to different disciplines; (2) issues with uncertainty in data and models; and (3) examples of models that are available to the different disciplines. The course will include hands-on exercises and the challenge for students to combine models from different disciplines.
  
  • ENCE 660 - Air Pollution

    [3]
    The objective of this course will be to provide an introduction to the sources, chemistry and fate of airborne pollutants. In general, it will be broken into three parts: sources and dispersion processes, gas-phase chemistry and particulate-phase chemistry. The focus will be on the urban atmosphere, but as some pollutants have impacts well beyond their source region some discussion of global cycles will be appropriate. The course should provide a general introduction to atmospheric chemistry including both gas-phase and particulate-phase processes.
    Prerequisite: Prerequisites: CHEM 101, CHEM 102 or equivalent, MATH 225.
  
  • ENCE 699 - Environmental Engineering Independent Study

    [1-6]
  
  • ENCE 701 - Special Topics in Environmental Engineering

    [1-3]
  
  • ENCE 799 - Master’s Thesis Research

    [2-9]
    Master’s thesis research under the direction of a faculty member.
    Note: Six credit hours are required for the M.S.
  
  • ENCE 888 - Graduate Environmental Engineering Seminar

    [1]
    This purpose of this course is to expose students to a wide variety of topics in environmental engineering, science and policy. The course meets once per week with an invited speaker giving the lecture. Students write a summary and critical review of the lecture. The course is offered pass/fail only. The course is offered every semester and may be repeated for credit.
  
  • ENCE 898 - Pre-Candidacy Doctoral Research

    [3-9]
    Research on the doctoral dissertation conducted under the direction of a faculty advisor before candidacy.
  
  • ENCE 899 - Doctoral Dissertation Research

    [9]


    Research on doctoral dissertation is conducted under direction of faculty advisor.

     
    Prerequisite: Admission to Doctoral Candidacy Required
    Note: A minimum of 18 credit hours are required. This course is repeatable.


Computer Engineering

  
  • CMPE 605 - Applied Linear Algebra

    [3]
    This course introduces linear algebra concepts and algorithms that are used in Electrical and Computer Engineering with examples.  The algorithms, their applications, and practical limitations are illustrated using Matlab®.  Topics include:  vectors and matrices, solution of algebraic equations, Gauss-Jordan elimination, LU and Cholesky factorization, sparse matrices and sparse matrix routines, vector spaces, metric spaces, inner product spaces, determinants, determinants, singular value decomposition, least square methods and QR factorization, eigen problems and their solutions, linear programming geometries, simplex methods, inner point methods.
    Course ID: 100154
    Linked with/Also listed as ENEE 605
    Components: Lecture
    Grading Method: R, P/F
  
  • CMPE 611 - Advanced Computer Architecture

    [3]
    Topics include Memory-system design, advanced pipeline structures, instruction-level parallelism, compiler-assisted optimization, multi-processor architecture, interconnection network, advances storage systems. Within each topic, the emphasis is on quantitative evaluation and fundamental issues, e.g., data and control dependence, memory bandwidth, reliability, and coherence of distributed storage.
    Course ID: 052987
    Prerequisite: Prerequisite: CMSC 411 or consent of instructor.
    Components: Lecture
  
  • CMPE 640 - Custom VLSI Design

    [3]
    This course introduces the CMOS VLSI design process and focuses on design at the circuit and physical levels. Students design, implement, fabricate and test basic logic gates and other VLSI structures such as adders and multipliers using computeraided design tools and laboratory test and measurement equipment. Basic layout and simulation techniques are covered in addition to CMOS processing technology, MOS transistor theory, performance estimation, CMOS design styles, VLSI structures and timing issues. The Verilog hardware description language is used in the laboratories.
  
  • CMPE 641 - Topics in VLSI

    [3]
    This course is focused on the design, implementation, fabrication and testing of a large VLSI chip. Advanced CMOS design topics are covered including BiCMOS and dynamic logic circuits. system-level design entities such as ALUs, Register Files, Functional Units, Controllers, and clock and power distribution schemes. The Verilog high-level description language and high-level synthesis tools are also covered as well as Design-For-Testability design issues. Students work in groups of four to design, implement and test a CMOS implementation of a system level design entity such as a microprocessor
    Course ID: 052852
    Prerequisite: Prerequisite: CMPE 640
    Components: Lecture
    Grading Method: R, P/F
  
  • CMPE 645 - Computer Arithmetic Algorithms and Implementations

    [3]
    Introduction to arithmetic, unconventional fixed-radix number systems, sequential algorithms for multiplication and division, binary floating point numbers, fast addition and multiplication, fast division and square root, evaluation of elementary functions (polynomial/rational function methods as well as CORDIC), logarithmic and residue number representations. Other topics are covered in articles from current literature in the area.
    Course ID: 052854
    Components: Lecture
    Grading Method: R, P/F
  
  • CMPE 646 - VLSI Design Verification and Test

    [3]
    This course covers the design verification and testing processes applied to VLSI digital integrated circuits. Design and hardware level testing and failure analysis processes are examined in detail. Hardware testing concepts covered include fault modeling, fault simulation, automatic test pattern generation (ATPG), functional test, logic and parametric testing techniques. Built-in self-test, design for testability, sequential test generation issues are also examined. Commercial computer aided verification and ATPG tools are used to generate tests on existing designs.
    Course ID: 052855
    Corequisite: Corequisite: CMPE 640
    Components: Lecture
    Grading Method: R, P/F
  
  • CMPE 647 - Analog Integrated Circuit Design

    [3]
    The course covers basic fundamentals of analog circuit design as they pertain to IC design, as well as fundamental electronic design topics. The focus will be on MOSFET technology, but BJTs will also be discussed. Topics will include MOS and bipolar transistor devices along with models and physical layout in ICs, current mirrors, single-transistor amplifiers, frequency response, differential amplifiers, feedback and stability, references, and noise analysis.
    Course ID: 100684
    Faculty: Ryan Robucci
    Components: Lecture
    Grading Method: Regular
  
  • CMPE 650 - Digital Systems Design

    [3]
    This course covers practical and theoretical aspects necessary to design high-speed digital systems. Topics include transmission line theory, cross-talk and non-ideal transmission line effects on signal quality and timing, impact of packages, vias and connectors on signal integrity. Other issues covered include non-ideal return paths, simultaneous switching noise, power delivery, buffer modeling and digital timing analysis. Linux device driver design and implementation will also be covered.
  
  • CMPE 670 - Biomedical Microsystems

    [3]
    This course provides graduate electrical and computer engineering students an in-depth knowledge of the growing and highly multidisciplinary field of biomedical microsystems (BioMEMS) and biosensors. This course covers current microsystems and biosensors under development. Emphasis will be placed on how they operate and under what circumstanced they can be useful. Recurring themes will be the biological instrumentation design and techniques and the detection of blood glucose, because of their importance on current medical practice. Self-learning, gaining knowledge through team interactions and laboratory projects will be emphasized in this course.
    Prerequisite: Prerequisities: Graduate Standing or CMPE 306 and 310.
  
  • CMPE 684 - Wireless Sensor Networks

    [3]
    This course provides a broad coverage of challenges and latest research results related to the design and management of wireless sensor networks. Covered topics include network architectures, node discovery and localization, deployment strategies, node coverage, routing protocols, medium access arbitration, fault-tolerance, and network security.
  
  • CMPE 685 - Principles of Communications Networks

    [3]
    This course provides an overview of network communications terms, concepts, architectures, protocols, and technologies. Upon completion of the course, students will be able construct, and assess the completeness of, architectures for simple LAN and WAN communications networks. Topics include wire/fiber and wireless WANs and LANs, the OSI and TCP/IP models, propagation media, analog and digital data and signals, error detection, error correction, data link layer protocols, multiple access techniques, medium access control, circuit and packet switching, X.25, TCP/IP, ATM, Ethernet, switches, routers, routing techniques, congestion control, queuing theory, quality of service (QoS) metrics, network architectures, and network security.
  
  • CMPE 691 - Special Topics in Computer Engineering

    [1-3]
    A set of CMPE 691 courses, on various Computer Engineering specialized topics, are typically offered each semester.
  
  • CMPE 698 - Research Project in Computer Engineering

    [1-3]
    Individual projects on a topic in Computer Engineering. The project will result in a scholarly paper, which must be approved by the student’s research advisor and read by another graduate faculty member. Required for non-thesis M.S. students. Note: May be taken for repeated credit up to a maximum of three credits.
    Prerequisite: Prerequisite: Completion of the core and breath courses or consent of advisor.
  
  • CMPE 699 - Independent Study in Computer Engineering

    [1-3]
    Independent study work will consist of individualized research work with a faculty member.
  
  • CMPE 791 - Advanced Topics in Computer Engineering

    [3]
    CMPE 791 will allow the computer engineering faculty to teach advanced level [700 level] courses in their areas of expertise.
  
  • CMPE 799 - Master’s Thesis Research

    [2-9]
    This course is for students in the CMPE master’s program who are engaged in master’s thesis research.
    Prerequisite: Prerequisite: Open only to CMPE thesis-option students.
    Note: May be taken for repeated credits, but a maximum of six credit hours may be applied toward master’s thesis-option requirements.
  
  • CMPE 800 - Graduate Research

    [1-6]
  
  • CMPE 898 - Pre-Candidacy Doctoral Research

    [3-9]
    Research on doctoral dissertation conducted under the direction of a faculty advisor before candidacy.
  
  • CMPE 899 - Doctoral Dissertation Research

    [9]
    Research on doctoral dissertation is conducted under direction of faculty advisor.
    Prerequisite: Admission to Doctoral Candidacy Required
    Note: A minimum of 18 credit hours are required. This course is repeatable.

Computer Science

  
  • CMSC 601 - Research Skills for Computer Scientists

    [3]
    In this course, students will learn basic skills that are essential to becoming a successful researcher. The objective of the course is to teach research skills in a systematic fashion early in a student’s graduate program. The core of the course is a structured, supervised research project on a topic of the student’s choice. Additional lecture topics include writing and presentation skills, research methodology, experimental design, career options, professional ethics and academic integrity, and oral and written presentation techniques.
  
  • CMSC 603 - Advanced Discrete Structures

    [3]
    Introduction to the fundamental concepts and techniques of discrete mathematics that are essential for the study of computer science. The main goal of this course is to develop mathematical skills and sophistication for proving theorems, solving problems, and counting and approximating values. Topics include sets; elementary logic; numbers; functions and relations; summations; generating functions; elementary number theory; elementary probability, statistics and combinatorics (e.g. Burnside’s Lemma); and introduction to algebraic systems, including groups and applications of these topics in computer science.
    Prerequisite: Prerequisites: MATH 152, MATH 221 and at least one math course beyond linear algebra.
  
  • CMSC 608 - Graduate Seminar

    [0]
  
  • CMSC 611 - Advanced Computer Architecture

    [3]
    Memory-system design, advanced pipeline structures, instruction-level parallelism, compiler-assisted optimization, multi-processor architecture, interconnection network, advances storage systems. Within each topic, the emphasis is on quantitative evaluation and fundamental issues, e.g., data and control dependence, memory bandwidth, reliability, and coherence of distributed storage.
    Prerequisite: Prerequisite: CMSC 411 or consent of instructor.
  
  • CMSC 615 - Introduction to Systems Engineering and Systems Architecting

    [3]
    The course provides an introduction to systems engineering and systems architecture with an emphasis on software/communications systems. It introduces systems engineering activities, artifacts and milestones, as well as key systems engineering-related references and tools. Although the course focuses principally on requirements elaboration and analysis, design synthesis and architecture modeling (DOD architecture framework, structured analysis, UML and SysML) and requirements document development and traceability, other topics include: life cycle models, DOD acquisition process, systems engineering process, quality management systems engineering planning and team-building, configuration management, risk management, technical performance measures, analysis and simulation, design and development, verification, validation and testing. Homework and exams are designed to provide the opportunity to practice the concepts learned in class.
    Prerequisite: Prerequisites: B.S. in Computer Science, Information Systems or consent of instructor.
  
  • CMSC 618 - System Implementation, Integration and Test

    [3]
    This is a second-semester, required, graduate course for the systems engineering (SE) track within the M.S.E.E. program that covers the conversion of a design into product elements, integration of these elements into a system and verification that the resulting system performs properly in its operational environment. The course will address: (1) the systems engineer’s role in the product development organization; (2) processes used to manage product teams, technical budgets, baselines and schedules during product development; (3) integration methodologies and techniques for avoiding or resolving interface issues; and (4) types and methods of product testing. The goal of this course is to acquaint the EE graduate student with an understanding of the processes by which complex aerospace, information or other industry systems are built and tested by integrating the efforts of a large product team encompassing many engineering specialties, and the methods used for technical management of this team and the resulting product. Specific processes depend on the development environment and the product customer. This course emphasizes aerospace and information systems.
    Prerequisite: Prerequisites: ENEE 660  and ENEE 661  or consent of instructor.
  
  • CMSC 621 - Advanced Operating Systems

    [3]
    This course studies advanced topics in the broad field of operating systems and distributed systems, including architectures of distributed operating systems, foundations of distributed operating systems, synchronization, scheduling, deadlocks handling, consistency and replication, fault tolerance and reliability, file systems and storage management, shared memory, and security.
    Prerequisite: Prerequisite: CMSC 421 or permission of the instructor.
  
  • CMSC 625 - Modeling and Simulation of Computer Systems

    [3]
    Performance evaluation methods, Markovian queuing models, open networks of queues, closed product form queuing networks, simulation and measurement of computer systems, benchmarking and workload.
    Prerequisite: Prerequisite: CMSC 411, CMSC 421 or consent of instructor.
  
  • CMSC 626 - Principles of Computer Security

    [3]
    This course will provide an introduction to computer security with a specific focus on the computing aspects. Topics covered include: basics of computer security, including an overview of threat, attack and adversary models; social engineering; essentials of cryptography; traditional computing security models; malicious software; secure programming; operating system security in practice; trusted operating system design; public policy issues, including legal, privacy and ethical issues; network and database security overview.
  
  • CMSC 628 - Introduction to Mobile Computing

    [3]
    This course will introduce students to the techniques and research issues involved with mobile computing, which deals with access to the networked information and computation resources from wirelessly connected palmtop/laptop devices. Topics covered deal with both networking (MAC protocols, ad-hoc routing and mobile IP) and data management (proxy-based systems, mobile DBMS, mobile transactions, sensor networks and stream data) issues.
  
  • CMSC 631 - Principles of Programming Languages

    [3]
    A comparison of three types of modern programming languages: assertive, functional and logic-based. Fundamental semantic methods, including operational, axiomatic and denotational semantics, and corresponding techniques for program verification, including Hoare’s logic, Dijkstra’s predicate transformers and denotational methods.
    Prerequisite: Prerequisite: CMSC 331 or consent of instructor.
  
  • CMSC 634 - Computer Graphics

    [3]
    An introduction to the fundamentals of interactive computer graphics. Topics include graphics hardware, line drawing, area filling, clipping, two-dimensional and three-dimensional geometrical transforms, three-dimensional perspective viewing, hidden-surface removal, illumination, color and shading models.
  
  • CMSC 635 - Advanced Computer Graphics

    [3]
    A study of advanced topics in computer graphics emphasizing algorithms for display of 3D objects, including wireframe representation, polygon mesh models, shading algorithms, parametric representation of curves, hidden surface elimination, fractals and ray tracing. Other topics include advanced topics from the computer graphics literature, page description languages, CORE, GKS, PHIGS, CGI, the X window system, X window intrinsics, Motif and widget programming.
    Prerequisite: Prerequisite: CMSC 435, CMSC 634  or consent of instructor.
  
  • CMSC 636 - Data Visualization

    [3]
    This course addresses the theoretical and practical issues in creating visual representations of large amounts of data. It covers the core topics in data visualization: data representation, visualization toolkits, scientific visualization, medical visualization, information visualization and volume rendering techniques. Additionally, the related topics of applied human perception and advanced display devices are introduced. Open to computer science students with a background in computer graphics or students in data-intensive fields and a familiarity with computers for data collection, storage or analysis.
    Prerequisite: Prerequisite: CMSC 435, CMSC 634  or consent of instructor.
  
  • CMSC 641 - Design and Analysis of Algorithms

    [3]
    A study of advanced topics and techniques in discrete algorithms. Assumes student has a solid preparation in undergraduate algorithms (including asymptotic notations, recurrences, divide-and-conquer, greedy algorithms, dynamic programming, and fundamental graph algorithms). Core topics include probabilistic and amortized analysis, network flow, NP-completeness, and parallel algorithms. Selected topics might include: linear programming, computational geometry, randomized algorithms, cryptographic algorithms, and approximation algorithms.
    Prerequisite: Prerequisite: CMSC-441 or equivalent or consent of instructor.
  
  • CMSC 643 - Quantum Computation

    [3]
    The course begins with a brief overview of those topics in quantum mechanics and mathematics needed to understand quantum computation. It then will focus on quantum algorithms, covering such topics as quantum superposition and quantum entanglement, quantum decoherence, quantum teleportation, quantum Turing machines, Shor’s algorithm, Grover’s algorithm, Hallgren’s algorithm, quantum information theory, quantum data compression, quantum cryptographic protocols, quantum error-correcting codes and implementation issues. Various research-level problems will be discussed.
    Prerequisite: Prerequisite: CMSC 641 , CMSC 651  or consent of instructor.
  
  • CMSC 644 - Information Assurance

    [3]
    Selected recent research topics in information assurance, such as social engineering, buffer overflow, malicious code, spyware, denial of service, information warfare, computer forensics, recovery and response, enterprise security, clandestine channels and emissions security, security analysis, security models and formal techniques, best practices and national policy for information assurance. This course will minimize discussion of intrusion detection, firewalls, operating systems security and mathematical cryptology, which are emphasized in other CMSC security courses.
    Prerequisite: Prerequisite: CMSC 421, CMSC 441 and CMSC 481 or consent of instructor
  
  • CMSC 645 - Advanced Software Engineering

    [3]
    Modern approaches to software development: requirements analysis, system design techniques, formal description techniques, implementation, testing, debugging, metrics, human factors, quality assurance, cost estimation, maintenance and tools.
    Prerequisite: Prerequisite: CMSC 445 or consent of instructor.
  
  • CMSC 651 - Automata Theory and Formal Languages

    [3]
    This course begins with a quick review of basic automata theory (regular languages and finite automata, context-free languages and pushdown automata) then moves on to an in-depth treatment of Turing machines and computability. Advanced topics might include an introduction to recursion theory and basic computational complexity theory.
    Prerequisite: Prerequisite: CMSC 451 or equivalent or consent of instructor.
  
  • CMSC 652 - Cryptography and Data Security

    [3]
    Conventional and public-key cryptography. Selected cryptosystems, including DES and RSA. Digital signatures, pseudo-random number generation, cryptographic protocols and cryptanalytic techniques. Applications of cryptography to e-commerce.
    Prerequisite: Prerequisites: CMSC 441 and MATH 221 or consent of instructor.
  
  • CMSC 653 - Coding Theory and Applications

    [3]
    An introduction to the theory of error-correcting codes, with an emphasis on applications and implementations. Shannon’s theorems, bounds on code weight distributions, linear codes, cyclic codes, Hamming and BCH codes, linear sequential circuits and encoding/decoding algorithms. Other topics may be drawn from Goppa, Reed Solomon, QR codes, non-linear codes and convolutional codes.
  
  • CMSC 655 - Numerical Computations

    [3]
    Numerical algorithms and computations in a parallel processing environment. The architecture of supercomputers, vectorizing compilers and numerical algorithms for parallel computers.
    Prerequisite: Prerequisites: CMSC 411 and MATH 221 or consent of instructor.
  
  • CMSC 656 - Symbolic and Algebraic Processing

    [3]
    Applications and foundations of symbolic algebra. Applications and examples are studied using at least one large symbolic algebra package. Symbolic algebra combines elements of AI, analysis of algorithms and abstract algebra. Foundations include problems of representation, canonical and normal forms, polynomial simplification, Buchberger’s algorithm, G.C.D. in one and several variables, panic methods and formal methods for integration.
    Prerequisite: Prerequisites: CMSC 203 and CMSC 341 or consent of instructor.
  
  • CMSC 657 - Networks and Combinatorial Optimization

    [3]
    Graph theoretic concepts, uni-modular matrices, transportation problems, minimum-cost network flows, maximal flows in networks, shortest-path algorithms, spanning three problems, multi-commodity flows and decomposition algorithms, assignment and matching problems, computational complexity of algorithms matroid theory and nonlinear network minimization.
    Prerequisite: Prerequisite: CMSC 641  or consent of instructor.
  
  • CMSC 661 - Principles of Database Systems

    [3]
    Advanced topics in database management systems: data models and their underlying mathematical foundations, database manipulation and query languages, functional dependencies, physical data organization and indexing methods, concurrency control, crash recovery, database security and distributed databases.
    Prerequisite: Prerequisite: CMSC 461 or consent of instructor.
  
  • CMSC 665 - Introduction to Electronic Commerce

    [3]
    This course focuses on the use of electronic means to pursue business objectives. Special emphasis is placed on students’ ability to do research into existing and emerging technology and to summarize and present their findings clearly. The first part of the course is devoted to enabling technologies, including an introduction to business models for e-commerce and basic infrastructure, an overview of networking technologies and their impact on e-commerce and discussions on database technologies and Web-database connectivity. The second part of the course concentrates on the issues that are not solely technical, such as trust management, privacy and personalization, selling information products, copy protection and the digital divide.
  
  • CMSC 666 - Electronic Commerce Technology

    [3]
    This course is designed to prepare students to be e-commerce developers. It introduces the students to the changing and competitive landscape of e-commerce technology, products and solutions. The course begins with an introduction to WWW technology, an overview of Web applications and services, discussions on networking technologies with the view toward mobile and wireless commerce, object orientation and Web programming. It also covers Java language and relational databases; database-Web connectivity; interprocess communications in a distributed environment, concentrating on Java RMI and CORBA technologies, JavaScript, dynamic HTML, XML and its applications and component programming with JavaBeans and WebServer servlet architecture. The second part of the course explores the theoretical underpinnings of decision support systems, provides an overview of Web mining and commercial decision support products for e-commerce and introduces the student to agent technology and agent-driven e-commerce.
  
  • CMSC 668 - Service Oriented Computing

    [3]
    This course addresses the revolutionary concepts of service-oriented architectures (SOA) and Cloud Computing for web service applications arising in science, engineering and commerce. Service oriented computing is a style of loosely coupled multi-tier computing that helps organizations share logic and data among multiple applications and usage modes. The basic suite of web service protocols are presented for invoking autonomic computer-to-computer interactions. A brief introduction to parallel computing principles and languages such as MPI and the Cloud Computing Map Reduce paradigm will be presented. High-end clusters will be available for student projects as well as a tiled hyperwall for visualization services.
    Prerequisite: Prerequisites: CMSC 341 & CMSC 421.
  
  • CMSC 671 - Principles of Artificial Intelligence

    [3]
    A study of topics central to artificial intelligence, including logic for problem-solving, intelligent search techniques, knowledge representation, inference mechanisms, expert systems and AI programming.
    Prerequisite: Prerequisite: CMSC 471 or consent of instructor.
  
  • CMSC 673 - Introduction to Natural Language Processing

    [3]
    Natural language processing (NLP) was the first non-numerical application of computing more than 50 years ago. The computers must be able to understand and generate texts. The course will introduce students to the fundamental problems, basic methods and the most important application of NLP.
    Prerequisite: Prerequisites: CMSC 313, knowledge of LISP or consent of instructor.
  
  • CMSC 675 - Introduction to Neural Networks

    [3]
    A comprehensive study of fundamentals of neural networks. Topics include feed forward and recurrent networks; self-organizing networks and thermodynamic networks; supervised, unsupervised and reinforcement learning; and neural network application in function approximation, pattern analysis, optimization and associative memories.
  
  • CMSC 676 - Information Retrieval

    [3]
    This course is an introduction to the theory and implementation of software systems designated to search through large collections of text. This course will have two main thrusts. The first is to cover the fundamentals of IR: retrieval models, search algorithms and IR evaluation. The second is to give a taste of the implementation issues through the construction and use of a text search engine.
    Prerequisite: Prerequisite: CMSC 341.
  
  • CMSC 677 - Agent Architecture and Multi-Agent Systems

    [3]
    Fundamental techniques for developing intelligent agents and multi-agent systems, including cognitive, logic-based, reactive, and belief-desire-intention architectures; inter-agent communication languages and protocols; distributed problem-solving, planning and constraint satisfaction methods; distributed models and rational behavior; and learning and adaptation in multi-agent systems.
    Prerequisite: Prerequisite: CMSC 671  or consent of instructor.
  
  • CMSC 678 - Introduction to Machine Learning

    [3]
    This course will cover fundamental concepts, methodologies, and algorithms related to machine learning, including the following: decision trees, perceptrons, logistic regression, linear discriminant analysis, linear and non-linear regression, basis functions, support vector machines, neural networks, genetic algorithms,
  
  • CMSC 679 - Introduction to Robotics

    [3]
    Fundamental concepts, methodologies and algorithms related to autonomous mobile robotics, touching on mechanical, motor, sensory, perceptual and cognitive aspects of the problem of building robots that move and decide what to do on their own. Specific topics covered include legged and wheeled location, kinematic models and constraints, mobile robot maneuverability, motion control, sensors and sensing, perception, localization, belief representations, map representations, probabilistic map-based localization, autonomous map building, planning, reacting and navigation architectures.
  
  • CMSC 681 - Advanced Computer Networks

    [3]
    In-depth coverage of fundamental and advanced concepts in computer networking: protocol design, verification and testing; medium access protocols for next-generation networks; error detection and correction schemes; distributed routing algorithms concepts and mathematical analysis; switching architectures; quality-of- service architectures; admission control and scheduling algorithms; flow and congestion control; multi-cast architectures and protocols; network security; and data compression.
    Prerequisite: Prerequisite: CMSC 481 or consent of instructor.
  
  • CMSC 682 - Networking Technologies

    [3]
    Topics in networking technologies, including ISDN, ATM/B-ISDN, frame relay, SMDS, routing protocols, IP security, mobile-IP, network management, IP switching, IP/ATM integration and wireless protocols.
    Prerequisite: Prerequisite: CMSC 681  or consent of instructor.
  
  • CMSC 683 - Computer Network Architecture

    [3]
    Topics central to designing and developing of advanced computer communication network architectures, including distributed and failsafe routing in large and dynamic networks, gateways and interconnection of heterogeneous networks, flow control and congestion avoidance techniques, computer and communication security, communication protocol standards, Internet architecture and protocols and converged networks and architectures.
    Prerequisite: Prerequisite: CMSC 481, CMSC 621  or consent of instructor.
  
  • CMSC 684 - Wireless Sensor Networks

    [3]
    Topics central to designing and developing of advanced computer communication network architectures, including distributed and failsafe routing in large and dynamic networks, gateways and interconnection of heterogeneous networks, flow control and congestion avoidance techniques, computer and communication security, communication protocol standards, Internet architecture and protocols and converged networks and architectures. Prerequisite: CMSC 481, CMSC 621  or consent of instructor.
  
  • CMSC 685 - Optical Network Architectures and Protocols

    [3]
    Optical wavelength division multiplexed (WDM) networks: basic optical devices, optical LANs and multiple-access protocols, optical switching architectures, optical WANs and wavelength-routed networks, virtual topology design, routing protocols and algorithms, wavelength conversion, protection and restoration mechanisms, grooming, testbeds and protocol performance analysis tools.
    Prerequisite: Prerequisite: CMSC 681  or consent of instructor.
  
  • CMSC 687 - Introduction to Network Security

    [3]
    The objective of this course is the teach the fundamental concepts, architectures and protocols related to network security. Topics covered include: overview of network security; basics of cryptography; threat models; authentication and authorization mechanisms and standards; public key infrastructure; electronic mail security; network layer security; transport layer and web security; packet filtering, firewalls, intrusion detection, and virtual private networks; recent topics in network security.
    Prerequisite: Prerequisites: CMSC 341 and CMSC 481.
  
  • CMSC 691 - Special Topics in Computer Science

    [1-3]
    A set of CMSC 691 courses on various specialized computer science topics are typically offered each semester.
  
  • CMSC 696 - Independent Study for Interns and Co-Op Students

    [1-3]
    Independent study related to internship and co-op opportunities in computer science. Consent of instructor required.
  
  • CMSC 698 - Project in Computer Science

    [1-3]
    Individual project on a topic in computer science. The project will result in a scholarly paper, which must be approved by the student’s advisor and be read by another faculty member.
    Prerequisite: Prerequisite: Completion of breadth courses or consent of the advisor.
    Note: Required of non-thesis master’s students. May be repeated up to a maximum of three credits.
  
  • CMSC 699 - Independent Study in Computer Science

    [1-4]
    Independent study work will consist of individualized research work with a faculty member.
  
  • CMSC 721 - Theory of Processes

    [3]
    Milner’s calculus of communicating systems (CCS), Hoare’s communicating sequential processes (CSP) and Kahn’s applications of fixpoint theory to communicating processes.
    Prerequisite: Prerequisite: CMSC 621 , CMSC 631 , CMSC 681  or consent of instructor.
  
  • CMSC 731 - Semantics of Programming Languages

    [3]
    The fundamentals of axiomatic and denotational semantics, their corresponding techniques for program specification and verification. Axiomatic methods include Hoare’s logic and Dijkstra’s predicate transformers. Denotational methods include fixpoint theory and an introduction to the lambda calculus. Denotational methods are used to prove the soundness of selected axiomatic proof rules.
    Prerequisite: Prerequisite: CMSC 631  or consent of instructor.
  
  • CMSC 741 - Theory of NP-Completeness

    [3]
    An in-depth study of the classes P and NP, along with the concepts of reducibility and completeness. NPcomplete problems are surveyed, and reduction techniques are examined in greater detail. An important goal is to develop skill at proving problems NP-complete.
    Prerequisite: Prerequisite: CMSC 641  or consent of instructor.
  
  • CMSC 742 - Parallel Algorithms and Complexity

    [3]
    Models of parallel computation and methods for the representation of parallel algorithms are presented. Measures of parallel complexity and techniques for analyzing algorithms with respect to these new measures and parallel complexity classes, such as NC, are studied.
    Prerequisite: Prerequisite: CMSC 641  or consent of instructor.
  
  • CMSC 743 - Quantum Information Science

    [3]
    This course will begin with a brief review of quantum mechanics. It then will focus on quantum communication and quantum information, covering such topics as quantum noise and decoherence and quantum process tomography. Quantum error correction, quantum entropy, the Holevo bound, quantum data compression, quantum information over quantum channels, entanglement as a physical resource and advanced quantum cryptographic protocols. Various research-level problems will be discussed.
    Prerequisite: Prerequisite: CMSC 641 , CMSC 643  , CMSC 651 , CMSC 656  or consent of instructor.
  
  • CMSC 751 - Theory of Computation

    [3]
    This course is an examination of advanced topics in recursion/computability theory and computational complexity theory. Topics in recursion theory might include: the arithmetic hierarchy, oracles, priority methods, finite injury arguments and infinite injury arguments. Topics in computational complexity theory might include: sparse sets, the Polynomial Hierarchy, probabilistic complexity classes, circuit complexity, Kolmogorov complexity, interactive proofs and derandomization.
    Prerequisite: Prerequisite: CMSC 651  or consent of instructor
  
  • CMSC 761 - Theory of Relational Databases

    [3]
    An in-depth study of relational database theory. Topics include first-order logic, relational calculus and algebra, query languages, query optimization, functional and multi-valued dependencies, normal forms and concurrency control.
    Prerequisite: Prerequisite: CMSC 661  or consent of instructor.
  
  • CMSC 771 - Knowledge Representation and Reasoning

    [3]
    This course covers advanced issues in representing and reasoning with knowledge. Topics include determining features for and carrying out belief description; naive and logic-oriented approaches to the formal representation of knowledge; logic-based and economic-oriented reasoning mechanisms; statistical and probabilistic representations, and algorithms for implementing reasoning, decision-making and communication, including methods for dealing with incomplete, unsound or time-sensitive knowledge and limited computational resources.
    Prerequisite: Prerequisite: CMSC 671  or consent of instructor
  
  • CMSC 781 - Distributed Computing

    [3]
    Topics central to designing distributed computing systems, including distributed synchronization and resource sharing, concurrency control in distributed databases, distributed simulations, languages for distributed computing, proof techniques for distributed systems and distributed operating systems.
    Prerequisite: Prerequisites: CMSC 621  and CMSC 681  or consent of instructor.
  
  • CMSC 791 - Advanced Graduate Seminar

    [1-3]
    Topics central to designing distributed computing systems, including distributed synchronization and resource sharing, concurrency control in distributed databases, distributed simulations, languages for distributed computing, proof techniques for distributed systems and distributed operating systems.
    Prerequisite: Prerequisites: CMSC 621  and CMSC 681  or consent of instructor.
  
  • CMSC 799 - Master’s Thesis Research

    [1-6]
    This course is for students in the CMSC master’s program engaged in master’s thesis research.
    Prerequisite: Prerequisite: Open only to CMSC thesis-option students.
    Note: May be taken for repeated credits, but only a maximum of six credit hours may be applied toward master’s thesis-option requirements.
  
  • CMSC 891 - Advanced Special Topics

    [1-4]
  
  • CMSC 898 - Pre-Candidacy Doctoral Research

    [3-9]
    Research on doctoral dissertation conducted under the direction of a faculty advisor before candidacy.
  
  • CMSC 899 - Doctoral Dissertation Research

    [9]
    Research on doctoral dissertation is conducted under direction of faculty advisor.
    Prerequisite: Admission to Doctoral Candidacy Required
    Note: A minimum of 18 credit hours are required. This course is repeatable.

Cybersecurity

  
  • CYBR 620 - Introduction to Cybersecurity

    [3]
    This course introduces students to the interdisciplinary field of cybersecurity by discussing the evolution of information security into cybersecurity, cybersecurity theory, and the relationship of cybersecurity to nations, businesses, society, and people. Students will be exposed to multiple cybersecurity technologies, processes, and procedures learn how to analyze the threats, vulnerabilities and risks present in these environments, and develop appropriate strategies to mitigate potential cybersecurity problems.
  
  • CYBR 621 - Cyber Warfare

    [3]
    This course addresses some of the unique and emerging policy, doctrine, strategy, and operational requirements of conducting cyber warfare at the nation-state level. It provides students with a unified battlespace perspective and enhances their ability to manage and develop operational systems and concepts in a manner that results in the integrated, controlled, and effective use of cyber assets in warfare.
  
  • CYBR 622 - Global Cyber Capabilities and Trends

    [3]
    This course focuses on four general areas of cyber capabilities and trends in the global community: the theory and practice of cybersecurity and cyberwar; cyber capabilities of nation-states as well as non-state actors; trends in cyber-related strategies and policies; and cyber-related challenges facing the U.S. government. The course concludes with a national cybersecurity policy exercise that helps demonstrate the challenges and complexities of the dynamic and global cybersecurity environment.
  
  • CYBR 623 - Cybersecurity Law and Policy

    [3]
    Students will be exposed to the national and international policy and legal considerations related to cybersecurity and cyberspace such as privacy, intellectual property, cybercrime, homeland security (i.e., critical infrastructure protection) and cyberwarfare, and the organizations involved in the formulation of such laws and policies. Broader technology issues also are discussed to demonstrate the interdisciplinary influences and concerns that must be addressed in developing or implementing effective national cybersecurity laws and policies.
  
  • CYBR 624 - Cybersecurity Project

    [3]
    This is the capstone experience for graduate students in the M.P.S. Cybersecurity program. The Cybersecurity Project provides an opportunity for students to carry out an individual piece of research on a specified topic in the cybersecurity or cyber operations domain. This research should make an original contribution to the body of knowledge in the area of study or otherwise demonstrate the student’s comprehensive knowledge of cybersecurity or cyber operations.
    Prerequisite: Prerequisite: Completion of cybersecurity breadth courses.
  
  • CYBR 641 - Cybercrime Investigations

    3
    This course examines US and international cybercrime law, legal procedures, and best practices needed to conduct effective and evidentiary-compliant computer forensics activities (such as search and seizure, chain of custody, documentation, courtroom preparation, etc.) and the dedication to gather facts that can lead to prosecutable legal outcomes. Students will be introduced to these topics through required readings, case studies, in-class lecture, scholarly articles, judicial opinions and classroom discussions.
    Components: Lecture
    Grading Method: R
  
  • CYBR 642 - Introduction to Digital Forensics

    3
    This interactive hands-on course will provide an introduction to computer and network technical incident handling and forensics activities. Topics include disk and file system imaging and forensics, packet capture and analysis, basic malware examination, log file analysis, analysis of volatile data (such as RAM), the incident handling process, and more.
    Prerequisite: CYBR Forensics PBC enrollment and/or program approval (at least for the first year)
    Components: Lecture
    Grading Method: R
  
  • CYBR 643 - Advanced Digital Forensics

    3
    This hands-on course expands upon the theory and application of digital forensics activities to provide students intensive experience using well known publicly available, digital forensic tools. Students will perform a series of digital forensic examinations on fictitious evidence (hardware, network, mobile) that model real-world criminal activity with the goal of developing proficiency in forensic analysis techniques based on real-world scenarios.
    Prerequisite: CYBR 642 or program permission
    Components: Lecture
    Grading Method: R
  
  • CYBR 644 - Cyber Practitioner Development Lab

    [3]
    This course provides an opportunity for students to carry out applied technical cybersecurity activities that prepares them for professional certification examinations required by the cybersecurity industry. It allows students to put into supervised practice the theoretical concepts provided elsewhere in the CYBR curriculum. Course topics and syllabi will vary from semester to semester.  Pre-Requisites: CYBR MPS Enrollment and completion of CYBR 620.  Depending on the course(s) offered, additional technical or professional pre-requisites will be indicated.
  
  • CYBR 650 - Managing Cybersecurity Operations

    [3]
    This course is intended to provide managers and cybersecurity professionals with an understanding of how to plan, develop, manage, and implement cybersecurity programs in highly networked organizations. Topics include an evaluation of government and commercial security management models; security program development; risk assessment and mitigation; threat/vulnerability analysis and risk remediation; cybersecurity operations; cybersecurity incident handling; business continuity planning and disaster recovery; security policy formulation and implementation; large scale cybersecurity program coordination; management controls related to cybersecurity programs; cybersecurity management issues (i.e., staffing, professional development, etc.) information-sharing and privacy, legal, compliance, and ethical issues.
  
  • CYBR 652 - Enterprise Security

    [3]
    This class will take a technical approach in protection of information assets and systems by integrating technical controls with policies, best practices, and guidelines of cybersecurity. Taking both a policy-based and technical approach, this course examines external and internal security threats in highly connected enterprises and risks to the core business relative to people, processes, data, facilities, and technologies. How to implement and manage effective the major technical components of security architectures (firewalls, virtual private networks, etc.) and selected methods of attacking enterprise architectures also will be addressed.
    Components: Lecture
    Grading Method: R
 

Page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11Forward 10 -> 14