TEACHING EXPERIENCE
Graduate Courses
Deep learning is a subfield of machine learning that focuses on training neural networks with multiple layers (hence the term “deep”). These networks learn to automatically discover complex patterns and representations from data. Unlike traditional machine learning, where feature engineering is crucial, deep learning models can learn relevant features directly from raw data. Applications of deep learning span various domains, including computer vision, natural language processing, speech recognition, and recommendation systems. By leveraging large datasets and powerful computational resources, deep learning has achieved remarkable breakthroughs, such as image classification, language translation, and autonomous driving. [Details and Syllabus]
Taught terms: F2018, F2019, F2020, F2021, F2022, and F2023.
Medical image processing and analysis involves applying advanced computational techniques to medical images, such as X-rays, MRIs, and CT scans. Through sophisticated algorithms, these images are enhanced, segmented, quantified, and registered to extract and relate meaningful information. Researchers and clinicians use these methods for tasks like tumor detection, organ segmentation, multi-modal registration, and disease diagnosis. By harnessing the power of image processing, we unlock valuable insights that aid in patient care, treatment planning, and medical research. [Details and Syllabus]
Taught terms: S2005, S2006, S2007, S2008, S2009, S2010, S2011, S2012, S2013, S2014, S2015, S2016, S2017, S2018, S2019, S2020, S2021, S2022, S2023, and S2024.
Digital image processing involves manipulating digital images using computer algorithms. It encompasses tasks such as enhancing image quality, extracting meaningful information, segmentation (partitions into meaningful discrete groups of pixels), compression, and automating image-based processes. The fundamental steps in digital image processing include acquisition, enhancement, restoration, segmentation, representation, and analysis. [Details and Syllabus]
Taught terms: S2005, S2006, S2007, S2008, S2009, S2010, S2011, S2012, S2013, S2014, S2015, S2017, S2018, S2022, and S2024.
The biomedical seminar course is designed to equip students with essential skills for effective academic and professional communication. In such a course, participants learn about presentation techniques, writing strategies, and research skills. Additionally, they delve into critical aspects of research ethics, academic integrity, honest behavior, and plagiarism prevention. [Details and Syllabus]
Taught terms: F2005, S2010, S2017, and S2024.
Computational genomics is a dynamic field that merges the power of computational science with genomic research to analyze and interpret complex biological data. It encompasses the use of computational strategies to understand the structure, function, and evolution of genomes. By leveraging statistical models, algorithms, and both DNA and RNA sequencing data, computational genomics provides insights into the molecular mechanisms of genes and their regulatory networks. This interdisciplinary approach has revolutionized our ability to predict gene function, understand genetic variations, and explore the vast biological datasets generated by high-throughput genomic technologies. As a result, computational genomics is pivotal in advancing personalized medicine, improving crop yields, and unraveling the mysteries of evolutionary biology. [Details and Syllabus]
Taught terms (formerly): F2015 (Joint with Prof. Khalaj).
Statistical pattern recognition is a powerful analytical approach that leverages statistics to uncover patterns within data. It involves extracting meaningful insights from observations and making predictions based on these patterns. Key components of the process include feature extraction, classification, and decision-making. By applying statistical models and algorithms, we can identify hidden regularities in large datasets. [Details and Syllabus]
Taught terms (formerly): F2004, F2005, F2006, F2007, F2008, F2009, F2010, F2011, F2012, F2013, F2014, F2015, F2016, and F2017.
Undergraduate Courses
The “Introduction to Machine Learning” course equips you with a foundational understanding of machine learning through classical methods. These methods encompass nearest-neighbor techniques, linear and logistic regression for classification tasks, support vector machines (SVMs) for both classification and regression, decision trees and random forests, and clustering algorithms. To tackle high-dimensional data, we delve into dimensionality reduction techniques. By mastering these classical methods, you gain essential tools to grasp and apply machine learning concepts effectively.
This course is a foundational course in electrical engineering programs. It covers essential knowledge about electric circuits, including circuit elements, fundamental Kirchhoff’s circuit laws, DC and AC circuits analysis, simple network theorems, transient analysis in first and second order circuits, OP-Amp analysis techniques, frequency response, AC and DC power analysis, and applications and some practical applications. Students learn to analyze circuits, making it a crucial stepping stone for further studies in electrical engineering. [Details and Syllabus]
Taught terms: S2020, S2021, S2022, and S2023.
This course covers a wide array of essential concepts in electrical engineering. Students explore topics such as mutual inductance, transformers, three-phase circuits (both balanced and unbalanced), graph theory, network equations, the Laplace transform, natural frequency, transfer functions, poles, zeros, two-port circuits, state equations, nodal and mesh analysis, cut-set and loop analysis, and modified nodal analysis. This comprehensive course equips students with the analytical tools needed to understand, design, and troubleshoot electrical systems, making it a crucial stepping stone for their engineering journey. [Details and Syllabus]
Taught terms: F2008, F2009, F2010, F2011, F2012, F2013, F2014, F2015, F2016, F2017, F2020, F2021, F2022, and F2023.
The “Signals and Systems” course in electrical engineering covers fundamental principles related to signals and their behavior in various systems. Students learn about signal representation, including discrete-time and continuous-time signals, as well as Laplace and Z transforms. The course also emphasizes linear, time-invariant systems, such as difference and differential equations, block diagrams, and frequency responses. Real-world applications in fields like communications, control systems, and signal processing are explored, making this course essential for understanding and designing efficient engineering systems. [Details and Syllabus]
Taught terms: S2009, S2012, and S2013.
Due to updates in the Electrical Engineering curriculum, this course is no longer offered.
Taught terms: F2005, F2006, and F2007.
Due to updates in the Electrical Engineering curriculum, this course is no longer offered.
Taught terms: F2010.
Due to updates in the Electrical Engineering curriculum, this course is no longer offered.
Taught terms: S2011, F2011, S2012, S2013, and S2014.
Due to updates in the Electrical Engineering curriculum, this course is no longer offered.
Taught Terms: F2004, S2005, S2006, F2006, S2007, F2007, S2008, and F2008.