Driven by a passion for computer science,

I continued the study building on my university education. Beginning with CS61A by UC Berkeley as the first course in CS, I continued to dive deeper into data structures and algorithms, computer architecture, operating systems, programming languages theory and artificial intelligence. This ongoing journey continues to inspire me and fuels my passion for this field.

* Please note that my studies were completed using online resources, including MOOC platforms (Coursera, edX) and open courses provided by various universities. I am not affiliated with the academic institutions referenced herein.

Statically typed languages

C Java

Dynamically typed languages

Python JavaScript

Libraries and frameworks

NumPy pandas matplotlib

Web development

HTML5 CSS3 JavaScript

Database

PostgreSQL

Systems and tools

Linux Bash Git Jupyter LaTeX

Data Structures and Algorithms

Data Structures and Algorithms Practices
Total solved 1280 Submissions 3560
 
By languages:
Python 870 Python3 464
JavaScript 128 C 384
Java 318
 
By topic areas:
Array 684 String 313
Linked List 51 Tree 101
Breadth-first Search 81 Depth-first Search 106
Dynamic Programming 117

Learning more about data structures and algorithms allows me to delve into how information is organized and processed efficiently. I have studied the theories of data structures and classical algorithms, including:

  • UC Berkeley CS61B
  • Algorithms (Part I, Part II) courses on Coursera (and the algs4 textbook / website)
  • Algorithms Specialization on Coursera

In addition, I engage in regular practice to ensure a good level of proficiency and familiarity with multiple languages.

Computer Architecture

Computer Architecture

* AI-generated image

The complexities of computer architecture provide valuable understanding of how computer components interact to drive systems. In this domain, I studied the CS61C course by UC Berkeley, concentrating on the internal organization and operation of digital computers.

Operating Systems

study of operating systems

* AI-generated image

The Operating Systems Engineering course (MIT 6.1810, course number used to be 6.828, 6.S081) centers on the design and implementation of a minimalist version of Unix v6 (xv6). Adopting a "learning-by-doing" approach, the course guides participants through the integration of features into the xv6 operating system. This practical engagement in system-level programming offers an understanding of resource management in modern operating systems.

Artificial Intelligence

I am actively engaged in the dynamic and rapidly evolving field of artificial intelligence, focusing on advancements and their potential applications.

On the theory front, I have completed several specializations on Coursera. To stay current with recent developments, I learn from:

  • UC Berkeley CS294 Agentic AI (my notes on GitHub)
  • Stanford CS153 Frontier Systems
  • Stanford CS25 Transformers United