Object Oriented Programming with Java

Undergraduate course, Taibah University, Department of Computer Science

I teach this course using Liang’s textbook, ‘Introduction to Java Programming and Data Structures,’ for students who have completed an introductory programming course. The textbook is easy to read and understand, especially for first-year students and particularly for those whose native language is not English. The book features many practical examples that progress as more advanced concepts are covered. The animations included in the slides and made available online greatly enhance understanding—my students and I greatly admire them!

Lab Sheets

Lab sheets are designed interactively to help students observe, analyze, and reflect. Ideally, they can serve as a set of enjoyable activities for students seeking extra practice. Originally, these sheets were intended for delivery in eleven weekly lab sessions. With slight modifications, they can also be utilized as in-class activities. Therefore, I’ve included them in both PDF and Word formats for your convenience. Any improvements to these sheets are not only welcome but also highly appreciated.

  • Lab 01: Objects And Classes (Part 1) [pdf | docx | demo]
  • Lab 02: Objects And Classes (Part 2) [pdf | docx]
  • Lab 03: Object Oriented Thinking (Part 1) [pdf | docx]
  • Lab 04: Object Oriented Thinking (Part 2) [pdf | docx | Code]
  • Lab 05: Inheritance And Polymorphism [pdf | docx]
  • Lab 06: ArrayList And Exception Handling [pdf | docx]
  • Lab 07: Files And Exception Handling [pdf | docx]
  • Lab 09: Abstract Classes And Interfaces [pdf | docx]
  • Lab 10: JavaFX Basics [pdf | docx]
  • Lab 11: Event Driven Programming [pdf | docx]