Special topics courses for graduate and undergraduate students are offered regularly, though offerings and course content may vary each semester. Our department uses CMPE/CMSC/ENEE 691 to designate special topics courses for graduate students and CMPE/CMSC 491 and 291 to designate special topics courses for undergraduate students. Courses are commonly cross-listed for undergraduates and graduates and offered as a combined section, though expectations for students are different for enrollment in CMPE/CMSC 491 versus CMPE/CMSC/ENEE 691. Course may be cross-listed with multiple departments or programs.
Undergraduate students seeking to enroll in a graduate courses require permission from the instructor unless already enrolled in a BS/MS program. Undergraduate students seeking to use a graduate courses towards their undergraduate degree, to fulfill or replace a program requirement, should submit a request to the appropriate undergraduate program director if not already enrolled in the BS/MS program.
The information provided below is for reference only and does not necessarily represent the official course description or requirements. For more information on the content, scope, or expected workload for any of these courses, please contact the instructor. Reference the UMBC course catalog for the current status of offerings.
Fall 2024
Hardware Design Verification (Verification Engineering)
CMPE 491
Instructor: Usmani, Afzal A
Prerequisite: CMPE 316
Meeting: TuTh 5:30 pm-6:45 pm
Description: This course covers system-level hardware design and verification methodologies. The features and syntax of SystemVerilog (SV) are introduced, and the use of SV constructs for efficient design and verification are covered. Students will gain appreciation for the role of modeling and verification in the design process, through exploration of verification at various levels including gate-level models, cycle-accurate RTL models, and transaction-level models. The course covers the universal verification methodology (UVM) and architecture for creating verification testbenches and facilitating reuse of components. It also introduces tools and methods for verification of models at various design levels, including formal equivalence checking, model checking, assertion-based verification, and constrained random stimulus generation. Assessing code and functional coverage, as well as metric-driven verification (MDV) is taught. Students will use industry-standard tools.
Previous Syllabus (subject to change): https://eclipse.umbc.edu/robucci/cmpeHDV/attachments/SyllabusCMPEHDVFall2023.pdf from https://eclipse.umbc.edu/robucci/cmpeHDV/
Robust Machine Learning
CMSC 491 / CMSC 691
Instructor: Tejas Gokhale
Description: Models that learn from data are widely and rapidly being deployed today for real-world use, but they suffer from unforeseen failures. This limits their applicability and poses serious risks. This course will explore the reasons for ML failure modes and state-of-the-art mitigation techniques.
The course has three parts:
- Part 1: Introduction and ML Refresher. (~2 lectures) The course will start with a brief overview of the fundamentals of the standard machine learning pipeline, neural network architectures, and training algorithms. We assume you’ve passed a university class in machine learning.
- Part 2: Robustness Challenges and Solutions. (~12 weeks) Every week, the first meeting will be a lecture where the instructor will introduce and motivate the problem statement for one robustness challenge. Every week, the second meeting will have a short quiz based on the first meeting, presentations by students on 3-4 papers that discuss solutions to the robustness challenge, followed by in-class discussions. We will study 12 robustness topics (list tentative): domain adaptation, domain generalization, OOD detection, adversarial and backdoor attacks, uncertainty and calibration, online/continual learning, unsupervised/self-supervised learning, test-time learning and adaptation, machine unlearning and model editing, ML interpretability, logic/neurosymbolic ML, robustness tradeoffs and model evaluation.
- Part 3: Invited Talks (1-2 lectures) External speakers will deliver invited talks as part of the class on recent advances and findings in robust machine learning. These talks will be delivered by researchers at the forefront of reliability, robustness, trust, and safety of ML systems.
https://courses.cs.umbc.edu/graduate/691rml/
Time and Frequency
CMPE 491 (2450), ENEE 691 (2451)
Instructor:
Gary Carter; carter@umbc.edu;
Curtis Menyuk; menyuk@umbc.edu;
Description: This course is designed to introduce some of the basic concepts needed to understand modern clocks which provide the basis for many modern applications including our GPS systems. Mathematical concepts needed for this course will be reviewed and will include sinusoids in the complex plane, phase, Fourier series, Fourier Transforms, correlation, and cross-correlation. These concepts will be applied to oscillators, frequency analysis, and noise. The course will include an experimental component that will be carried out during class time. The experiments are designed to illustrate the theoretical concepts. These experiments will be based on electronic circuits including simple oscillators. The grading for this course will be based on projects which will include theoretical exercises and lab reports for the experimental work.
Cybersecurity Research (INSuRE)
CMSC 491/691
Instructor: Alan T. Sherman
Meetings: Tues/Thurs 10am-11:15am in ILSB 237, plus some remote sessions Friday 1:30-3:30pm as needed for the common sessions
across all universities offering INSuRE.
Description: Working in a small group of at least two students, each
student will carry out a research project, under the guidance of a project mentor from NSA or a
national lab.
Each semester, approximately one dozen universities across the US participate in INSuRE. By
INSuRE central policy, enrollment will be limited to at most 20 students per university.
UMBC offers INSuRE once every two years. The next edition will be in fall 2026.
Each group carries out a standard or custom project. Mentors suggest standard projects, which embody a significant degree of flexibility to permit considerable customization. Any group that wishes to pursue a custom project must submit to me, and have approved, a written proposal
by August 1, 2024, prior to the beginning of the course. Each group must have at least two members, and at most five members (three is ideal). Collaborative research is an essential aspect of INSuRE; any student wishing to carry out solo research (group size one) is invited to register for independent study.
Each student must be able to carry out an original research project in cybersecurity. That does not necessarily mean that extensive background in cybersecurity is necessary or sufficient. Each student needs to be motivated and be able to learn what is needed. Each student requires some expertise in some relevant area. There will be a wide variety of suggested standard projects. It is helpful to have a basic CS background (e.g., 411, 421, and 441) and some cybersecurity experience (e.g., 426). But there are no absolute specific prerequisites, except willingness and ability to carry out original research in cybersecurity. It is not necessary that the student has taken all specified courses.
There will be an opportunity for INSuRE groups to apply for possible research support for summer 2025, to continue work on their project.
Learn more about INSuRE:
https://arxiv.org/pdf/1703.08859.pdf
https://caecommunity.org/initiative/insure
Graphics for Games
CMSC 691 (also CMSC 438)
Instructor: Marc Olano
Description: This course is an introduction to some of the computer graphics methods commonly used in 3D computer games, for both real-time rendering and offline preprocessing. Students will learn several common algorithms in each topic area with sufficient depth for implementation. We will be using the Unreal Engine as a basis for the class, so you will also learn details of how a large game engine is constructed, and how to find your way around a very large pre-existing program.
Data Fusion and Analysis Through Matrix and Tensor Decompositions
ENEE 718 Special Topics in Signal Processing
Instructor: Tülay ADALI
Class time and location: TuTh 4:00-5:15pm, ITE 231
In many fields today, multiple sets of data are readily available. These
might either be /multimodal data/ where information about a given
phenomenon is obtained through different types of acquisition techniques
resulting in datasets with complementary information but essentially of
different types, or /multiset data/ where the datasets are all of the
same type but acquired from different subjects, at different time
points, or under different conditions. Joint analysis of such data—its
fusion—promises a more comprehensive and informative view of the task
at hand, and, is at the heart of numerous problems across disciplines
including neuroscience, remote sensing, video analysis, atmospheric and
physical sciences to name a few. Since most often, very little prior
information is available about the relationship among the datasets,
data-driven methods have proven especially useful for data fusion. __
This course will introduce basic matrix and tensor decompositions as
well as main models introduced for fusion and analysis of single and
multiple datasets. We will emphasize methods that are statistically
motivated as well as those that are algebraic. The connections between
the two approaches, their applications in multiple domains, and model
choice for a given application will be emphasized.
Machine Learning for Wireless Communication
ENEE/CMPE/CMSC 691
Instructor: Seung Jun Kim
Time: TuTh 2:30-3:45PM
Description: Artificial Intelligence and Machine Learning (AI/ML) are expected to play pivotal roles in
the design and operation of next-generation wireless systems. In this course, we will
review key concepts in wireless communication and delve into up-to-date research
articles to understand the impact that AI/ML can have on wireless communication and
networking. Toward the end of the course, each student will create and work on a
research project for hands-on experience.
Topics:
- Review of wireless communication concepts
- Wireless channels
- Digital communication over wireless channels
- Digital communication in wideband fading
- Multi-user systems
- Multiple antenna communication
- Advanced topics
- Machine learning for wireless communication
- Radio environment maps
- AI/ML for modulation and coding
- AI/ML for equalization and OFDM
- AI/ML for multiantenna
- Cognitive radios
- Network optimization
Modern Regression with Math and Python
CMSC691/491
Instructor: Rajasekhar Anguluri
Description:This course offers a comprehensive introduction to contemporary ideas, methodologies, and advancements in modeling and solving regression and related problems. Regression analysis is fundamental across a range of fields, including statistical signal processing, machine learning, and data science.Our objective is to equip you with both a solid conceptual understanding and practical computational skills. You will gain insight into the mathematical principles underlying regression analysis and acquire hands-on experience using Python. Through formulating and solving problems in machine learning, statistics, and signal processing, you will develop a deep appreciation for the subject. The course also has a project component to explore a challenging topic of your choice related to the course material.
Syllabus: https://drive.google.com/file/d/1z7lhMyU-yoKE_3c5yVz7iIpYQZCi54dr/view?usp=sharing
Knowledge-powered NeuroSymbolic AI for Explainability, Interpretability, and Safety
CMSC 691
Instructor: Manas Gaur
Description: Neuro-Symbolic Artificial Intelligence: The State of the Art (By Hitzler and Saker): The book is an edited version of review papers from experts in Neurosymbolic AI covering graph neural networks, logics, planning, and natural language processing.
Imagine a world where AI not only understands human knowledge but seamlessly integrates it to solve complex problems in healthcare, crisis response, and beyond. This book explores the groundbreaking realm of Neurosymbolic AI, where cutting-edge infusion techniques and interdisciplinary insights pave the way for smarter, safer, and more transparent AI.
The black-box nature of statistical and generative AI has gained significant attention, but it requires greater explainability and safety, especially in critical fields like health, mental health and well-being, and crisis management. This course introduces techniques, systems, and measures for Neurosymbolic AI, leveraging knowledge in graphs and guidelines to enable machines to develop cognitive abilities necessary for these domains. It will guide you through the distinct stages of integrating knowledge into AI, emphasizing the differences between inferences from statistical AI and symbolic AI methodologies.
Highlighting significant advancements in statistical AI, including the popular Transformer models and attention mechanisms like BERT and GPT,
this course offers a thorough and enlightening exploration of topics such as weakly supervised, distantly supervised, and unsupervised
learning, along with their knowledge-enhanced counterparts. It delves into post-hoc and ante-hoc explainability and safety with knowledge, the
integration of various forms of knowledge, and deeper levels of integration.
Technically, the course will explore cutting-edge areas such as reinforcement learning and policy gradients, zero-shot learning, active learning, and model fusion. Practically, it delves into innovations applied to real-world applications like conversational systems, mental health, and edge computing, featuring advancements by industry leaders like OpenAI and Google DeepMind.
https://kil-workshop.github.io/CMSC691/
Active Cyber Defense
CMSC 491/691
Instructor: Charles Nicholas
Description: Computer Science background equivalent to Data Structures CMSC 341 is
assumed. A course in computer security is encouraged but not required.
Students are expected to have a working knowledge of the Windows and
Unix operating systems, networks, and/or software development
techniques, along with interest if not experience in planning and
conducting both penetration testing and countermeasures development.
The course emphasizes hands-on activities. Participation in an in
class cyber competition is expected. The course web site has much more
information.
https://courses.cs.umbc.edu/undergraduate/CMSC491activeCyber/indexFall24.html
Software Security
CYBR 691-01
Instructor: Coman (online only)
This course will provide a practical and language-neutral introduction to application and software security concepts, principles, and practices, including the broad processes, technologies and frameworks that may be used to design, develop, and deploy appropriately secured software such as the CWE and OWASP Top 10 frameworks, with a focus on design, coding and testing.
Practical Data Networking
CYBR 691-03
Instructor: Khalsa (hybrid, primarily online)
T 6-8:30 Shady Grove Building III 3225 (SHADY GROVE CAMPUS)
Description: This course is an introduction to technologies, terminology, and skills used in the world of data networking. Course will cover fundamentals of data communications and computer networking and emphasis is on practical applications of networking and computer technology to real-world problems.
Requests for either course MUST be made through cyberia.umbc.edu <http://cyberia.umbc.edu/>. Directly contacting the instructor or GPD for permission will be ignored.
Spring 2021
Lasers for Electrical and Graduate and Undergraduate Computer Engineers
CMPE 491 (cross listed with 683)
Instructor: Professor Gary M. Carter
Days & Time (Web Based): TuTh 4:00-5:15PM
Prerequiste: ideally CMPE 330 OR Equivalent
Description: This is a course about lasers and their applications based on a semi-classical approach. it is designed for undergraduate and graduate engineering majors. The use of lasers in medicine, communications, sensing, and lidar has revolutionized modern technology. The interface between lasers and modern electronics has enabled many of these applications.
Topics:
- optical properties of atoms, molecules, and semiconductors
- stimulated and spontaneous radiation from materials from basic thermodynamic arguments. Einstein a and b coefficients.
- basic rate equation model for lasers.
- optical amplifiers and noise
- resonators
- laser oscillators
- basic laser types
- semiconductor lasers with a discussion of their importance in technology.
- basic applications and interfaces with modern technology.
Grading: This course will be graded on a series of homework assignments and a project.
For more information please email carter@umbc.edu
Advanced Algorithms
CMPE491/CMPE 691
Instructor: Dr. Phatak
See course page https://www.csee.umbc.edu/~phatak/691a/syl.html
For more information please email phatak@umbc.edu
Special Topics in Signal Processing: Matrix and Tensor Decompositions with Application to Data Fusion and Analysis
ENEE 718
image reference: Shaw, Gary A., and Hsiaohua K. Burke. “Spectral imaging for remote sensing.” Lincoln laboratory journal 14.1 (2003): 3-28.
Instructor: Tulay Adali
Class time and location: TuTh 4:00–5:15pm, WebEx
In many fields today, multiple sets of data are readily available. These might either bemultimodal datawhere information about a given phenomenon is obtained through different types of acquisition techniques resulting in datasets with complementary information but essentially of different types, ormultiset datawhere the datasets are all of the same type but acquired from different subjects, at different time points, or under different conditions. Joint analysis of such data—its fusion—promises a more comprehensive and informative view of the task at hand, and, is at the heart of numerous problems across disciplines including neuroscience, remote sensing, video analysis, atmospheric and physical sciences to name a few. Since most often, very little prior information is available about the relationship among the datasets, data-driven methods have proven especially useful for data fusion.
This course will introduce basic matrix and tensor decompositions as well as main models introduced for fusion and analysis of multiple datasets. We will emphasize methods that are statistically motivated as well as those that are algebraic. The connections between the two approaches, their applications in multiple domains, and model choice for a given application will be emphasized.
Topics:
- Introduction: Data-driven vs model-driven signal processing, examples
- Preliminaries: Uniqueness, identifiability, interpretability, multiset and multimodal data and their fusion,
- Cost function choice and optimization: Iterative techniques (stochastic gradient and second-order approaches), constrained optimization
- Generalization in data science/machine learning & model order selection
- Matrix and tensor decompositions
- Approaches based on factorizations (algebraic approaches):
- PCA, SVD, Generalized SVD, and other multiset generalizations
- Dictionary learning
- Nonnegative matrix factorization
- Tensor factorizations
- Approaches based on source separation (stochastic methods):
- Independent component analysis (ICA)
- Independent vector analysis (IVA)
- Independent subspace analysis (ISA) and other extensions
- Approaches based on factorizations (algebraic approaches):
- Models for fusion and joint analysis of multiple datasets
- Comparison of statistical and algebraic methods and their connections
- Applications in data fusion and analysis
CYBER691: Malware and Machine Learning
Instructor: Richard Zak
Advanced Malware Analysis introduces students to the world of malware analysis, but from a data science perspective. Instead of looking at specific malware samples, we will look at collections of malware and goodware to see where we may find differences. We will look at how to extract useful features from collections of goodware and malware, and how to leverage machine learning algorithms to create models to differentiate between the two. Since this is a unique problem domain, traditional approaches which are useful for natural language processing or image analysis don’t translate well to the malware problem. Students will learn about new ways of thinking about binary sequences, and how this joint perspective of cyber security and data science may work together to improve the skillsets of practitioners in both fields. Topics covered: Executable file formats, assembly, disassemblers, machine learning algorithms, malware analysis. Requirements: Cybersecurity students: CYBER 620 Data Science students: DATA601 and DATA602. All students: Must have a laptop with 8 GB RAM (16GB or more preferred) and able to run virtual machines; must be proficient with Python; must have a basic understanding of computer security to prevent accidental execution of live malware samples. Students outside of the CYBR program, both graduate and undergraduate, wishing to take this course must request permission via this Google form: cyberia.umbc.edu
https://highpoint-prd.ps.umbc.edu/app/catalog/classsection/UMBC1/2212/11608
Introduction to Brain Computer Interfaces
CMSC 491/ CMPE 491/CMSC 691/ CMPE 691/ ENEE 691
Instructor: Dr. Ramana Vinjamuri rvinjam1@umbc.edu
With a Brain Computer Interface (BCI), an individual with paralysis performed a symbolic kickoff of World Cup in Brazil in 2014. BCIs have not only become popular technologies but have become the hope of many individuals for restoring their lost function. Any BCI has three intrinsic design components— (1) brain signal acquisition, (2) decoding the intent and (3) application to control a robot or a computer cursor or in general a computer to achieve a functionality. In the last 2 decades, several developments in the field of BCIs have emerged. To understand these advances and to address the challenges of the future generation BCIs, this course discusses the fundamentals, the design principles in the design components. Building on these basics, this course further presents recent advances in this emerging field.
This course will introduce students to the latest advances and methods used in BCIs. The key objectives include understand the framework of BCIs, understand and simulate the applications of BCIs. It consists of topics such as robotics and exoskeletons, motion tracking, neural pattern recognition, linear and nonlinear machine learning models and algorithms, applications in motor and cognitive areas, significance of biofeedback, virtual reality, challenges, and opportunities in BCIs, and etc. The course provides several hands-on exercises and examples for students to gain working knowledge in the field of BCI.
This course aims for understanding the emerging field of Brain Machine Interfaces (BMI). After the completion of this course the students will have working knowledge of what BMIs are, how they are designed, implemented, and tested. The core modules of BMI are data acquisition, decoding and application. Each of these modules will be expanded in detail. A common midterm project will be assigned to all the students. Then the students are expected to select a specialized topic, do a final project, and write a project report towards the final week.
Introduction to Photonics
CMPE491: Cross-listed with ENEE 684
Instructor: Professor Anthony M. Johnson
Class time and location: TuTh 5:30-6:45PM, WebEx
Wireless Sensor Networks
CMPE 491 (Cross-listed with CMSC 684 CMPE 684)
Instructor: Mohamed Younis
Parallel and Distributed Processing
CMSC 691
Instructor: Tyler Simon
Malware Analysis
CMSC 691/491
Instructor: Charles Nicholas
Computer Vision
CMSC 691/491
Instructor: David Chapman
Social and Crowd Computing
CMSC 691/491
Instructor: Sanorita Dey
Mobile Computing
CMSC 491 (Cross-listed with CMSC 628 Intro Mobile Computing)
Instructor: Nilanjan Banerjee
Note: You must have completed CMSC341 or CMSC341H with the grade of C or better.
Hardware Security
CMPE 691/ENEE691/CMPE 491
Instructor: Naghmeh Karimi
Days & Time (Web Based): TuTh 1:00-2:15PM
Co-requiste:
• CMPE 640 – Custom VLSI design (for CMPE/ENEE 691)
• CMPE 315: Principles of VLSI design (for CMPE 491)
Description:This course deals withrecent technology developments for design and evaluation of secure and trustworthy hardware. Inaddition, this course discusses the state-of-the art schemes needed to protect circuitdesigners/manufacturers against cloning their Intellectual property (IP). Detection and preventionof malicious design modifications, so-called Trojan, is another goal of this course. Side-channel attacks and fault-attacks and their related countermeasures will be also discussed in this course.
Topics:
- Introduction to Hardware Security & Trust
- Introduction to Cryptography
- Basics of VLSI Design and Test
- Hardware Trojans: IC/IP Trust
- Physical Unclonable Functions (PUF)
- Hardware Metering
- Physical Attacks and Tamper resistance
- Fault Injection Attacks and Countermeasures
- Power Analysis Attacks and Countermeasures
- Design for Hardware Trust
- Counterfeit Detection and Avoidance
- IP Protection through Watermarking schemes
For more information please emailnkarimi@umbc.edu
Fall 2020
ADVANCED VLSI DESIGN
CMPE 691
Instructor: Riadul Islam
This course covers digital IC design with an emphasis on high-speed and low-power applications. Advanced topics in signaling techniques and circuits, including on-chip interconnect, clocking, and cache memory design. It will cover applications of machine learning (ML) in computer engineering and various phases of the IC synthesis flow. Theoretical fundamentals of phase-locked loops (PLL) and implementation challenges. Network-on-chip (NoC) architecture and research opportunities. It has a project design component.
ERROR CORRECTING CODES
CMPE 491/CMPE 691 (Crosslisted with ENEE624)
Instructor: E F Charles LaBerge
(ENEE624 Desc) Fundamentals of error-correction coding theory: linear block and trellis codes, decoder structures, random and burst error detection and correction techniques, encoding/decoding performance and bounds, concatenated codes and interleaving structures, turbo and LDPC codes and iterative decoding concepts.
NEUROMORPHIC COMPUTING
CMSC 491/CMPE 691
Instructor: Chenchen Liu
As computers become more powerful, neural networks are taking over from simpler machine learning methods and emerging at the heart of new generation of applications, such as speech recognition and object recognition in images. The course will explain the new learning procedures that are responsible for these advances, including effective new procedures for learning multiple layers of non-linear features, and give students the skills and understanding required to apply these procedures in many other domains. One big challenge in the machine learning is the involved data- and resource-intensive computation. Neuromorphic Computing was originally referred to as the hardware that mimics neuro-biological architectures and was then extended to the computing systems
that can run bio-inspired computing models such as neural networks and deep learning networks efficiently. Beyond machine learning algorithm, this course will also explain the advanced computing systems, esp. the neuromorphic computing. This course will give the student the vision of the novel technology and understanding how research is conducted.
GRAPHICS FOR GAMES
CMSC 691 / CMSC 491
Instructor: Thomas Olano
This course is an introduction to some of the computer graphics methods commonly used in 3D computer games, including topics in rendering and animation, for both real-time and offline preprocessing. In addition, the course will focus on the use of a large game engine and how to navigate and make changes to a huge pre-existing codebase. Students will learn several common algorithms in each topic area with sufficient depth for implementation.
We will be using the Unreal Engine as a basis for the class, so you will also learn details of how a large game engine is constructed, and how to find your way around a large pre-existing program.
Note that (as the course title says), this is a course about computer graphics, specifically 3D graphics, as used by many games. It is not a class about playing games, nor about all of the other equally important aspects of creating a game (AI, art, game play, interface design, …).
https://www.csee.umbc.edu/~olano/691/
INTERNET OF THINGS
CMSC 691 / CMSC 491
Instructor: Deepinder Sidhu
INTRODUCTION TO DATA SCIENCE
CMSC 691 / CMSC 491
Instructor: James Oates
CYBERSECURITY RESEARCH
CMSC 691 / CMSC 491
Instructor: Alan Sherman
WIRELESS TECH FOR SMART CITIES
CMSC 691 / CMSC 491
Instructor: Ting Zhu
SEMINAR IN ACTIVE CYBERDEFENSE
CMSC 691 / CMSC 491
Instructor: Charles Nicholas
Spring 2020
INTRODUCTION TO QUANTUM MECHANICS FOR ENGINEERS
ENEE 691/CMPE 491
Instructor: Professor Gary Carter
This is a beginning graduate/advanced undergraduate course for computer and electrical engineers. This goal of this course is to explain the fundamentals of quantum mechanics and its relevance to engineering. Topics to be covered include band structure, transistors (and limitations on the size of their features), resonant tunneling, important statistics for identical particles (e.g. electrons and photons), stimulated emission and semiconductor lasers, superconductivity, and a brief introduction to quantum information.
This course requires a basics knowledge of wave behavior (CMPE 330 or equivalent) and basic physics (PHYS 121 and 122 or equivalent). A knowledge of linear algebra and an introduction to Fourier transforms would be useful.
This course will use MatLab to allow the student to gain insight to problems that aren’t easily tractable by simple analytic techniques. MatLab can be easily accessed by the student through UMBC’s virtual PC environment.
The grading will be project based. The projects are essentially solving quantum mechanical problems and exercises.
For Further Information Contact: Professor Gary Carter carter@umbc.edu
CMPE/ENEE 491/691 Special Topics Convex Optimization
Instructor: Seung-Jun Kim (Asst. Prof., CSEE; E-mail: sjkim@umbc.edu)
- This is an introductory course on convex optimization—-a subclass of numerical optimization that often admits efficient and reliable solutions
- The students will be able to recognize and formulate convex optimization problems for applications in various domains, and solve them using appropriate packages or derive suitable algorithms
- Applications in engineering (electrical, computer, mechanical) and computer science (machine learning, AI, networks, data science), as well as mathematics, statistics, and economics
- Hands-on experience by working on computer projects
- TextBook: S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press. (An online version is available for free at https://web.stanford.edu/~boyd/cvxbook/ )
Prerequisite
- Calculus and matrix algebra.
- Working knowledge on scientific programming languages such as Matlab or Python.
- Exposure to numerical optimization & applications is helpful but not required
For more information, visit Dr. Kim’s homepage @ www.csee.umbc.edu/~sjkim (Simply google: Kim UMBC)
Or: E-mail to sjkim@umbc.edu
Machine Learning Hardware Implementation and Applications
Instructor: Tinoosh Mohsenin
CMPE 691 Advanced Arithmetic Algorithms
Instructor: Dhananjay S. Phatak
https://www.csee.umbc.edu/~phatak/691a/syl.html
Fall 2019
CMSC 291: Topic: Continued Computer Science for Non-Majors
Instructor: Susan Mitchell
A continuation of problem solving and programming in the Python language. Emphasis is placed on the solution to more complex programming problems, expanding on the topics of modularity, abstraction, program design, testing, and debugging. Additional syntax, data types, and the use of pre-defined Python libraries are presented.
This course does not satisfy any requirement for computer science or computer engineering majors and may not be substituted for CMSC 202, Computer Science II.
Prerequisites: You must have completed either CMSC 201 or CMSC 201H and (MATH150 or MATH 151 or MATH 151H or MATH 152 or MATH 152H) with a C or better or scored a 5 on the LRC MATH placement exam or have concurrent enrollment in MATH 151/151H or have completed MATH 155 with a C or better.
ENEE/CMPE 691/CMPE 491: Topic: Cognitive Radio Networks
image reference: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.433.5578&rep=rep1&type=pdf
Cognitive radios (CRs) are intelligent radios that can sense, learn, and adapt to the wireless environment in which they operate. CR technologies allow dynamic re-use of precious RF spectrum by monitoring the RF landscape in real time and opportunistically exploiting under-utilized spectral resources (a.k.a. “white space” or “spectrum holes”). Thus, CRs can make the maximum use of the spectral resources in time, space, and frequency domains without causing harmful interference to incumbent transceivers. There have been exciting research and development recently on CR network technologies, with diverse applications to municipal, institutional, military, public safety, and industrial wireless networks.
This Special Topics course aims at providing an up-to-date overview of the CR technologies, with emphasis on the signal processing, machine learning, and optimization techniques enabling the design and operation of CR networks. Important issues in spectrum sensing, dynamic resource allocation, and cross-layer interactions will be delineated. Many of the ideas and signal processing tools discussed will be broadly applicable to other areas as well, including Big Data analytics, wireless sensor networks, and
monitoring/optimization of cyber-physical smart systems. Students will seek deeper understanding and new ideas through reading assignments, class presentations and hands-on research projects.
Instructor: Seung-Jun Kim (Assistant Professor, Dept. of CSEE, UMBC)
Prerequisite: Basic linear algebra, calculus, and probability. Proficiency in Matlab® or similar programming languages will be helpful, but not required.
Who should take this course: Anyone in the ENEE/CMPE/CMSC programs, with interest in the application of signal processing, machine learning, and optimization techniques to advanced wireless
and smart systems. Students from other disciplines can also sign up upon the instructor’s consent.
For further information, e-mail to sjkim@umbc.edu or visit https://www.csee.umbc.edu/~sjkim
Spring 2019
CMSC491: Topic: Mobile Computing
Instructor: Nilanjan Banerjee
CMSC491: Topic: Malware Analysis
Instructor: Charles Nicholas
CMSC491/691: Topic: Computer Vision
Instructor: Hamed Pirsiavash
CMSC491: Topic: Introduction To Data Science
Instructor: Sudip Mittal
CMSC691: Topic: Parallel and Distributed Processing
Instructor: Tyler Simon
CMSC691: Topic: Advanced Robotics
Instructor: Cythia Metusze
CMPE491/691: Topic: Advanced Algorithms
Instructor: Dhananjay Phatak
CMPE491: Topic: Communication Theory
Instructor: E F Charles LaBerge
CMPE491/CMPE691/ENEE691: Topic: Signal Processing for Big Data
Instructor: Seung Jun Kim
CMPE491/ENEE691: Topic: Satellite Communications
Instructor: Nelofar Mosavi
CMPE491/691: Topic: Neural Engineering and Instrumentation
Instructor: Fow-Sen Choa
Spring 2012
CMSC 491/691: Clinical Informatics
Professor: Dr. Michael Grasso
Time: M/W 5:30-6:45 p.m.
This course will provide a broad exposure to the field of Clinical Informatics. The course is designed to be applicable to students whose experience is limited to Computer and Information Sciences, as well as those whose experience is limited to the Biological Sciences. The course focuses on the expanding role of information technology for the delivery of healthcare, and provides a theoretical and practical introduction to the socio-technical issues involved in the assessment, implementation, and management of these systems. Topics covered include electronic health record systems, patient management systems, clinical decision support, clinical image processing, clinical data mining, personalized medicine, and the software engineering challenges specific to the development of these systems.
Prerequisite – CMSC 341 or BIO 303 or consent of the instructor.
CMSC 491/691: Computation, Complexity, and Emergence
Professor: Dr. Marie desJardins
Time: M/W 10:00-11:15 a.m.
This course will explore the nature and effects of complexity in natural and artificial systems. Complexity arises in these systems from many sources, including self-similarity, parallelism, recursion, and adaptation. Through these mechanisms, simple local behaviors and patterns can produce complex, intricate, and often fascinating emergent global behaviors. These phenomena arise in diverse areas, from biology (ant colonies, fish schools) to economics (stock market bubbles, opinion formation) to physics (galactic clusters, weather patterns). We will use Gary Flake’s text, The Computational Beauty of Nature, as a starting point to investigate the sources and dynamic properties of complex systems. (NOTE: This course satisfies departmental honors and also counts as an Honors course for Honors College students. This section of CMSC 491 is a permission-required course and has limited space.
Please contact Dr. desJardins (mariedj@cs.umbc.edu) to request permission.)
CMSC 491/HONR 300: Security and Privacy in a Mobile Social World
Professor: Dr. Anupam Joshi
Time: T/TH 11:30-12:45 p.m.
This 3 credit course will cover the fundamentals of security, privacy and trust in emerging open, dynamic environments created by wireless networks, embedded/handheld/wearable computers, and web based social media and networks. We will look at several recent cases that illustrate the loss of security or privacy engendered by pervasive social computing. We will discuss both the technical and non-technical issues involved. Traditional technical approaches, which assume closed, physically protected networks and rely on authentication to establish authorization, do not work well in this environment. Policy and legislation, even those designed for the internet, have not kept up with this phenomenon and many social norms that constraint our real world behavior have no easy analogs in this brave, new, online world! We will study the issues involved, and the recent efforts from the research community in the area. While a text may be prescribed, most of the reading will be from papers. There will be writing assignments, and a significant group project that will have cross disciplinary teams.
CMPE 491/691: Advanced FPGA Design
Professor: Dr. Tinoosh Mohsenin
Time: M/W 4:00-5:15 p.m.
Digital signal processing (DSP) and communications systems are becoming increasingly commonplace and appear in a vast variety of applications such as: mobile phones, portable multimedia and biomedical systems. These applications require significant levels of complex signal processing in real time and operate within limited power budgets. This need for greater energy efficiency and improved performance of electronic devices demands a joint optimization of algorithms, architectures, and implementations.Through this course, students will develop the necessary skills to design simple processors suitable for numerically intensive processing with an emphasis on FPGA implementation flow. Students learn practical applications of DSP and communication kernels by implementing several small projects as well as a few real life systems in hardware. Examples of these kernels include error correction for advanced communication standards, modulation schemes, FIR filters and FFTs.Students learn to optimize their architecture and hardware implementation for area, performance and power dissipation. By taking this course, students will advance their knowledge in hardware design for their future career and higher education.
For more information, please take a look at the class website: https://www.csee.umbc.edu/~tinoosh/cmpe691/
CMSC 491: Computer Graphics for Games
Professor: Dr. Marc Olano
Time: M/W 1:00-2:15 p.m.
This course is an introduction to some of the computer graphics methods commonly used in 3D computer games. Computer graphics encompasses a wide variety of algorithms and techniques, many more than can be covered in just one or two courses. This course is similar in style and scope to Advanced Computer Graphics, but uses computer games as a focus and motivation to explore a different set of graphics algorithms. Topics include path tracing and importance sampling for light baking, spherical harmonics, antialiasing methods, texture filtering and compression, shadows, normal map filtering, animation, and data representation issues. Students will learn several common algorithms in each topic area in sufficient depth for implementation.
Co-requisite: CMSC 435/634
Spring 2011
CMSC491: Computation, Complexity, and Emergence
Instructor: Prof. Marie desJardins, mariedj@cs.umbc.edu
This course will explore the nature and effects of complexity in natural and artificial systems. Complexity arises in these systems from many sources, including self-similarity, parallelism, recursion, and adaptation. Through these mechanisms, simple local behaviors and patterns can produce complex, intricate, and often fascinating emergent global behaviors. These phenomena arise in diverse areas, from biology (ant colonies, fish schools) to economics (stock market bubbles, opinion formation) to physics (galactic clusters, weather patterns). We will use Gary Flake’s text, The Computational Beauty of Nature, as a starting point to investigate the sources and dynamic properties of complex systems.
Prerequisites:341 CMSC Data Structures.
CMSC491: Advanced Computer Graphics
Instructor: Dr. Marc Olano,olano@cs.umbc.edu
[This course is a crosslisting of the graduate course, CMSC 635, and is designed for advanced undergraduates who have taken CMSC 435.]
Advanced image synthesis including graphics pipelines, shading, texturing, illumination, anti-aliasing, perception, image accuracy, image-based rendering, and non-photorealistic rendering. Through readings in the text and papers, students will learn classic and new techniques in computer graphics. In-class paper presentations provide practice in technical presentation. Assigned programming projects will help students gain graphics development experience. Unlike many classes, where there is one right way to solve each problem, students will have to make an individual choice among the several valid approaches covered in class for each programming assignment.
CMPE 491: Biosensor Technology
Instructor: Dr. Gymama Slaughter,gslaught@umbc.edu
[This course is a crosslisting of the graduate course,CMPE 491, and is designed for advanced undergraduates who have taken CMPE 310 and 314]
This course presents a rational basis and perspective to the design, development and implementation of new measurement technologies to the biomedical, biotechnology, environmental, and chemical industries. Students will get familiar with the field of sensor and enabling technologies for sensor development and fabrication, as well as signal conditioning necessary for sensor integration. It integrates fundamental knowledge from scientific and technical principles, fabrication methods, characteristics, specific sensor example, and major applications into a
functional subject on biosensors and bioelectronic devices. This course will also explore the growing field of sensors from the point of view of the main application areas and sensor systems integration.
Prerequisites: CMPE 310: Systems Design & Programming and CMPE 314: Electronic Circuits.
Fall 2010
491/691: Computational Photography: Interactive Graphics and Imaging
Instructor: Dr. Jesus Caban,caban1@cs.umbc.edu
Computational photography is an emerging research area at the intersection of computer graphics, image processing, and computer vision. As digital cameras become more popular and collections of images continue to grow, interest in effective ways to enhance photography and produce more realistic images through the use of computational techniques has surged. Computational photography overcomes the limitations of conventional photography by analyzing, manipulating, combining, searching, and synthesizing images to produce more compelling, rich, and vivid visual representations of the world. This course will cover the core concepts needed to analyze and manipulate images to automatically create video effects, animations, 3D models, panoramas, and walkthroughs from traditional digital imagery.
491: Mobile Platform Development: iPhone and iPod
Instructor: Mr. Dan Hood,dhood2@umbc.edu
This course provides an in-depth study of the design, development and publication of object-oriented applications for the iPhone and iPod touch platforms using the Apple SDK. Students will learn to utilize Objective-C and the various SDK frameworks to build iPhone & iPod touch applications under Mac OSX.
Prerequisites:341 CMSC Data Structures.Recommended:Competency in C or C++ (pointers, memory management, etc.)
491: Computer Forensics and Intrusions
Instructor: TBA
[This course may be cancelled if an instructor is not available.]
This course will cover the core aspects of the incident response, the legal issues of computer forensics, file system analysis, network-based artifact examination and malware examinations.
Prerequisites:CMSC 421 and 481 or permission of instructor
491/691: Electronic Voting Systems
Instructor: Dr. Alan Sherman,dralansherman@starpower.net
(no course description available)
491/691: Introduction to IT Services
Instructor: Prof. Yaacov Yesha,yayesha@cs.umbc.edu
(no course description available)
491/691: Security in Wireless Distributed Systems
Instructor: Dr. Jim Parker,jparke2@umbc.edu
(no course description available)
691: Data Intensive Computing
Instructor: Dr. Yelena Yesha,yeyesha@umbc.edu
(no course description available)
491/691: Probabilistic Models
Instructor: Dr. Yun Peng,ypeng@cs.umbc.edu
(no course description available)
Fall 2009
CMSC 491-3 (3414)/691-2 (3415), Data Mining (3 credits)
Dr. Hillol Kargupta
IMPORTANT:Students should have an undergraduate level background in linear algebra, statistics, and algorithms, be familiar with basic probability theory and will need programming knowledge in C/C++ or Java.
CMSC 491-4 (4525), Computer Forensics and Intrusions (3 credits)
jcd@globaldsi.com Dr. Joe Drissel
IMPORTANT:Permission required; corequisites: CMSC 421 and CMSC 481.
Description:This course will cover the core aspects of the incident response, the legal issues of computer forensics, file system analysis, network-based artifact examination and malware examinations.
Objective:To provide the student with the essential knowledge required to complete a computer forensic exam or incident report in the field.
CMSC 491-5 (4533), Mobile Platform Development: iPhone and iPod (3 credits)
Mr. Dan Hood
Description:This course provides an in-depth study of the design, development and publication of object-oriented applications for the iPhone and iPod Touch platforms using the Apple SDK. Students will learn to utilize Objective-C and the various SDK frameworks to build iPhone & iPod Touch applications under Mac OSX.
Topics include:Objective-C, Xcode, Interface Builder, Instruments, iPhone Simulator, Cocoa Touch (UIKit, Foundation Framework), Media Frameworks (Quartz, Core Animation, OpenGL ES, Core Audio, OpenAL), Core Services (Address Book, Networking, Core Location, Security, SQLite, XML), Core OS.
Prerequisite:CMSC 341
Recommended:Competency in C or C++ (pointers, memory management, etc).
Additional Listings
CMPE 691 Advanced FPGA Design
Instructor: Dr. Tinoosh Mohsenin,tinoosh@umbc.edu
Through this course, students will develop the necessary skills to design simple synthesizable processors suitable for numerically intensive processing with an emphasis on small area and high-performance. Secondly, students will learn to design main processor blocks that are used in digital signal processing and communication applications through the simultaneous design of DSP algorithms, processor architectures, and hardware design for FPGAs. Finally, students learn to design and implement a real communication system on FPGA by incorporating FPGA features into their designs.
Prerequisites: CMPE 310: Systems Design & Programming and CMPE 415: Programmable Logic Devices
ENEE 691: Research Methods for MS/PhD Students
Instructor: Dr. Joel Morris
This is a first-year second-semester graduate course that is designed to help the graduate student: (1) understand the research process, (2) develop effective research skills and habits, (3) complete high-quality MS theses or PhD dissertations, (4) have an efficient, effective, and generally positive graduate study experience, and (5) be prepared for starting a research career. The course will comprise lectures (instructor and guests), class discussions, student exercises and presentations, reading and assessing research materials, etc. Students will be required to concurrently attend a number of CSEE Department seminars, e.g., ENEE 608.