Senior Year (2021-2022)
Fall 2021 Courses
-
ESE450: Senior Design I
Professors: Dr. Sid Deliwala, Dr. Jan Van Der Spiegel
Advisors: Dr. Pratik Chaudhari, Dr. Ani Hsieh
This is a project-based course for engineering students that spans the course of a year. Students work in teams of 3 to 5 to design a product or conduct research in a realm of their choice. To learn more about this project, you can refer to my projects section, here. - ESE546: Principles of Deep Learning
Professor: Dr. Pratik Chaudhari
This is a mathematically rigororous course delving into the underlying statistics, optimization, and calculus principals that enable deep learning. The course also has a significant application component where students implement the algorithms, networks, and models learned in theory. We covered topics such as:- Kernels
- Fully-Connected networks
- Backpropogation
- Convolutional architectures
- Gradient Descent, SGD, and Momentum-variants
- Recurrent architectures
- Some Reinforcement Learning, GANs, and more
- We use Pytorch and Numpy for much of our development, and for a few of the homework assignments, I created Weights and Biases reports that I’m pretty proud of. Here are two reports that I made:
- Homework 2: Adversarial Attack of CNNs
- Homework 4: SGD, Momentum, Nesterov’s Momentum
- CIS521: Artificial Intelligence
Professor: Dr. Christopher Callison-Burch
This is a course covering a wide array of topics in AI, and I have found it to be one of my favorite courses I have taken at Penn. We covered the following topics:- Search Problems
- Adversarial Search in Games
- Constraaint Satisfaction Problems (CSPs)
- Markov Decision Processes (MDPs)
- Reinforcement Learning (RL)
- Deep Learning in Vision and Language
One of the highlights of this course is the project offerings which let students deploy algorithms and models on a Raspberry Pi and remote-controlled R2D2 robot. Some of these projects are on display, like this one.
- CIS625: Theory of Machine Learning
Professor: Dr. Michael Kearns
This course likely has the most difficult mathematical concepts I have ever approached. This PhD seminar introduces the PAC Learning Framework and the rigorous proofs that go behind proving learnability. The professor is a leading figure in the fields of differential privacy and fairness in ML. We cover these topics after laying the groundwork with learnability, shattering, consistency, uniform convergence, the VC dimension, classification, and statistical query. I’m currently working on my final paper for the course, where I am synthesizing from recent literature in Differential Privacy and Adversarial Robustness in the context of deep neural networks. I’ll try to add a link to the paper when I am finished writing it.
Junior Year (2020-2021)
Spring 2021 Courses
-
MEAM321: Vibrations of Mechanical Systems
Professor: Dr. Jordan Rainey
This course is a mathematical dive into the dynamics of vibrations, which has widespread application to mechanical, electrical, and control systems. The crux of this course and my interpretation of vibrations as a whole, is the mass-spring (and sometimes damper) systems. We spend a great deal of time deriving and characterizing vibrations of simple systems like pendulums and single mass-sping systems using tools like differential equations and linear algebra. Then, we generalize these principals to systems with many degrees of freedom, and eventually building up to modelling real-world scenarios like circuits, suspension systems, impulses, and mechanical structures. There is a significant amount of math involved in this course, as well as some graphical and numerical solving in MATLAB. -
MEAM333: Heat and Mass Transfer
Professor: Dr. Jennifer Lukes
Being honest, this was NOT my class. I struggled with the material and really struggled to generate motivation and interest in the course. I think that thermodynamics and fluid transfer are cool topics from a distance, but taking this course really just never latched onto me. The fundamentals of this course are in mathematically characterizing the movement of thermal energy in various mechanical and electrical systems, like power generation plants. These principals also hold up in fluid transfer. - CIS519: Applied Machine Learning
Professor: Dr. Dinesh Jayaraman
This course covers a fast paced and dense introduction to Machine Learning in practical settings. This is a great course for people looking for little less formal mathematical derivation when attacking the foundations of Machine Learning. We cover things like:- Linear Classifiers (Logistic Regression, Decision Stumps)
- Non-linear Classifiers (Nearest Neighbors, Decision Trees, SVMs)
- Boosting, Stacking, and Ensembling (Random Forests, Adaboost, Bagging)
- Unsupervised Learning (Clustering, PCA)
- Neural Networks for Vision and Language
- Reinforcement Learning (TD Learning, Q-Learning, DQN)
For my final project in this course, my group used the IBES Estimates dataset to classify stocks into {BUY, HOLD, SELL} based on prior year’s Analyst Forecast Error. We approached the project with more traditional methods of ML, making use of PCA, Random Forests, and XGBoost. Look here on my Github to see the gigantic notebook we created our project in.
- PSYC549: A Neuroscience Perspective of Artificial Intelligence
Professor: Dr. Richard Di Rocco
This is a fantastic seminar which posits that AI and Neuroscience are fundamentally tied. We first build an understanding of the human brain and human behavior through discussion of famous papers and experiments. With this, we examine modern Artifical Intelligence from the lens of human brain. I found this seminar to be incredibly stimulating and provided an eye-opening perspective to a field that I am passionate about. I wrote my final paper and presentation about Machine Learning and Neural Networks, relating these subjects back to course content.- Here is the final paper (yes, it’s long)
- Here is the final slidedeck (also long, but a lot fewer words)
-
MEAM348: Junior Mechanical Laboratory Course II
Professors: Dr. Dustyn P. Roberts, Dr. Mark Yim - MUSC007: Arabic Choral Music
Professor: Dr. Hanna Khoury
Fall 2020 Courses
-
MEAM302: Fluid Mechanics
Professor: Dr. George Park -
MEAM354: Solid Body Mechanics
Professor: Dr. Prashant Purohit -
CIS121: Algorithms and Data Structures
Professor: Dr. Kostas Daniliidis -
ENM360: Introduction to Data-Driven Modeling
Professor: Dr. Paris Perdikaris -
MEAM347: Junior Mechanical Laboratory Course I
Professors: Dr. Dustyn P. Roberts, Dr. Mark Yim
Sophomore Year (2019-20)
Summer 2020 Courses
-
MEAM543: Performance, Stability, and Control of UAVs
Professor: Dr. Bruce Kothmann -
CIS262: Automata, Computation, and Complexity Theory
Professor: Paul He
Spring 2020 Courses
-
MEAM203: Thermodynamics
Professor: Dr. Igor Bargatin -
MEAM211: Dynamics
Professor: Dr. Michael Posa -
MEAM248: Sophomore Mechanical Laboratory Course II
Professor: Dr. Bruce Kothmann -
CIS160: Foundations of Computer Science
Professor: Dr. Clayton Greenberg -
ENM251: Partial Differential Equations
Professor: Dr. Michael Carchidi -
EAS203: Engineering Ethics
Professor: Dr. Brit Shields
Fall 2019 Courses
-
MEAM201: Machine Design and Manufacturing
Professor: Dr. Graham Wabiszewski -
MEAM210: Statics and Strength of Materials
Professors: Dr. Dustyn P. Roberts, Dr. Kevin Turner -
MEAM247: Sophomore Mechanical Laboratory Course I
Professor: Dr. Bruce Kothmann -
CIS120: Programming Fundamentals in Java and OCaml
Professors: Dr. Swapneel Sheth, Dr. Steve Zdancewic -
BEPP250: Managerial Economics
Professor: Dr. Maxim Troshkin
Freshman Year (2018-19)
Summer 2019 Courses
- WRIT030: The Art Persuasion
Professor: Lawrence Abbott
Spring 2019 Courses
-
MEAM101: Introduction to Mechanical Design
Professor: Dr. Paulo Arratia -
CIS110: Introduction to Computer Programming
Professor: Dr. Paul McBurney -
MATH240: Linear Algebra and Ordinary Differential Equations
Professor: Dr. Peter McGrath -
CHEM101 & CHEM053: General Chemistry I & Laboratory
Professor: Dr. Karen Ila Goldberg
Fall 2018 Courses
-
MEAM110: Introduction to Mechanics
Professor: Dr. James Pikul -
MEAM147: Freshman Mechanical Laboratory Course
Professor: Dr. Michael Carchidi -
MATH114: Multivariate Calculus
Professor: Dr. Robert Ghrist -
ENGR105: Introduction to Scientific Computing (MATLAB)
Professor: Dr. Graham Wabiszewski -
ECON001: Introduction to Microeconomics
Professor: Dr. Anne Duchene