Summary
Education
Skills
Websites
Awards
SENG 300 Assignment 1
SENG 300 Assignment 2 and 3
Project Iterations
Timeline
Generic

Hussain AlAbdulkareem

Calgary,AB

Summary

Hi, I’m Hussain, a second-year computer science student currently studying at the University of Calgary. My interests include Cybersecurity, Software Engineering, and AI, and I’m experienced when it comes to data structures, programming, machine learning, and algorithms. My hard work and dedication toward my degree are reflected by my high GPA.

Education

Bachelor of Science - BS - Computer Science

University of Calgary
04.2026

Skills

  • HTML CSS JavaScript
  • Data Structures and Algorithms
  • Python Java C
  • Armv8 Assembly

Awards

  • Dean's list
  • President's Admission Scholarship

SENG 300 Assignment 1

During Assignment 1, I acquired a substantial amount of hands-on experience in practical applications and gained a better understanding of software engineering concepts. Writing the various use cases and drawing the UML diagrams taught me how to convert the non-technical requirements of a client into practical models. Additionally, the assignment helped me improve at teamwork by thinking as a team instead of thinking as an individual and considering the possibility of various, different views and ideas. Reflecting back on assignment 1, I definitely believe that my effective communication skills which were crucial for avoiding misunderstandings among my peers and my adaptability to my team’s changing plans were part of my strengths. However, a part that I could improve on the next time is time management, since I spent way more time than expected on some parts of the assignment.

SENG 300 Assignment 2 and 3

During Assignment 2, I expanded my knowledge of UML to include structure, sequence, and state diagrams. Since the structure diagram is the diagram that requires the most amount of work in the assignment, I and all my team members decided to work on it together. With our efficient teamwork and UML knowledge, we employed a “divide and conquer” strategy for the structure diagram which allowed us to finish it quickly, effectively demonstrating our harmony as a team. However, when it was time for me to work on the sequence diagram that I was tasked with doing, I found that decoding the architecture and inheritance relationships among multiple classes to be quite challenging and difficult. But, thanks to the difficulty and hardship that I faced, my ability to convert code into UML diagrams improved exponentially. Personally, I believe we could’ve improved our assignment 2 submission by spending more time on making the arrows of the structure diagram more neat and ordered. During Assignment 3, I learned how to construct test cases for the software that I was given. Despite the difficulty curve at the start, finally understanding new concepts, such as branch and instruction coverages, was a fascinating and insightful experience. Even though coding the test cases was challenging, time-consuming, and truthfully, frustrating at times, watching the lines of code go from red or yellow to green felt both rewarding and amazing, especially when I reached 100% coverage. I think that we could’ve enhanced our assignment 3 submission by going more in-depth about our test cases in the written report portion of the assignment.

Project Iterations

I worked with a group of 21 people to implement and test the software code for a self-checkout station over three iterations. The way we split the work was that 8 people would work on the first iteration, 13 people on the second, and the entire group on the last iteration. Even though I was assigned to work on iteration 2, which meant I wasn't given any work on the first iteration, I still made sure my teammates were making progress and was there to support them if needed. Additionally, since the iterations build over each other, I ensured that I was always up-to-date with iteration 1's implementation. By the time iteration 2 rolled out, I was already equipped with superb knowledge to face its daunting challenges. I was assigned with implementing two use cases—printing receipt and adding own bags—and their test cases. I found myself in a subgroup of three other people and decided to step forward to lead the team. On top of working on the code and test cases, I organized meetings every other day and ensured that the requirements of this iteration were fulfilled before the deadline, showcasing my excellent leadership, communication, and collaboration skills. Since I was the leader, all questions and concerns were directed toward me, and I made sure that no question went unanswered and no problem unresolved, displaying outstanding problem-solving skills and dedication to my group. Reflecting back on the second iteration, I definitely believe that I gained invaluable experience when it comes to software development, testing, and working in a team. As for the difficulties we encountered, I would say setting up Git on our local devices took much more time than we had anticipated. Because always having extra room for improvement is a strong belief of mine, I feel as though, we could've polished our code more by removing commented-out code that was left in the submission. As for iteration 3, it's still ongoing at the moment, and I'm still designated as the leader of the same subgroup. We were assigned with implementing and testing four use cases this time, and we are working diligently and restlessly to finish as soon as possible to allow adequate time for the GUI and presentation teams to finish their parts before the deadline.

Timeline

Bachelor of Science - BS - Computer Science

University of Calgary
Hussain AlAbdulkareem