Classes I've Enjoyed

ECE312 - Software Engineering and Design I

GligoricSyllabus

  • Learn the basics of C and C++ programming languages
  • Introduction to data structures such as linked lists, binary search trees, and hashmaps
  • Explore topics in software design such as object oriented programming, time complexity analysis, and recursion
  • Implemented algorithms such as sorting and various binary search tree algorithms
  • ECE422C - Software Engineering and Design II

    NandekumarSyllabus

  • Expand upon software design topics in Java such as polymorphism, multithreading and event handling
  • Introduction to data structures such as trees, graphs, and heaps
  • Explore algorithms such as recursion, backtracking and traversal algorithms for graphs.
  • ECE360C - Algorithms

    SoloveichikSyllabus

  • Introduction to combinatorial algorithms, algorithm complexity analysis, and NP completeness
  • Expanded on the topic of proofs and proving the correctness and runtime of various algorithms
  • Cover classes of algorithms such as stable matching, graph algorithms, greedy, divide and conquer, dynamic programming
  • Implemented algorithms using structures such as arrays, heaps, and graphs
  • M340L - Matrices and Matrix Calculations

    WardSyllabus

  • Learned the fundamentals of linear algebra using vectors and matrices
  • Explored solving linear systems of equations, vector spaces, eigenvalues, diagonalization etc
  • Applied concepts in linear algebra to explore concepts such as fourier series and discrete time dynamical systems
  • ECE313 - Linear Systems and Signals

    MokhtariSyllabus

  • Learned the mathematical foundations needed to perform linear signal analysis
  • Explored topics such as properties of linear systems, convolutions, fourier series/transforms (continuous and discrete), and Laplace transforms.
  • Explored applications of these tools such as filtering, and sending information over signals (AM Radio).
  • ECE461L - Software Design Lab

    SamantSyllabus

  • Explore foundations of building a full-stack web app through NoSQL databases, APIs, backend development, and frontend development
  • Learn about software design patterns such as the singleton, factory, etc
  • Introduce topics in DevOps such as CI/CD principles as well as MLOps
  • ECE351K - Probability and Random Processes

    ShakkottaiSyllabus

  • An introduction to the mathematical foundations of probability, statistics, and random processes
  • Explore foundational topics in probability such as conditioning, Bayes Rule, Random Variables, and Independence
  • Use foundational topics to expand into Bayesian and Classical inferencing techniques and Hypothesis testing
  • An introduction into random processes such as Discrete Time Markov Chains and Poisson processes.
  • ECE461S - Operating Systems

    YerraballiSyllabus

  • Learn the fundamentals of operating systems such as process management, memory management, and file systems
  • Explore topics such as concurrency, synchronization, and deadlock
  • Created a simple shell program in C from scratch as well as a toy operating system 'PintOS' in C
  • ECE460J - Data Science Laboratory

    DimakisSyllabus

  • Learned the fundamentals of building machine learning and deep learning models using data to perform prediction, inference, and generation
  • Explored topics such as linear regression, logistic regression, neural networks, and convolutional neural networks, etc.
  • Participated in a class-wide Kaggle competition to perform binary classification on synthetic data and achieved 1st place in the class
  • Built a LoFi music generator using RNN's and VAE's as a final project
  • ECE379K - Computer Vision

    YangSyllabus

  • Learned the fundamentals or computer vision and 'teaching machines how to see'.
  • Explored topics such as convolution, edge detection, key-point detection/correspondence, camera models, and (deep) machine learning for computer vision
  • Built a basketball shot predictor using deep learning based pose estimation and gradient boosted trees.
  • ECE361E - Edge AI/ML

    MarculescuSyllabus

  • Learned about performing machine learning and deep learning on edge devices such as microcontrollers and FPGAs
  • Explored topics such as quantization, pruning, efficient neural architectures, and Neural Architecture Search
  • Explored the interaction between model design and effects on hardware (temperature, power, etc.)
  • LIN373N - Machine Learning Toolbox for Text Analysis

    LiSyllabus

  • Learned the fundamentals of natural language processing for text analysis, classification, and generation
  • Explored topics such as n-gram models, word embeddings, recurrent neural networks, and transformers
  • Built a Research Paper Summarizer by finetuning a pretrained T5 model on a dataset of research papers with associated plain language summaries
  • ECE445S - Real Time Digital Signal Processing Lab

    EvansSyllabus

  • Learned about topics in digital signal processing such as sampling, filtering, modulation, and demodulation
  • Applied these topics on an ARM microcontroller by implementing a transmitter and receiver in C
  • ECE382V - Programming Paradigms

    GligoricSyllabus

  • Learned about various programming paradigms and different programming languages that implement these paradigms
  • Explored topics such as functional programming (OCaml), object oriented programming (Smalltalk, Go), and declarative programming (SQL, Cypher), and concurrent programming (CSP, Linda)
  • Learned about the frontend of a compiler such as lexical analysis, parsing, and semantic analysis and implemented a lexer, parser, and semantic analyzer for a toy language using Java and ANTLR
  • Built an application utilizing multiple programming paradigms to process and execute Cypher queries on a graph database, and visualize the graph using Smalltalk and OCaml
  • ECE381K - Machine Learning on Real World Networks

    MarculescuSyllabus

  • Learned about network science and graph theory on real world networks such as social networks, transportation networks, and biological networks
  • Explored machine learning techniques on graphs such as graph embeddings and graph neural networks (Graph Convolutional Networks, Graph Attention Networks, etc.)
  • Built a graph neural network to predict contact tracing patterns on mobility dataset in Austin, TX