Yared Fikremariam
Education
20202023
B.S. in Computer Engineering - University of Maryland
- Algorithms & Data Structures
- Operating Systems
- Computer Architecture
- Compilers
- Artificial Intelligence & Machine Learning
- Computer Vision
- Data Science
- Reverse Engineering
Projects
20222023
miniTorch | Python
- Activation functions & optimizers: ReLU, Sigmoid, tanh, SGD, Adam
- Layers:Linear, BatchNorm1d, BatchNorm2d, Dropout, Conv1d, Conv2d, MaxPool2d, AvgPool2d
- Loss functions: CrossEntropyLoss, Mean squared error
- RNN, GRU and Computational graph visualizer
2022
Compiler | Racket, C, x86 assembly
- Primitives, vectors, strings, variadic operations & syntax checking
- Inductively defined data types with cons and box
- Pattern matching
- Conditionals & Dispatch Evaluation with Cond and Case statements
- Binding for arbitrary number of expressions with let statements
- Functions with arity-checking, rest arguments, arity-based dispatch, and tail call support
- Lambda statements and Multiple returns
2022
Chess AI | Python
- Two players, Against computer or Self play modes
2021
Regular Expression Engine | OCaml
- Regular Expression to Non-Deterministic Finite Automata (NFA) conversion
- NFA to Deterministic Finite Automata (DFA) conversion
- Runs the DFA on an input string to see if the input string is accepted
2021
MicroCaml Lexer, Parser & Interpreter | OCaml
- a lexer that converts an input string of MicroCaml into a list of tokens
- a parser that consumes the tokens to produce an abstract symbol tree (AST)
- an interpreter that executes the produced AST
- a REPL, like utop for OCaml