6 years of experience as a software engineer, and 3 years as a university lecturer in Computer Science.
Involved in Computing Education since 2014 as a student, a professional, and an academic.
Edraak is the largest Arabic MOOC provider in the world serving over 8 million users.
As a software engineer at Edraak, I improved performance, developed features, and enhanced learners' experience.
Maintaining and developing Al Jazeera Media Institute's E-learning websites that provide world class MOOCs and Diplomas in Journalism.
Zero To One was my Bachelors degree capstone project. It is a gamified online programming homework platform that supports auto grading, algorithm visualization, plagiarism detection, and more.
I built Seated's backend from scratch with a colleague of mine in 2017. Seated provides rewards for making restaurant reservations for millions of users in the US.
PvP is the LinkedIn of video gamers. I built PvP's backend from scratch in 2019 and integrated it to multiple streaming and video game APIs.
Worked multiple e-commerce projects for clients around the world that integrate multiple services for marketing, shipping, payments, and more.
I taught the Fundamentals of Computing course (CS1) at Al Hussein Technical University throughout the last 3 years.
Semester | Evaluation | School Average | University Average |
---|---|---|---|
Fall 2021 | 4.45 | 4.24 | 4.34 |
Spring 2022 | 3.89 | 4.19 | 4.31 |
Summer 2022 | 4.26 | 4.45 | 4.39 |
Fall 2022 | 4.67 | 4.43 | 4.37 |
Spring 2023 | 4.73 | 4.37 | 4.31 |
Fall 2023 | 4.45 | 4.42 | 4.32 |
Evaluations by students - scores out of 5
Following the results of David H Smith' IV's work on Investigating the Effects of Testing Frequency on Programming Performance and Students' Behavior, I convinced the department to move away from a mid-exam+final-project assessment model in the Fundamentals of Computing (CS1) course, to a multiple-homework based assessment model. Each homework consisted of a group of auto-graded problems that were submitted on Autolab. The development of the autograders and the assessment process on Autolab was done by me.
An example from a homework on Arrays
A student survey at the end of the course asked students to compare the way they are assessed in this course with the way they are assessed in their other courses that use the mid-exam+final project model. Results were positive for the 2 semesters I ran this assessment model. Student performance improved compared to the previous 4 semesters, and plagiarism violations were easier to prove.
Question | Midterm + Project | No Difference | Multiple Assignments |
---|---|---|---|
Which assessment model helps you study better? | 7% | 9% | 84% |
Which assessment model do you believe would have helped you improve your programming skills better and allowed you to use what you learn in this course in other courses? | 6% | 4% | 90% |
Which assessment model is more stressful in terms of trying to achieve your assessment criteria? | 66% | 14% | 20% |
Which assessment model do you believe is fairer at evaluating your competence and your final grade? | 12% | 15% | 73% |
Student responses to end-of-course assessment survey
Prompt: What did you like best about this course? |
---|
"the instructor was very good, he improved our skills and fun course" |
"Our instructor doctor Umar, and how inspiring he was to us in order for us to become better at what we do! He has such great personality with the way that he interacted with us and his relationship with us." |
"It was fun and the Doctor / Eng was literally the best thing about this course! He made it fun. I really enjoyed this course." |
"My section was perfect but others used slides to teach. I believe coding and showing work and writing codes as Dr/ Eng Umar does is waaay better then reading from slides." |
"It wasn't boring at all and I think it all back for my instructor and the course was fun" |
"The doctor way of explaining the subject and the piazza platform." |
"طريقة شرح الدكتور المثالية لتوصيل المعلومة بأبسط و اوضح صورة" Translation: The doctor's ideal approach to delivering information in the simplest and clearest way possible. |
"اهتمام الدكتور بلطلبة ومتابعتهم من حيث الاسايمنتس وبلمحاضرة واجابة على اسئلتهم في اي وقت من بيازا" Translation: The doctor's care for his students, following up with them during practice labs and on their assignments, and being available to answer questions any time of the day on Piazza. |
"Dr Umar is one of the best teachers i had the opportunity to study from" |
"The best thing about the engineer "Omar", is that he is loving, understanding, kind, and intelligent. He selflessly assists us without hesitation or any exceptions, always ready to lend a helping hand." |
"the doctor is extremely clever" |
"Everything was actually well-organized and reflected positively on the outcome." |
"The deep knowledge the instructor had shown, Assignments instead of exams, the instructor's ability to simplify complex concepts and consistently ensuring that his students have the resources and support needed to excel, has not only enhanced my understanding but also inspired a genuine interest in the subject." |
"the instructor he's the best" |
"Everything, like the way that instructor coaches us." |
"الدكتور جدا شاطر و مبدع و بحبب الطلاب بالماده من خلال تعبه و متابعته للطلاب" Translation: The doctor is very good and creative at teaching. He made the course enjoyable through his hard work and constant follow-ups with students. |
"the delivery of the information by our instructor." |
"المادة لطيفة والدكتور من احسن الناس الي درسوني اي مادة في كل حياتي بحمد الله مليون مرة انه اخذت عنده يعني في العادة بكون الدكتور يا فاهم بالمادة كثير بس شرحه مش كثير يا بكون بشرح كثير ممتاز بس علمه وسط بس كفاوين عبقري ومتمكن من المادة وبنفس الوقت كثير بعرف يشرح ويوصل المعلومة وكمان متعاون حتى لما تسأله عن موضوع برا المادة كان نفسي انه يدرس مواد غير الـ FOC كمان بس للاسف ما بدرس" Translation: The course was nice. The doctor is one of the best teachers that taught me anything in my life. I thank God a million times I took this course with him. Oftentimes, my teachers were either really knowledgeable but cannot convey information clearly, or they delivered information in a very good manner but they were not very knowledgeable. But Dr. Alkafaween is brilliant. He is very knowledgeable about the topics he teaches, and his information delivery is on point. He is also very cooperative and helpful, even when he is asked about stuff not directly related to the course. I wish he taught other courses, but unfortunately he said he is currently only teaching Fundamentals of Computing (FoC). |
"Everything. Starting from the way instructor Umar teaches the material, to the material itself." |
"Instructor Umar's interest in computer education made the course unforgettable. It improved my problem-solving skills a lot. His feedback after each oral discussion was helpful. I will never regret taking this course with him. I would definitely recommend anyone to take this course with instructor Umar." |
"Smooth communication between student and teacher" |
I use the following teaching tools in my classes:
I have a 19-hour online course that teaches basic programming in C in the Arabic language using a problem solving approach. The course is free for anyone on Youtube and can be found here.
I co-founded Codability, a non-profit programming Summer camp, with a group of friends in 2013/2014 to teach problem solving for school students through interacting with Computer Science.
As an executive member of Codability's board, and also an instructor, we graduated over 1000 students, many of which were employed by big companies like Google, Amazon, Meta, and Microsoft.
Our courses are offered by volunteers that are past and active ACM contestants; national champions, regional winners, and world finalists.
Codability's goal is to provide Computer Science education to school students regardless of their socioeconomic status, that is why our courses cost only 10% of the cost of related courses offered elsewhere in Jordan.
I have a few contributions to Autolab related to setting up the Autolab instance, running plagiarism checks, and retrieving data from the API. I also created many autograded labs that can be adopted and used by anyone. My labs support test-case checking and unit-test checking and can be used to test C programs in single or multiple files. I am working on making these labs available publicly on my Github.
I create XBlocks as part of my work at Al Jazeera Media Institute. XBlocks are educational components used to extend an LMS by adding activities with custom functionality. I currently have 2 open-source XBlocks, one for tracking attendance in a MOOC, and the other for designing customizable surveys that can contain multiple choice and free-response questions.
Attendance Record: Github
Advanced Survey: Github
This website provides a user friendly interface that helps non-tech course staff generate certain exercise and lesson types and paste them directly to OpenEdx problems to be rendered for learners. I am working on making this available and open-source.