Computer Science
My foundation in computer science has been essential to my growth as a programmer. In this section, I’ll share my understanding of key computer science concepts and how I apply them in my work.
Courses: Completed & In Progress
- [6/12 weeks completed] CS50 by Harvard University: Introduction to Computer Science
Core Concepts
- Algorithms: I’m proficient in understanding, creating, and optimizing algorithms, which are crucial for building effective and efficient software.
- Data Structures: I have a good grasp of data structures about arrays, linked lists, trees, graphs, hash maps, and how they impact algorithm performance.
- Object-Oriented Programming (OOP): I’m experienced in designing and developing software using OOP principles such as encapsulation, inheritance, and polymorphism.
- Databases: I’m skilled in designing relational databases and using SQL for data manipulation and retrieval.
- Operating Systems: I have a basic understanding of operating systems, including process management, threads, and concurrency.
- Computer Networks: I understand the principles of computer networks, including key protocols like TCP/IP and HTTP/HTTPS.
Detailed Skills
- Understanding and creating algorithms
- Implementing and using various data structures
- Designing software with OOP principles
- Designing and querying databases
- Basics of operating systems and process management
- Understanding the principles of computer networks