Skip to content

Course

AIE2113250 / AIE2213250

OBJECT- ORIENTED PROGRAMMING

Artificial Intelligence Engineering

LECTURE
3
LAB
2
CREDITS
4
ECTS
6
LANGUAGEEnglishLEVELFirst Cycle (Bachelor's Degree)TYPERequired

AIM

The objective of this course is to teach object-oriented programming (OOP) in a problem-driven way that focuses on problem solving rather than syntax. Students learn object thinking and design, and improve their algorithmic thinking skills. They learn how and when to apply OOP techniques to a given problem effectively. The course starts with a review of fundamental techniques in Java, and then teaches objects and classes, object-oriented thinking, inheritance and polymorphism, exception handling and text I/O, abstract classes and interfaces, Java GUI basics, event-driven programming and animations, Java UI controls and multimedia, binary I/O, recursion, generics, lists, stacks, queues, and priority queues, sets and maps, implementing lists, stacks, queues, and priority queues.

CONTENT

This course contains; 1.Week: Introduction to object-oriented programming, Computer programs, Becoming familiar with Java programming environment, Algorith Design,2.Week: Fundamental Data Types, Variables, Arithmetic operators, Input and Output, Strings, Decisions, Boolean Variables and Operators, Comparing Numbers and Strings, Nested Branches,3.Week: Loops (for, do, while), Nested Loops, Random numbers, methods, Parameter passing, Return values, Methods without Return values, Variable scope, Recursive methods,4.Week: Arrays and Array Lists, Common Array Algorithms, Two-Dimensional Arrays,5.Week: Input/Output and Exception Handling, Reading and Writing Text Files, Command Line Arguments, Catching Exceptions,6.Week: Object and Classes, instance methods, Constructors, Object References, Static Variables and Methods,7. Week: Inheritance, Implementing Sub-classes, Overriding Methods, Polymorphism, Interface Types,8. Week: Graphical User Interfaces and Advanced GUI Topics,9. Week: Event-Driven Programming and Animations,10. Week: Recursion, Sorting and Searching (selection/merge/binary search),11. Week: Java Collections Framework: Lists, Stacks, Queues, and Priority Queues Sets and Maps ,12. Week: Implementing Lists, Stacks, Queues, and Priority Queues,13. Week: Introduction to Web Development with Java and Java Enterprise (J2EE) ,14. Week: Review.

LEARNING OUTCOMES

  1. 1

    1. He/she will be able to describe and discuss fundamentals of object-oriented programming and languages.

    Taught by: Experimental Technique, Lecture Method · Assessed by: Traditional Written Exam, Homework

  2. 2

    2. He/she can use and apply fundamental concepts and constructs of object-oriented programming like class, object, polymorphism, inheritance, overriding.

    Taught by: Experimental Technique, Lecture Method · Assessed by: Traditional Written Exam, Homework

  3. 3

    3. He/she can use basic data types, basic control structures, loop types, functions and libraries in Java.

    Taught by: Experimental Technique, Lecture Method · Assessed by: Traditional Written Exam, Homework

  4. 4

    4. He/she can use and apply classes, object-oriented thinking, inheritance and polymorphism, exception handling, abstract classes and interfaces in Java.

    Taught by: Experimental Technique, Lecture Method · Assessed by: Traditional Written Exam, Homework

  5. 5

    5. He/she can design and develop object-orinted programs that use classes, inheritance, Java GUIs, event-driven programming and animations, Java UI controls and multimedia, binary I/O, recursion, generics, lists, stacks, queues, and priority queues, sets and maps, stacks, queues, and priority queues.

    Taught by: Experimental Technique, Lecture Method · Assessed by: Traditional Written Exam, Homework

WEEKLY PLAN

  1. WEEK 1

    1.Week: Introduction to object-oriented programming, Computer programs, Becoming familiar with Java programming environment, Algorith Design

    Preparation: Textbook chapter 1

  2. WEEK 2

    2.Week: Fundamental Data Types, Variables, Arithmetic operators, Input and Output, Strings, Decisions, Boolean Variables and Operators, Comparing Numbers and Strings, Nested Branches

    Preparation: Textbook chapter 2,3,4

  3. WEEK 3

    3.Week: Loops (for, do, while), Nested Loops, Random numbers, methods, Parameter passing, Return values, Methods without Return values, Variable scope, Recursive methods

    Preparation: Textbook chapter 5,6

  4. WEEK 4

    4.Week: Arrays and Array Lists, Common Array Algorithms, Two-Dimensional Arrays

    Preparation: Textbook chapter 7,8

  5. WEEK 5

    5.Week: Input/Output and Exception Handling, Reading and Writing Text Files, Command Line Arguments, Catching Exceptions

    Preparation: Textbook chapter 12

  6. WEEK 6

    6.Week: Object and Classes, instance methods, Constructors, Object References, Static Variables and Methods

    Preparation: Textbook chapter 9,10

  7. WEEK 7

    7. Week: Inheritance, Implementing Sub-classes, Overriding Methods, Polymorphism, Interface Types

    Preparation: Textbook chapter 11

  8. WEEK 8

    8. Week: Graphical User Interfaces and Advanced GUI Topics

    Preparation: Textbook chapter 14

  9. WEEK 9

    9. Week: Event-Driven Programming and Animations

    Preparation: Ders Kitabı Bölüm 15

  10. WEEK 10

    10. Week: Recursion, Sorting and Searching (selection/merge/binary search)

    Preparation: Textbook chapter 18

  11. WEEK 11

    11. Week: Java Collections Framework: Lists, Stacks, Queues, and Priority Queues Sets and Maps

    Preparation: Textbook chapter 10

  12. WEEK 12

    12. Week: Implementing Lists, Stacks, Queues, and Priority Queues

    Preparation: Textbook chapter 21

  13. WEEK 13

    13. Week: Introduction to Web Development with Java and Java Enterprise (J2EE)

    Preparation: Textbook chapter 32,33

  14. WEEK 14

    14. Week: Review

ASSESSMENT

  • Rate of Midterm Exam to Success30%
  • Rate of Final Exam to Success70%

WORKLOAD

ACTIVITYCOUNTHOURSTOTAL
Course Hours14342
Guided Problem Solving14456
Resolution of Homework Problems and Submission as a Report000
Term Project15050
Presentation of Project / Seminar000
Quiz000
Midterm Exam12222
General Exam12222
Performance Task, Maintenance Plan000

READING

  • - Introduction to Java Programming and Data Structures, Comp. Version (11th Edition), Y. Daniel Liang, Peason, 2018. - Computer Science An Interdisciplinary Approach, Robert Sedgewick, Kevin Wayne, Peasoni 2018.
  • - Java Software Solutions, Global Edition, 9/e, Lewis & Loftus, Pearson, 2019. - Java: An Introduction to Problem Solving and Programming, Global Edition, 8/e, Savitch, Pearson, 2019. - Core Java Volume I and II --Fundamentals, 11/e, Horstmann, Pearson, 2019. - Java How to Program, Early Objects, Global Edition, 11/e, Deitel & Deitel, Peason, 2018. - Introduction to Programming Using Java, Eighth Edition Version 8.0, 2018 David J. Eck.

TEACHING STAFF

  • Assist.Prof. Ahmet KAPLANCOORDINATOR
  • Assist.Prof. Ahmet KAPLAN