BBS515 - Object Oriented Programming (Fall 2018)

Lecturer: Dr. Fuat Akal

Lectures: Tuesdays, @18:15 (D9)

Office Hours: Open door policy

Course Description

This course will help students understand object-oriented programming principles and apply them in the construction of Java programs.The course is structured around basic topics such as class, object, encapsulation, inheritance, polymorphism, abstract classes and interfaces and exception handling.

Course Work

Lectures will be conducted in Turkish in the classroom. Course materials will mostly be in English. Attendance and involvement in the classroom are highly encouraged but NOT mandatory. Both will be rewarded as (10+10)% while grading though.


Grading will be done over attendance (10%), involvement (10%), project work (40%) and a final examination (40%).

Reference books

Java - An Introduction to Problem Solving and Programming, Walter Savitch, Pearson, 2012
Java - How to Program, Paul Deitel and Harvey Deitel, Prentice Hall, 2012

Additional Resources:

Your programs need to work in the standard environment as we evaluate them on Although you could work on command line, Eclipse is the best way to work with Java.


Week # Date Title Slides
1 09.10.2018 Introduction to Java  
2 16.10.2018 Introduction to Objects  
3 23.10.2018 Classes and Objects in Java  
4 30.10.2018 Encapsulation  
5 06.11.2018 Inheritance  
6 13.11.2018 Polymorphism  
7 20.11.2018 Project Work  
8 27.11.2018 Abstract Classes and Interfaces  
9 04.12.2018 Collections  
10 11.12.2018 Exceptions  
11 18.12.2018 Streams and Input/Output  
12 25.12.2018 Project Work  
13 01.01.2019 No Lecture  
14 08.01.2019 Review for Final Examination  


The course webpage will be updated regularly throughout the semester. All other course related communications will be carried out through Piazza. Please enroll by following the link below: