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 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

3-panel cartoon illustration, panel 1: multiple walking lanes with one over crowed: panel 2: people able to freely use all lanes, panel 3: various wireless devices connected via cognitive radio

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 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 () 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,
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, 
[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, 
[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, 
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, 
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, 
(no course description available)

491/691: Introduction to IT Services
Instructor: Prof. Yaacov Yesha, 
(no course description available)

491/691: Security in Wireless Distributed Systems
Instructor: Dr. Jim Parker, 
(no course description available)

691: Data Intensive Computing
Instructor: Dr. Yelena Yesha, 
(no course description available)

491/691: Probabilistic Models
Instructor: Dr. Yun Peng, 
(no course description available)

Fall 2009

CMSC 491-3 (3414)/691-2 (3415), Data Mining (3 credits)

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)
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)

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, 
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.