Hi, My name is Khalid
I'm a BSc Computer Science Graduate from the University of Liverpool.
I have a strong passion for problem-solving and using Technology to build robust and scalable software.
To a greater degree, I am passionate about using Technology to serve as a basis to create efficient, effective and quality tools and solutions.
In addition to that, I am eager to continue learning and gain more exposure and experience,
to help shape me into a versatile and well-rounded Engineer.
Skills & Experience
My Core Technology Stack is Python, Java and JavaScript. Accompanying
that, I also have experience with SQL, HTML, CSS, GIT and knowledge of Docker.
Accompanying my technical skills I have knowledge of Data Structures and Algorithms, Object-Orientated
Programming Principes, as well as some Software Development Methodolgies and Design Patterns.
With this knowledge I have gained various perspectives into how using these differenct techniques and
practices can help to create more efficent and well-designed programs.
Furthermore, through a combination of University and self-study I have also touched on different technologies and areas
such as utilising API's, frameworks, and working in Data-Science, ML and AI.
Data Structures
- Lists/Arrays
- Stack
- Queue
- Deque
- Linked List
- Hash Map(Hash Table/Binary Search Tree/AVL Tree)
- Priority Queues
- Binary Heaps
- Trees
- Graphs(Adjaceny Matrix/Adjaceny list)
Algorithms/Techniques
- Recursion
- Dynamic Programming
- Binary Search
- Sorting Algorithms(QuickSort/MergeSort)
- BFS/DFS
- Dijkstra's Algorithm/Prim's Spanning Tree Algorithm
OOP
- Encapsulation
- Polymorphism
- Inheritance
- Abstraction
Software Development Methodolgies & Design Patterns
- Agile Methodology
- Pair Programming
- MVC
- Singleton Pattern
- Waterfall Model