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.
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
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
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 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 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
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 with recent technology developments for design and evaluation of secure and trustworthy hardware. In addition, this course discusses the state-of-the art schemes needed to protect circuit designers/manufacturers against cloning their Intellectual property (IP). Detection and prevention of 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 email
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/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
CMPE/ENEE 491/691 Special Topics Convex Optimization

Instructor: Seung-Jun Kim (Asst. Prof., CSEE; E-mail: )
- 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
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 or visit http://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.