MY PORTFOLIO

👋 Hello there!

I'm Loh Hao Wei (B122510451)

Web Developer

Hi, I’m from Negeri Sembilan. I studied Metallurgy Engineering at UniMAP and I'm now continuing my studies Computer Engineering at Universiti Teknikal Malaysia Melaka (UTeM). I like learning by doing, so I enjoy things like programming, machining, and drawing. I aim to create efficient, reliable, and scalable software that combines logic and creativity. In my free time, I play games, take photos, and play ping pong.

21+ Diploma Courses
3 Years Education
1+ Work Experience
Profile photo of Asep
Design & Creativity
Technical Expertise
Software Proficiency
About Asep
Prefer Problem
Solving

What I Do To Sharpen My Programming Skills

My programming skills improve through regular practice. I use logic and I follow programming rules when I write code. I learn such as C++ using learning materials from GeeksforGeeks, and this helps me understand the basic rules and structure of the language. I include daily coding challenges in my routine, and this helps me improve my thinking. This practice makes it easier for me to see patterns in code. It also helps me find and fix errors.

Some video games include puzzles that use code. I use platforms such as Codédex and Codewars, and they give problems that require real coding solutions. I play these games, and this builds my attention to detail. This process is similar to real debugging in programming. I look for mistakes, and I fix them in the correct order. I also try to use fewer lines of code to save resources.

Personal projects also support my learning so I try to build an app or a website to improve my skills. I do search for answers and test new ideas when problems often appear during development. Beside that, coding communities also play a role. I use GitHub such as C++ topic community to view real projects.

Personal Reflection

Technical and Personal Growth

I learned the basic concepts of data structures and algorithms such as Big-O notation, arrays, stacks, queues, and sorting. I also learned how to use C++ better. Personally, I became more confident in problem solving and working with others.

Group Project Challenges

The main challenge was understanding the problem at the beginning and managing different ideas from team members. We discussed together, shared tasks, and helped each other. Good communication helped us complete the project successfully.

Learning Experience

Discussions with friends during class and on Padlet helped me understand topics more clearly. When we shared ideas and asked questions, learning became easier and more interesting. Group work also helped me learn from others.

Contributions

By sharing my thoughts and helping in discussions, I understood the topics better. Explaining ideas to my friends also helped them understand. This made learning more active for everyone.

Learning Journey

During class, I listened to the lecturer, discussed with friends, and took part in activities. The class environment was supportive and comfortable. This helped me stay focused and motivated to learn.

Learning Experience With Lecturer

Dr. Fajar explained complex topics in a clear and simple way. His guidance helped me understand difficult concepts. He also encouraged discussion and student participation.

Benefit in Future Courses

The skills learned in this course will help me in future programming subjects. Understanding data structures and algorithms is important for my career. It also improved my teamwork and communication skills.

Mid Term Reflection

After mid term, this course helped me build a strong foundation in C++ and allowed me to understand a lot of key concepts of data structures and algorithms. Dr Fajar's guidance made complex topics easier to understand. I still not very good at coding. I think I should do a lot of exercise with my friends to discuss about it with the topic don't so good at it such as class and queue. Last, I also use the Padlet platform for some notes to throughtout the course.

Conclusion

At the end of the course, this course has helped me build a strong foundation in C++ and allowed me to understand a lot of key concepts of data structures and algorithms. The group project was challenging at first, but we completed it successfully with great teamwork and communication. Working with my friends and engaging in class discussions was a fun and exciting experience and overall was a great learning experience. Dr. Fajar's guidance made complex topics easier to understand. Overall, this experience has strengthened both my technical and teamwork skills, which will benefit me in future studies and my career. I am truly grateful to have Dr. Fajar delivered this subject and was grateful to my peers for helping me throughout the course by engaging and sharing in the Padlet. Thank you all! 😶‍🌫️

Notes

Introduction to Data Structures and Algorithm Analysis

An algorithm is your step-by-step plan or instruction manual and data structure is how you organize your tools and materials to make following that plan efficient.

Algorithms Linked Data Structures Coding Approach Big-O Notations

Array

An array is a collection of elements stored at contiguous memory locations. It's one of the most basic and widely used data structures in computer science.

Operations Static and Dynamic Move and Swap Insert and Remove Rotate

Abstract Data Type (ADT)

An ADT is a model for a data structure that defines what operations are performed but not how they're implemented.

Functions Class Structures

Stack

A Last-In-First-Out (LIFO) linear data structure where elements are added and removed from the top.

Top Element Operations Current Position

Queue

A queue is a data structure that follows the First In, First Out (FIFO) principle. Elements are added at the Rear.

Front Rear Count

Sorting Algorithms

A sorting algorithm is a set of instructions in computer science that organizes elements of a list or array into a specific sequence, such as numerical or lexicographical (alphabetical) order.

Bubble Sort Selection Sort Insertion Sort Merge Sort Quick Sort Searching Algorithms

Searching Algorithms

A searching algorithm is a step-by-step procedure used to find a specific item or value within a collection of data. These algorithms are fundamental in computer science, used in applications from databases and web search engines to artificial intelligence and GPS navigation systems.

Step-by-Step Linear Binary

Linked List

A linked list is a fundamental data structure where data elements (nodes) are linked sequentially, not necessarily in contiguous memory, with each node holding its data and a pointer (link) to the next node, allowing for efficient dynamic resizing, insertions, and deletions compared to static arrays.

Nodes Link Singly Linked List Doubly Linked List Circular Linked List

Tree

A tree is a hierarchical data structure consisting of nodes connected by edges. It is used to represent hierarchical relationships between elements.

Hierarchical Nodes Pre-Order In-Order Post-Order