CS 102
Object Oriented Programming
About the Instructor
2
¨ Kübra Kalkan
¤ email: kubra.kalkan@ozyegin.edu.tr
¤ office: 103
Computer Science
3
¨ The science of solving real world problems by
processing data and developing automated tools
with the help of computers.
Source: “Core: Defining Classes and
Ozyegin University - CS 102 - Object Oriented Programming Creating Objects” Lecture Notes from
UCSD Course on OOP in Java
Computer Science
4
¨ The science of solving real world problems by
processing data and developing automated tools
with the help of computers.
Source: “Core: Defining Classes and
Ozyegin University - CS 102 - Object Oriented Programming Creating Objects” Lecture Notes from
UCSD Course on OOP in Java
A real world problem
5
¨ Which movies should Netflix recommend to me?
Ozyegin University - CS 102 - Object Oriented Programming
A real world problem
6
¨ Which movies should Netflix recommend to me?
¨ Ok yes, it is not the most serious problem of the
world J, but still it is a problem to be solved.
Ozyegin University - CS 102 - Object Oriented Programming
A real world problem
7
¨ Which movies should Netflix recommend to me?
¨ To solve this problem, we need to process some
data like …
Ozyegin University - CS 102 - Object Oriented Programming
8
Ozyegin University - CS 102 - Object Oriented Programming
9
Ozyegin University - CS 102 - Object Oriented Programming
10
Ozyegin University - CS 102 - Object Oriented Programming
11
Ozyegin University - CS 102 - Object Oriented Programming
12
Ozyegin University - CS 102 - Object Oriented Programming
A real world problem
13
¨ Which movies should Netflix recommend to me?
¨ To solve this problem, we need to process some
data like movies, series, actors, users etc.
Ozyegin University - CS 102 - Object Oriented Programming
A real world problem
14
¨ Which movies should Netflix recommend to me?
¨ To solve this problem, we need to process some
data like movies, series, actors, users etc.
¨ How much data then?
Ozyegin University - CS 102 - Object Oriented Programming
A real world problem
15
¨ Some statistics about Netflix
¤ 302 Million subscribers (2025)
¤ Each user spends two hours per day
¤ Pushed billions of GB of data
Source:http://expandedramblings.com
Ozyegin University - CS 102 - Object Oriented Programming /index.php/netflix_statistics-facts
A real world problem
16
¨ Some statistics about Netflix
¤ 302 Million subscribers (2025)
¤ Each user spends two hours per day
¤ Pushed billions of GB of data
¨ Today, we create and therefore have to deal with
large amounts of data.
Source:http://expandedramblings.com
Ozyegin University - CS 102 - Object Oriented Programming /index.php/netflix_statistics-facts
Computer Science
17
¨ The science of solving real world problems by
processing data and developing automated tools
with the help of computers.
Source: “Core: Defining Classes and
Ozyegin University - CS 102 - Object Oriented Programming Creating Objects” Lecture Notes from
UCSD Course on OOP in Java
Computer Science
18
¨ The science of solving real world problems by
processing large amounts of data and developing
automated tools with the help of computers.
Source: “Core: Defining Classes and
Ozyegin University - CS 102 - Object Oriented Programming Creating Objects” Lecture Notes from
UCSD Course on OOP in Java
Computer Science
19
¨ The science of solving real world problems by
processing large amounts of data and developing
automated tools with the help of computers.
¨ Solving problems require us to organize this data in
a way that is easy to maintain in our proposed
solutions (programs)
Source: “Core: Defining Classes and
Ozyegin University - CS 102 - Object Oriented Programming Creating Objects” Lecture Notes from
UCSD Course on OOP in Java
Computer Science
20
¨ How are we going to maintain this information in
our programs?
Ozyegin University - CS 102 - Object Oriented Programming
Computer Science
21
¨ How are we going to maintain this information in
our programs?
¨ Our proposed programs need to match to the
problem we are trying to solve
¤ In the problem, what are the real world objects?
n what kind of information do they hold?
n what kind of functionalities do they have?
Source: “Core: Defining Classes and
Ozyegin University - CS 102 - Object Oriented Programming Creating Objects” Lecture Notes from
UCSD Course on OOP in Java
Computer Science
22
¨ How are we going to maintain this information in
our programs?
¨ Our proposed programs need to match to the
problem we are trying to solve
¤ In the problem, what are the real world objects?
n what kind of information do they hold? (attributes)
n what kind of functionalities do they have? (behavior)
Source: “Core: Defining Classes and
Ozyegin University - CS 102 - Object Oriented Programming Creating Objects” Lecture Notes from
UCSD Course on OOP in Java
Computer Science
23
¤ We need to be able to express all daily life
problems in terms of program. We need to solve
the problem in terms of these objects
n Objects in the real world ~ Objects in our programs
n Low representational gap
¤ The object oriented programming
Source: “Core: Defining Classes and
Ozyegin University - CS 102 - Object Oriented Programming Creating Objects” Lecture Notes from
UCSD Course on OOP in Java
Netflix Example
24
¨ Can you think of any real world objects for the
Netflix problem?
¨ What about their attributes and behaviors?
Ozyegin University - CS 102 - Object Oriented Programming
Classes & Objects
25
¨ A class is a type of data
¤ Class provides a description (template) of how to hold
the data and what to do with it
¨ An object is an instance of class
Ozyegin University - CS 102 - Object Oriented Programming
Classes & Objects
26
¨ Instantiation is analogous to making
cookies from a cookie cutter.
¤ The cookie cutter is the class which
specifies the shape of each cookie
¤ Cookies are objects, the values of
their fields (e.g. color of buttons) may
be different. Each object has its own
identity, but they are created from
the same specification.
Ozyegin University - CS 102 - Object Oriented Programming
Topics to be Covered
27
¨ Classes and objects
¨ Objects and memory
¨ Class hierarchy and inheritance
¨ Abstract classes and interfaces
¨ Visibility of class members
¨ GUI programming, listeners
¨ Static members and methods
¨ Inner classes
¨ Exception handling
Ozyegin University - CS 102 - Object Oriented Programming
Learning Outcomes
28
¨ Implement the necessary interface of an object and
creation of an abstract object.
¨ Utilize static and non-static methods.
¨ Utilize fundamental collection objects.
¨ Implement programs that use polymorphism.
¨ Implement an object oriented solution to a problem.
¨ Implement programs that are catching exceptions.
Ozyegin University - CS 102 - Object Oriented Programming
30 Course Organization
Ozyegin University - CS 102 - Object Oriented Programming
Weekly Schedule
31
¨ Lectures
¤ Monday: 08:40-10:30 EF AB1 # 237
¤ Tuesday: 08:40-10:30 EF AB1 # 237
n Tuesday lectures will be used for labs
n Cover additional lectures & course related materials
n Oral exams sessions will be held.
n Do practices
¨ Lecture slides will be uploaded to LMS
Ozyegin University - CS 102 - Object Oriented Programming
Grading
32
15% Project
30% Quizzes &
Oral Exams
55% 2 Exams
¨ Any one of the following results in a failing grade
¨ Missing a midterm exam or the final
¨ Overall grade average below 45 (over 100)
Ozyegin University - CS 102 - Object Oriented Programming
Exams
33
25% Midterm
30% Final
55% Total
¨ If you miss one exam, you will fail!
Ozyegin University - CS 102 - Object Oriented Programming
Make-Up Exams
¨ Don’t take make-up exams unless you have a very
convincing reason
¤ If you get sick you better be really sick.
¨ You are allowed to take only 1 make-up, so never
ever miss more than 1 exam.
¨ Make-up exams will be done after the final exam.
¨ You can take a make-up only if getting the average
score from other components are enough for you to
pass this course.
Ozyegin University - CS 102 - Object Oriented Programming
Quizzes & Oral Exams
35
¨ We will have pop up quizzes.
¨ They can be at any time (in class hours or in labs).
¨ The total grade of the quizzes and oral exams will
be 30%.
¨ Oral exams will be during the lab hours.
¨ A question set will be given before the lab.
¨ Then the students will be asked to solve a question
from the given set.
¨ The students will solve the questions on the board.
Ozyegin University - CS 102 - Object Oriented Programming
Project
37
¨ The same project will be expected from all of you.
¨ It will be an individual project, not in groups.
¨ The details will be announced later.
¨ It will affect 15% of your total grade.
Ozyegin University - CS 102 - Object Oriented Programming
Programming Environment
38
¨ Programming language: Java (without ACM library)
¤ Standard Development Kit (SDK)
¨ Development environment:
¨ Projects will be accepted via LMS
¤ http://lms.ozyegin.edu.tr
Ozyegin University - CS 102 - Object Oriented Programming
Programming Assignments
39
¨ Your Project will have strict guidelines for input /
output / submission
¤ Any submission which does NOT obey these guidelines will
be given a 0 (zero/sıfır/null) grade
¨ Late submissions will not be accepted
¨ If you will not attend demo of the projects you will be
graded as 0.
¨ If you will not attend or cannot answer the questions in
demo, (it does not matter if you get full points from the
project) you will be graded as 0.
¨ No exception to these rules
Ozyegin University - CS 102 - Object Oriented Programming
Programming Assignments
40
¨ We expect that you adhere by basic academic
ethics guidelines while working on your projects.
¤ You can study with your friends, but the
implementation must be performed individually.
¤ You should not look at the code of somebody else.
¨ Zero tolerance policy
¨ In case of plagiarism
¤ You will receive -100 as a grade
¤ You will be sent to the University Disciplinary
Council
Ozyegin University - CS 102 - Object Oriented Programming
Any Questions ?
Ozyegin University - CS 102 - Object Oriented Programming
Sources of Used Netflix Images
45
¨ Slide 6 (Netflix Recommendations):
¤ https://analytics.club/wp-content/uploads/2015/09/netflix-
recommendations.jpg
¨ Slide 9 (Netflix Movies):
¤ http://blogs.indiewire.com/shadowandact/netflix-explains-why-it-doesnt-
always-have-that-film-or-tv-show-you-really-want-to-see-video
¨ Slide 10 (Netflix Series):
¤ http://compauta.com.br/vai-de-rodizio-ou-a-la-carte/
¨ Slide 11 (Netflix People Search):
¤ http://technabob.com/blog/2012/08/26/netflix-people-search-xbox-360/
¨ Slide 12 (Netflix Director):
¤ http://dvd-rental-review.toptenreviews.com/netflix-review.html
¨ Slide 13 (Netflix Users):
¤ http://www.latintimes.com/netflix-launches-user-profiles-how-many-netflix-
profiles-can-you-have-one-account-129910
Ozyegin University - CS 102 - Object Oriented Programming