2024- Joined Luther College and started teaching undergraduate level courses, such as, Algorithms, Fundamental Web Development, and Introduction to Data Science.
2022- Joined MIU and started teaching master’s level courses, such as Machine Learning, Algorithms, Fundamental Programming Practices using Java, Advanced Object-Oriented Programming, and Procedural Programming.
2020 – Recommended by professor Dr. Osama Dorgham and offered a part-time lecturer position at Al Balqa Applied University. I have taught, Computer Skills, Object Oriented Programming using Java and Lab of Database Management Systems.
2016 – Taught high school grades SAT and IGCSE in ICDL subjects, Photoshop, Animation, Web Design at the Abdul Hamid Sharaf School.
2015 – Started working as an IT teacher for 4th to 10th grades at the International Independent School.
I was a student for 22 years of my life (13 in K-12, 3 in a Bachelor’s program, 2 in a Master of Science in Computer Science, and 4 in a Ph.D.). I have substantial experience being a student; sometimes when I was introduced to a new topic, I would ask myself, “Why are we studying this?”
This is because most of the theoretical knowledge taught in schools and universities is the summary of many years of research, and sometimes it is hard for a student to see the importance of the knowledge because it is so abstract that they can’t imagine its use. That’s why my teaching method is to show the importance of the knowledge and how it is important in the real world before explaining the information. Even in topics as simple as variables, I don’t simply say, “Variables are used to store values; they are written as int x = 10;” Instead, I explain the numbering systems, why we have different numbering systems, and how this variable is stored in memory. Usually, explaining “int x = 10;” takes me 30 minutes.
Maybe it’s too long for a simple concept, but the students gain a deeper understanding of one of the most fundamental concepts in programming languages, and I make sure to explain everything in non-boring ways.
My way of making sure the importance of the topic is clear is by giving an example to solve a problem without using the topic that we are discussing to show them the importance of this topic in the real world. I also keep giving them examples from the real world so they relate the theoretical knowledge with practical knowledge.
My methodology is student-centered. My ultimate goal is to ensure that all students understand the concept, even if I have to repeat the same thing many times to make sure everyone understands the topic. I continually ask questions to make the class interactive and to foster deep conversations about the topic, to provoke their thinking so that they think beyond the discussed topic and to ensure they understand everything.
One of my methods to make the class interactive is by allowing the students to answer each other’s questions. Sometimes the conversations last 10 minutes, but they are enriching discussions that deepen the students’ understanding of the concepts discussed. Many of our students have over ten years of experience in programming; sometimes, I learn new knowledge from my own students.
I maintain a respectful relationship with my students, ensuring all voices are heard. I consistently reflect on students’ comments in course reviews to refine my teaching methods.
Dr. Sanad Aburass