0% found this document useful (0 votes)
3 views

01 Course Introduction

CS 102 is a course on Object Oriented Programming taught by Kübra Kalkan at Ozyegin University, focusing on solving real-world problems through data processing and automated tools. The course covers topics such as classes, objects, inheritance, and exception handling, with a grading structure that includes projects, quizzes, and exams. Students are expected to adhere to academic ethics while working on individual projects and will face strict penalties for plagiarism.

Uploaded by

elif kocur
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

01 Course Introduction

CS 102 is a course on Object Oriented Programming taught by Kübra Kalkan at Ozyegin University, focusing on solving real-world problems through data processing and automated tools. The course covers topics such as classes, objects, inheritance, and exception handling, with a grading structure that includes projects, quizzes, and exams. Students are expected to adhere to academic ethics while working on individual projects and will face strict penalties for plagiarism.

Uploaded by

elif kocur
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

CS 102

Object Oriented Programming


About the Instructor
2

¨ Kübra Kalkan
¤ email: [email protected]
¤ 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

You might also like