CSE 231 | Introduction to Programming I
Language: Python
Studied fundamentals of object-oriented programming and clean code practices
CSE 232 | Introduction to Programming II
Language: C++
Studied advanced programming concepts and writing optimized C++ code
CSE 260 | Discrete Structures Comp Science (Discrete Mathematics)
Topics Covered: Boolean Algebra, Computational Logic, Set Theory, Number Theory, Combinatorics, Graph Theory, Algorithmics, Information Theory, Computability & Complexity theories, Probability, Proofs, Automata Theory, Game Theory
CSE 331 | Algorithms & Data Structures
Language: Python
Introductory sorting, search, and traversal algorithms along with data containers and structures. Continued in CSE 431 below
CSE 335 | Software Design
Language: C++ (MSVC)
Libraries: MFC / ATL
Topics: Large Project Organization (Scrum, Sprints, UML Diagrams), Programming Design Models (MVM, MVVM), Design Patterns
CSE 320 | Computer Organization & Architecture
Languages: C, ARM Assembly
Topics: ARM Architecture, Circuit Design, ALU, Program Counter, Conditional Branching / Execution, Manual Flow Control
Worked as teaching assistant (TA) for two years
Designed and built fully functional 8-bit RISC ARM CPU compatible with Raspberry PI Devices
CSE 477 | Web Application Architecture & Development
Languages: LAMP Stack, JavaScript, PHP
Topics: Databasing, Async Queries (Ajax), jQuery, Composer for Classes in PHP, Dynamic Webpages, Responsive Design
CSE 325 | Computer Systems (Operating Systems)
Languages: C, C++ (GCC, Unix)
Topics: Paging, Caching, Task Scheduling, Memory Allocation, Cache Efficiency, POSIX
Libraries: GNU C Library (glibc), C Posix Library
Implemented a basic paging and caching system in C, wrote a client-server web socket implementation, created a multi-threaded program for concurrent financial transactions using mutex-based protection
CSE 450 | Translating Programming Languages (Compilers)
Languages: Python
Topics: Lexing, Parsing, ASTs, Symbol Tables, Converting to Assembly, Compiling, Linking, Optimizing Machine Code, Stack / Heap Allocation, Function Calls, Implementing Flow Control
Implemented a custom high-level language with its own compiler, which is compiled to an intermediate language for a virtual machine to run
CSE 471 | Media Processing & Computing (Audio, Image & Video Processing)
Languages: C++ (MSVC)
Libraries: MFC / ATL
Topics: Signal Processing, Wave Transformations, Fourier Transformations, Image Filters, Audio Filters, Programmatic Video Editing
Created programs in C++ to manipulate media files, including applying filters and transformations to data.
Studied mathematics behind signal processing, waveforms, and compression
CSE 472 | Computer Graphics
Languages: C++ (MSVC)
Libraries: MFC / ATL, OpenGL, WebGL, Vulkan
Topics: Linear Algebra, Shaders (Compute, Fragment, Vertex), Light-based Rendering, Raytracing, Scene-View Model, Matrix Transformations, Applying Object Transformations, Immediate, Mode Rendering, Real Time Rendering, Physical Based Rendering
Built fixed-function and shader-based renderers, created shaders in GLSL, and created a raytraced renderer
CSE 431 | Algorithm Engineering (Advanced Algorithms & Data Structures)
Languages: C++, Python
Libraries: Boost
Topics: Search Algorithms, Algorithmic Complexity, Sorting Algorithms, Greedy Algorithms, Recursion, Graph Theory, Binary Search Trees, AVL Trees, Red-Black Trees, B-Trees, Splay Trees, Data Containers
CSE 498 | Collaborative Design (Capstone)
Languages: C++, JavaScript, Python
Worked with Mozilla on their Firefox Browser
Official Firefox Contributor
MI 445 | Game Design & Development I
MI 455 | Game Design & Development II
MI 497 | Game Design Studio
MI 498 | Collaborative Game Design
MI 431 | Advanced Game Development
MI 482 | Building Virtual Worlds
Engine: Unreal
MI 339 | Games and Society
MI 101 | Understanding Media & Information
MI 201 | Introduction to Information Science
MI 301 | Bringing Media to Market (Marketing)
CMSE 201 | Introduction to Computational Modeling
Language: Python
Libraries: Pandas, Matplotlib
MI 320 | Reasoning with Data (Data Science & Modeling)
Language: R
Libraries: Dplyr, Tidyr, Tidyverse, Ggplot2, R Markdown (Rmd)
MTH 132 | Calculus I
MTH 133 | Calculus II
MTH 234 | Multivariable Calculus (Calculus III)
STT 351 | Probability & Statistics Engineering
PHY 183 | Physics for Scientists & Engineers I
Topics: Kinetics, Newton's Laws, Angular Kinetics, General Relativity, Conservation of Energy/Momentum
PHY 184 | Physics for Scientists & Engineers II
Topics: Electro-Magnetism, Lenz's Law, Flux, Induction, Capacitance, Faraday's Laws
EGR 393 | Engineering Co-op Program (Cooperative Education Experience)
Three full co-op terms completed
Read more here: https://www.careers.egr.msu.edu/the-co-op-semester
Differential Equations (Calculus IV)
Linear Algebra
CAS 116 | Media Sketching & Graphics
Programs: Photoshop, GIMP
Topics covered: Perspective, Line Art, Color Choice
CAS 206 | Graphics & Illustration (Graphic Design)
Programs: Illustrator, Photoshop
Topics covered: Fundamentals of Graphic Design, Image Compositing, Creating Vector Graphics, Cleaning Images, Filtering Images, Color Palettes
MI 247 | 3D Graphics & Design
Programs: Autodesk Maya, Photoshop, Substance Suite
Topics covered: Concepting, Modeling, Rigging, Weight-Painting, Animation
MI 291 | Special Topics (Concept Art & Design)
Programs: Photoshop
Topics covered: Framing, Presentation, Lighting, Mood, Live Drawing
MI 491 | Special Topics (Anatomy for Artists)
Programs: Photoshop
Studied the human form and how to accurately represent human anatomy while simplifying and abstracting to minimalistic shapes