Hi, I'm Brandon
Student at UC Berkeley - College of Engineering
Brandon is a Junior at UC Berkeley major in Electrical Engineering and Computer Science and minoring in Data Science with a passion for the intersection between space and technology as well as building equitable spaces in engineering. With experience in data structures and algorithms, computer architecture, circuit design and analysis, as well as cryptography and computer security.
Projects
Gitlet - Java
● Built version-control system that utilizes SHA1 hashing system and serialization to maintain persistence of files within the program, with the ability to commit file changes, revert to previous versions, and create branches.
● Implemented through the use of the breadth-first search algorithm, sets, maps, deques, and other data structures.
- Language: Java
MiniNumpy - C
● Developed a library for performing mathematical operations on matrices and arrays with specific attention to memory allocation using SIMD instructions and OpenMP for parallelization in order to achieve maximum speed and efficiency.
- Language: Java
Enigma Encryption Machine - Java
● Translated an analog Enigma machine into code that functions like its original used in WW2 to encrypt input. Accomplished primarily using scanners, Hashmaps, String Manipulation(Regex), and ArrayLists.
- Language: Java
Jump Game with AI Opponent - Java
● Built classic jump game with support for human players as well as AI that finds the optimal move to make with adjustable difficulty.
● Achieved by recursively using the MiniMax algorithm which incorporated the use of Alpha-Beta Pruning as well as through the use
of Stacks, 2D Arrays, and ArrayDeques.
- Language: Java
Technical Coursework
- CS61A: Structure and Interpretation of Computer Programs
● Focus on abstraction techniques to manage complexity such as functional programming, data abstracton, and object oriented-programming - CS61B: Data Structures
● Focus on Fundamental dynamic data structures, linear lists, queues, trees, and other linked structures; arrays strings, and hash tables.
● Algorithms for sorting and searching. - CS61C: Great Ideas in Computer Architecture (Machine Structures)
● The internal organization of and operation of digital computers, Machine Architecture, Operating systems - CS70: Discrete Mathematics and Probability Theory
● Logic, infinity, and induction. Modular arithmetic and cryptography.
● Polynomials, correcting codes and interpolation.
● Probability including sample spaces, independence, random variables, law of large numbers. - CS161: Computer Security
● Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications.
● Operating system security, access control and software security, defensive programming, and language-based security. - CS170: Efficient Algorithms and Intractable Problems
● Concept and basic techniques in the design and analysis of algorithms.
● Algorithms for optimum search trees, balanced trees and UNION-FIND algorithms.
● Numerical and algebraic algorithms; combinatorial algorithms.
● Unsolvable and intractable problems. - EECS16A: Designing Information Devices and Systems I
● Vectors and matrices, eigenvalues and eigenvectors,
● Design and circuit analysis,
● Intro to machine learning - EECS16B: Designing Information Devices and Systems II
● Introduction to machine learning, circuit design, control, and signal processing.
● Linear-algebraic concepts motivated by application contexts.
Skills
- Programming Languages:
Java, Python, C, SQL, RISCV, Go, Scheme - Tools
Git, Adobe Photoshop, Adobe AfterEffects, Adobe Illustrator, IntelliJ, Github