Topics Covered:
Predictive modeling, regression and classification, data cleaning and preprocessing, feature engineering, unsupervised methods, principal component analysis, data clustering, model selection and feature selection, entropy and information theory, neural networks, deep learning, and machine learning for signals and time-series data
Experience:
Kaggle Competition
- Achieved 11th place out of 87 students by using a gradient boosting machine learning algorithm, tuning hyperparameters, and preprocessing data
Topics Covered:
Concurrency, lock-based and lock-free synchronization, resource allocation, multi-threaded programming, distributed systems programming, mutual exclusion, global snapshots, global property evaluation, message ordering, consensus, Byzantine agreement, commit protocols
Topics Covered:
Design and development of large-scale software systems using automated analysis tools, generation of concrete software engineering artifacts at all stages of the software life-cycle, design principles and methods, design and modeling tools, collaborative development environment, object-oriented design and analysis, design patterns and refactoring, integration and testing tools, debugger and bug finder, program comprehension, software life-cycle and evolution
Topics Covered:
Operating system design and implementation, the shell, process management and system calls, memory management, thread management, scheduling, synchronization, concurrency, file systems, input/output systems, virtual machines, networking and security
Experience:
Pintos
- Implemented basic functionality of an operating system including multithreading, user program system calls, virtual memory, and a file system
Topics Covered:
Advanced problem solving methods, algorithm design principles, complexity analysis, study of the nature, impact, and handling of intractability, study of common algorithmic classes and their applications
Topics Covered:
Basic problem solving, design and implementation techniques for imperative programming, structured programming in the C/C++ language, programming idioms, introduction to software design principles including modularity, coupling and cohesion, introduction to software engineering tools, elementary data structures, asymptotic analysis
Topics Covered:
Methods for engineering software with a focus on abstraction, specification, design, implementation, and testing of object-oriented code using a modern development tool-set for complex systems, design and implementation of object-oriented programs in Java, abstract data types, inheritance, polymorphism, parameterized types and generic programming, the operation and application of commonly used data structures, exception handling and fault tolerance, introduction to algorithm analysis, teamwork models
Topics Covered:
Embedded systems, machine language execution, assembly and C language programming, local variables and subroutines, input/output synchronization, analog to digital conversion and digital to analog conversion, debugging, and interrupts
Experience:
Harry Potter Video Game
- Interfaced a TI TM4C LaunchPad microcontroller with LEDs, slide potentiometer (ADC), audio jack (DAC), buttons, and LCD screen
- Implemented 4 extra credit software features in 1 week through pair programming