Tech Stack
Java
Algorithms
Data structures
JUnit
Performance benchmarking
Overview
As part of UC San Diego’s Data Structures and Performance course, I completed a series of projects implementing fundamental CS concepts in Java. These assignments covered text processing, data structures, algorithm design, performance benchmarking, and testing — mirroring the skills expected in entry-level industry roles.
Projects
- Text Readability Analyzer — Implemented
BasicDocumentandDocumentclasses to compute Flesch Readability Scores. Practiced string tokenization, regex, and unit testing. - Efficient Text Processing & Benchmarking — Built
EfficientDocumentwith pre-computed word/syllable/sentence counts and benchmarked againstBasicDocument. Graphed performance and applied Big-O analysis. - Custom Linked List — Developed a generic
MyLinkedList<E>with sentinel nodes, implementing add, remove, set, and thorough JUnit test coverage. - Autocomplete with Tries — Implemented
AutoCompleteDictionaryTrieto support word completions, using a Trie and BFS for predictions:contentReference[oaicite:3]{index=3}. - Spelling Suggestion Engine — Designed
NearbyWordsto generate spelling corrections using edit-distance mutations and BFS:contentReference[oaicite:4]{index=4}.
Skills Demonstrated
- Core data structures: linked lists, tries, hash tables
- Algorithm design: BFS, string mutation, performance optimization
- Unit testing: JUnit test suites, edge-case validation
- Complexity analysis: predicted & benchmarked runtimes
- Object-oriented programming in Java