Skip to content

This repository points to all my other repositories sorted by category.

Notifications You must be signed in to change notification settings

LucasGdosR/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 

Repository files navigation

Portfolio

This repository points to my main repositories sorted by category.

Compilers (OCaml)

  • Snake languages - an incremental compiler approach, building several compilers for increasingly rich LISP languages. Encompasses all projects from Joe Politz's UCSD 131 compilers course
  • Polish to tree (Python) - a script that takes in an expression in polish notation, builds an expression tree, and walks it in different orders to produce polish, infix, and reverse polish expressions.

Systems (Mostly C)

  • Parallel zip - a multithreaded command-line program written in C that compresses files using run length encoding. One of the projects from OS:TEP course.
  • Shell - a Unix shell that implements some built in commands, output redirection, and executes binary files. One of the projects from OS:TEP course and one of the labs from CS:APP3e.
  • Custom malloc - four different implementations of malloc, free and realloc, using different policies and free-list data structures. One of the labs from CS:APP3e.
  • Cache simulator - a simulator of processor's cache implementing LRU. One of the labs from CS:APP3e.
  • xv6 lottery scheduller - I've implemented a new scheduler policy for the xv6 kernel. I don't have it saved to a repo. One of the projects from OS:TEP.
  • Assembler - an assembler written in Java to convert symbolic assembly to machine code. Capstone of the first part of Nand2Tetris course.

APIs (Java/Spring)

  • Lab Medical BD - a CRUD API using Spring. It's meant to complement the Lab Medical frontend project.

Unit Tests (Java/Spring)

  • Book API - a CRUD API using Spring centered around books. The main purpose of the project was to work on unit tests and integration tests using JUnit5.
  • Flight Ticket API - an API using Spring centered around a flight. The main purpose was to work on unit tests.

Frontend (JS and Angular/TS)

Design Patterns (Java)

  • LabMedicine - a CRUD using pure Java. I implemented the composite design pattern for the menu system.
  • Car tests - an exercise. I implemented all the rules in the Main.java file using the state design pattern.

Algorithms (Java / Python)

  • Binary Heaps - some implementations of binary heaps in Java, including a "median heap", that always returns the median.
    • A* - A* implementation to solve the 8-puzzle game optimally.
  • BST - a BST that can perform all kinds of operations based on compare routines.
    • IsBST - an algorithm to check if a tree is a binary search tree.
    • 2D Tree - an efficient data structure to find all points inside a given rectangle, or to find the nearest point given another point.
  • CS50AI (Python) - most projects from CS50AI.
  • Graphs - many implementations. Includes undirected, directed, and weighted graphs, BFS, recursive DFS, and Kruskal's MST.
    • Seam Carver - an image editing application that computes the shortest path in an acyclic digraph using the pixels' energy as the edge's weight.
    • Baseball Elimination - an application that checks which baseball teams have been eliminated by computing the maxflow of a graph (maxflow < capacity of all edges leaving source -> eliminated), and finds which teams are responsible for the elimination by computing a mincut.
  • Sorting - some sorting interview questions and implementations. Includes a quicksort implementation that's better suited for dealing with many duplicate keys in the array.
  • Stacks & Queues - a Deque implementation, a Stack implementation, a Queue implementation that uses 2 Stacks under the hood (not for production), and a Randomized Queue.
  • Tries - an application to find all possible words in a Boggle board. It uses a Trie implemented from scratch holding words from a dictionary, and Depth First Search to find all valid words, with a Set holding the words found, to prevent duplicates.
  • Union Find - some interesting interview questions answered, and a Monte Carlo simulation of a percolation problem.

Misc

  • CS50 Final Project (Python/Flask) - my first web application. It's filled with bad practices, but also has some linear programming using python's scipy, as well as frontend/backend integration using flask.

About

This repository points to all my other repositories sorted by category.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published