Teaching Experience: Object-Oriented Programming Lab

Undergraduate course, Muria Kudus University, Department of Informatics Engineering, 2019

During my Bachelor’s studies, I had the amazing opportunity to serve as a Teaching Assistant for an Object-Oriented Programming (OOP) Lab course under the guidance of Mr. Mukhamad Nurkamid, a Senior Lecturer at Muria Kudus University. It was incredibly rewarding to introduce over 180 students to the fundamental principles of OOP and to help them develop a strong foundation in programming.

Subjects Covered:

Classes and Objects: Understanding the concepts of classes, objects, encapsulation, abstraction, and inheritance. Polymorphism: Exploring the principles of polymorphism, including method overriding and overloading. Data Abstraction and Encapsulation: Implementing data hiding and access control mechanisms using access modifiers. Inheritance and Composition: Creating object hierarchies through inheritance and utilizing composition for complex object structures. Interfaces and Abstract Classes: Defining behavior contracts using interfaces and abstract classes for code reusability. Exception Handling: Designing robust programs by managing and handling runtime errors effectively.

My Role:

Working alongside Mr. Nurkamid, I actively supported students in their OOP development journey. My key responsibilities included:

Facilitating Lab Sessions: Guiding students through practical exercises designed to solidify their grasp of OOP concepts. This involved demonstrations, code walkthroughs, and collaborative problem-solving activities. Providing Individualized Feedback: Offering personalized support and addressing student questions during lab sessions and office hours to ensure clear understanding. Grading Assignments: Evaluating student lab work and providing constructive feedback to improve their coding skills and OOP design principles. Building a Supportive Learning Environment: I strived to create a welcoming and encouraging atmosphere where students felt comfortable asking questions, experimenting with code, and learning from their peers.

Collaboration with Mr. Nurkamid:

Mr. Nurkamid played a crucial role in this experience. His expertise in OOP, combined with his continuous support and encouragement, helped me develop my teaching skills. Our collaboration, which began over four years ago as a student and instructor, has fostered a shared passion for computer science education.