Presentation For Object Oriented Programming
Presentation For Object Oriented Programming
Programming
Chapter 1: Introduction
1.1 Computer Programs
1.2 The Anatomy of a Computer
1.3 The Java Programming Language
1.4 Becoming Familiar with Your Programming Environment
1.5 Analyzing Your First Program
1.6 Errors
1.7 Problem Solving: Algorithm Design
1
3.10.2023 18:27 ©ÇELİK
Object Oriented Programming
Syllabus
❑ Semester: 2023-2024 Fall
❑ Course Description: SENG 209 Object Oriented Programming
❑ This is an introductory course for the topics to object-oriented programming
with Java.
❑ The course also covers the fundamentals of algorithmic problem-solving
techniques by using basic control and data structures.
❑ Other topics include fundamental data types, control structures including
conditions and iteration, arrays, input and output.
❑ The course is a conceptual and application-based course on object-oriented
programming using the widely used java programming language.
❑ Basic concepts associated with object-oriented programming will be
introduced using the java Programming language and explained with
examples.
❑ Recommended - Textbook: Big Java: Late Objects, by Cay
2 Horstman, John Wiley & Sons Inc., ISBN: 978-1-118-08788-6
3.10.2023 18:27
❑ Course Hours: 3 hours of lecture & 2 hours of Lab. per week ©ÇELİK
Object Oriented Programming
Syllabus
❑ Learning Outcomes:
▪ Main objectives are:
✓ To understand fundamentals of a computer and programming topics,
✓ To develop basic computational thinking skills, i.e., algorithmic thinking
✓ To get familiar with fundamental concepts and terminology in computer programming
✓ To be able to use an integrated development environment to design and write code in the
Java programming language.
✓ To define and correctly use data types, decision structures, arrays, conditionals and loops.
✓ To understand the use of predefined classes and objects.
▪ Also, students
✓ Will be able to explain the basic principles of the use of abstraction,
✓ Will be able to explain the basic principles of object-oriented design workflow,
✓ Will be able to write object-oriented programs using the C# programming language,
✓ Be able to apply the concept of inheritance in object-oriented design,
✓ Will be able to apply the concepts of polymorphism and abstract classes as part of object-
3 oriented design.
3.10.2023 18:27 ©ÇELİK
Object Oriented Programming
Syllabus (For detailed syllabus look at the portal )
Total
Type Label Count
Contribution Evaluation of Lab grade:
1 Final written exam Final 1 40 Average all Lab exercises (approx. 8 for
this semester) will be evaluated as one
2 Midterm: written exam Midterm 1 30 grade + 2 Lab exams form the grade,
which is (Lab Exam 1+ Lab Exam 2+
3 Homework Homework Ave. of Lab assignments) / 3 = Lab
Grade
4 Quiz Quiz
4
3.10.2023 18:27 ©ÇELİK
Object Oriented Programming
Useful Links & Learning Materials
▪ BIG JAVA: LATE OBJECTS, 2ND EDITION ▪ TUTORIALSPOINT
▪ https://www.wiley.com/en- ▪ https://www.tutorialspoint.com/java/java_environm
gb/Big+Java%3A+Late+Objects%2C+2nd+Edition-p- ent_setup.htm
978111932107101
▪ W3SCHOOLS
▪ Student Companion Site ▪ https://www.w3schools.com/java/default.asp
▪ https://bcs.wiley.com/he-
▪ JAVATPOINT
bcs/Books?action=index&itemId=1119321077&bc
sId=10406 ▪ https://www.javatpoint.com/java-tutorial
6
3.10.2023 18:27 ©ÇELİK
Object Oriented Programming- Chapters
⚫ Chapter 1: Introduction ⚫ Chapter 14: Sorting and searching
⚫ Chapter 2: Fundamental Data Types ⚫ Chapter15: The Java Collections Framework
⚫ Chapter 3: Decisions ⚫ Chapter 16: Basic Data Structures
⚫ Chapter 4: Loops ⚫ Chapter 17: Tree Structures
⚫ Chapter 5: Methods ⚫ Chapter 18: Generic Classes
⚫ Chapter 6: Arrays and Array lists ⚫ Chapter 19: Streams and Binary Input/Output
⚫ Chapter 7: Input/output and exception handling ⚫ Chapter 20: Multithreading (Web Only)
⚫ Chapter 8: Objects and Classes ⚫ Chapter 21: Internet Networking (Web Only)
⚫ Chapter 9: Inheritance and Interfaces ⚫ Chapter 22: Relational databases (Web Only)
⚫ Chapter 10: Graphical User Interfaces ⚫ Chapter 23: XML (Web Only)
⚫ Chapter 11: Advanced user Interfaces
⚫ Chapter12: Object-Oriented Design
⚫ Chapter 13: Recursion
7
3.10.2023 18:27 ©ÇELİK
Object Oriented Programming
FISRT ASSIGNMENT- Until End of Next Lab Session
▪ SET UP YOUR PROGRAMMING ENVIRONMENT
▪ SET UP JAVA JDK (Java Development Kit)
▪ SET UP ECLIPSE IDE (Integrated Development Environment)
▪ RUN YOUR FIRT HELLO WORD JAVA FROGRAM
▪ RUN ON COMMAND CONSOLE
▪ RUN ON ECLIPSE
9
3.10.2023 18:27 ©ÇELİK
1.1 COMPUTER PROGRAMS
CONTENTS
⚫ Chapter 1: Introduction
1.1 Computer Programs
1.2 The Anatomy of a Computer
1.3 The Java Programming Language
1.4 Becoming Familiar with Your Programming Environment
1.5 Analyzing Your First Program 1
1.6 Errors
1.7 Problem Solving: Algorithm Design
10
3.10.2023 18:27 ©ÇELİK
1.1 COMPUTER PROGRAMS
CONTENTS
⚫ Chapter 3: Decisions
3.1 The if Statement
3.2 Comparing Numbers and Strings
3.3 Multiple Alternatives
3.4 Nested Branches 100
3.5 Problem Solving: Flowcharts
3.6 Problem Solving: Test Cases
3.7 Boolean Variables and Operators
3.8 Application: Input Validation
⚫ Chapter 4: Loops
4.1 The while Loop
4.2 Problem Solving: Hand-Tracing
4.3 The for Loop
4.4 The do Loop
4.5 Application: Processing Sentinel Values
4.6 Problem Solving: Storyboards
4.7 Common Loop Algorithms
4.8 Nested Loops
11 4.9 Application: Random Numbers and Simulations
3.10.2023 18:27 ©ÇELİK
1.1 COMPUTER PROGRAMS
CONTENTS
⚫ Chapter 5: Methods
5.1 Methods as Black Boxes
5.2 Implementing Methods
5.3 Parameter Passing
5.4 Return Values
5.5 Methods Without Return Values
5.6 Problem Solving: Reusable Methods
5.7 Problem Solving: Stepwise Refinement
5.8 Variable Scope
5.9 Recursive Methods (Optional)
CONTENTS
CONTENTS
CONTENTS
CONTENTS
CONTENTS
17
3.10.2023 18:27 ©ÇELİK
1.1 COMPUTER PROGRAMS
CONTENTS
18
3.10.2023 18:27 ©ÇELİK
1.1 COMPUTER PROGRAMS
CONTENTS
19
3.10.2023 18:27 ©ÇELİK
Object Oriented
Programming
Chapter 1: Introduction
1.1 Computer Programs
1.2 The Anatomy of a Computer
1.3 The Java Programming Language
1.4 Becoming Familiar with Your Programming Environment
1.5 Analyzing Your First Program
1.6 Errors
1.7 Problem Solving: Algorithm Design
20
3.10.2023 18:27 ©ÇELİK
1.1 COMPUTER PROGRAMS
Chapter Goals
21
3.10.2023 18:27 ©ÇELİK
1.1 Computer Programs
Definitions
24
3.10.2023 18:27 ©ÇELİK
1.2 The Anatomy of a Computer
When you ‘run’ a program
❑ Source code
32
3.10.2023 18:27 ©ÇELİK
1.3 The Java Programming Language
Additional slides
Introduction to Java - Java Virtual Machine-JVM
33 setLong?(IJ)V
3.10.2023 18:27
Helloworld.java javac Helloworld.java Helloworld.class Running program
©ÇELİK
1.3 The Java Programming Language
Additional slides
Introduction to Java - Platform Independence
34
3.10.2023 18:27 ©ÇELİK
1.3 The Java Programming Language
Additional slides
Introduction to Java - Java and Enterprise Internet Computing – (full scale capability)
☕ ☕
• Servlets • Enterprise
• Java Server Java Beans
Pages (JSP) (EJB)
• CORBA
35
3.10.2023 18:27 ©ÇELİK