Course Detail
Course Description
Course | Code | Semester | T+P (Hour) | Credit | ECTS |
---|---|---|---|---|---|
OBJECT- ORIENTED PROGRAMMING | - | Fall Semester | 3+2 | 4 | 6 |
Course Program |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | English |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Required |
Course Coordinator | Prof.Dr. Selim AKYOKUŞ |
Name of Lecturer(s) | Prof.Dr. Tansel ÖZYER, Prof.Dr. Selim AKYOKUŞ |
Assistant(s) | |
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. |
Course 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. |
Dersin Öğrenme Kazanımları | Teaching Methods | Assessment Methods |
1. He/she will be able to describe and discuss fundamentals of object-oriented programming and languages. | 17, 9 | A, E |
2. He/she can use and apply fundamental concepts and constructs of object-oriented programming like class, object, polymorphism, inheritance, overriding. | 17, 9 | A, E |
3. He/she can use basic data types, basic control structures, loop types, functions and libraries in Java. | 17, 9 | A, E |
4. He/she can use and apply classes, object-oriented thinking, inheritance and polymorphism, exception handling, abstract classes and interfaces in Java. | 17, 9 | A, E |
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. | 17, 9 | A, E |
Teaching Methods: | 17: Experimental Technique, 9: Lecture Method |
Assessment Methods: | A: Traditional Written Exam, E: Homework |
Course Outline
Order | Subjects | Preliminary Work |
---|---|---|
1 | 1.Week: Introduction to object-oriented programming, Computer programs, Becoming familiar with Java programming environment, Algorith Design | Textbook chapter 1 |
2 | 2.Week: Fundamental Data Types, Variables, Arithmetic operators, Input and Output, Strings, Decisions, Boolean Variables and Operators, Comparing Numbers and Strings, Nested Branches | Textbook chapter 2,3,4 |
3 | 3.Week: Loops (for, do, while), Nested Loops, Random numbers, methods, Parameter passing, Return values, Methods without Return values, Variable scope, Recursive methods | Textbook chapter 5,6 |
4 | 4.Week: Arrays and Array Lists, Common Array Algorithms, Two-Dimensional Arrays | Textbook chapter 7,8 |
5 | 5.Week: Input/Output and Exception Handling, Reading and Writing Text Files, Command Line Arguments, Catching Exceptions | Textbook chapter 12 |
6 | 6.Week: Object and Classes, instance methods, Constructors, Object References, Static Variables and Methods | Textbook chapter 9,10 |
7 | 7. Week: Inheritance, Implementing Sub-classes, Overriding Methods, Polymorphism, Interface Types | Textbook chapter 11 |
8 | 8. Week: Graphical User Interfaces and Advanced GUI Topics | Textbook chapter 14 |
9 | 9. Week: Event-Driven Programming and Animations | Ders Kitabı Bölüm 15 |
10 | 10. Week: Recursion, Sorting and Searching (selection/merge/binary search) | Textbook chapter 18 |
11 | 11. Week: Java Collections Framework: Lists, Stacks, Queues, and Priority Queues Sets and Maps | Textbook chapter 10 |
12 | 12. Week: Implementing Lists, Stacks, Queues, and Priority Queues | Textbook chapter 21 |
13 | 13. Week: Introduction to Web Development with Java and Java Enterprise (J2EE) | Textbook chapter 32,33 |
14 | 14. Week: Review |
Resources |
- 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. |
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications | |||||||
No | Program Qualification | Contribution Level | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in the solution of complex engineering problems. | X | |||||
2 | Ability to formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | X | |||||
3 | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. | X | |||||
4 | Ability to select and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | X | |||||
5 | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | X | |||||
6 | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | X | |||||
7 | Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | X | |||||
8 | Awareness of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | X | |||||
9 | Knowledge on behavior according ethical principles, professional and ethical responsibility and standards used in engineering practices. | X | |||||
10 | Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development. | ||||||
11 | Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions. |
Assessment Methods
Contribution Level | Absolute Evaluation | |
Rate of Midterm Exam to Success | 30 | |
Rate of Final Exam to Success | 70 | |
Total | 100 |
ECTS / Workload Table | ||||||
Activities | Number of | Duration(Hour) | Total Workload(Hour) | |||
Course Hours | 14 | 3 | 42 | |||
Guided Problem Solving | 14 | 4 | 56 | |||
Resolution of Homework Problems and Submission as a Report | 0 | 0 | 0 | |||
Term Project | 1 | 50 | 50 | |||
Presentation of Project / Seminar | 0 | 0 | 0 | |||
Quiz | 0 | 0 | 0 | |||
Midterm Exam | 1 | 22 | 22 | |||
General Exam | 1 | 22 | 22 | |||
Performance Task, Maintenance Plan | 0 | 0 | 0 | |||
Total Workload(Hour) | 192 | |||||
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(192/30) | 6 | |||||
ECTS of the course: 30 hours of work is counted as 1 ECTS credit. |
Detail Informations of the Course
Course Description
Course | Code | Semester | T+P (Hour) | Credit | ECTS |
---|---|---|---|---|---|
OBJECT- ORIENTED PROGRAMMING | - | Fall Semester | 3+2 | 4 | 6 |
Course Program |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | English |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Required |
Course Coordinator | Prof.Dr. Selim AKYOKUŞ |
Name of Lecturer(s) | Prof.Dr. Tansel ÖZYER, Prof.Dr. Selim AKYOKUŞ |
Assistant(s) | |
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. |
Course 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. |
Dersin Öğrenme Kazanımları | Teaching Methods | Assessment Methods |
1. He/she will be able to describe and discuss fundamentals of object-oriented programming and languages. | 17, 9 | A, E |
2. He/she can use and apply fundamental concepts and constructs of object-oriented programming like class, object, polymorphism, inheritance, overriding. | 17, 9 | A, E |
3. He/she can use basic data types, basic control structures, loop types, functions and libraries in Java. | 17, 9 | A, E |
4. He/she can use and apply classes, object-oriented thinking, inheritance and polymorphism, exception handling, abstract classes and interfaces in Java. | 17, 9 | A, E |
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. | 17, 9 | A, E |
Teaching Methods: | 17: Experimental Technique, 9: Lecture Method |
Assessment Methods: | A: Traditional Written Exam, E: Homework |
Course Outline
Order | Subjects | Preliminary Work |
---|---|---|
1 | 1.Week: Introduction to object-oriented programming, Computer programs, Becoming familiar with Java programming environment, Algorith Design | Textbook chapter 1 |
2 | 2.Week: Fundamental Data Types, Variables, Arithmetic operators, Input and Output, Strings, Decisions, Boolean Variables and Operators, Comparing Numbers and Strings, Nested Branches | Textbook chapter 2,3,4 |
3 | 3.Week: Loops (for, do, while), Nested Loops, Random numbers, methods, Parameter passing, Return values, Methods without Return values, Variable scope, Recursive methods | Textbook chapter 5,6 |
4 | 4.Week: Arrays and Array Lists, Common Array Algorithms, Two-Dimensional Arrays | Textbook chapter 7,8 |
5 | 5.Week: Input/Output and Exception Handling, Reading and Writing Text Files, Command Line Arguments, Catching Exceptions | Textbook chapter 12 |
6 | 6.Week: Object and Classes, instance methods, Constructors, Object References, Static Variables and Methods | Textbook chapter 9,10 |
7 | 7. Week: Inheritance, Implementing Sub-classes, Overriding Methods, Polymorphism, Interface Types | Textbook chapter 11 |
8 | 8. Week: Graphical User Interfaces and Advanced GUI Topics | Textbook chapter 14 |
9 | 9. Week: Event-Driven Programming and Animations | Ders Kitabı Bölüm 15 |
10 | 10. Week: Recursion, Sorting and Searching (selection/merge/binary search) | Textbook chapter 18 |
11 | 11. Week: Java Collections Framework: Lists, Stacks, Queues, and Priority Queues Sets and Maps | Textbook chapter 10 |
12 | 12. Week: Implementing Lists, Stacks, Queues, and Priority Queues | Textbook chapter 21 |
13 | 13. Week: Introduction to Web Development with Java and Java Enterprise (J2EE) | Textbook chapter 32,33 |
14 | 14. Week: Review |
Resources |
- 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. |
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications | |||||||
No | Program Qualification | Contribution Level | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in the solution of complex engineering problems. | X | |||||
2 | Ability to formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | X | |||||
3 | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. | X | |||||
4 | Ability to select and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | X | |||||
5 | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | X | |||||
6 | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | X | |||||
7 | Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | X | |||||
8 | Awareness of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | X | |||||
9 | Knowledge on behavior according ethical principles, professional and ethical responsibility and standards used in engineering practices. | X | |||||
10 | Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development. | ||||||
11 | Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions. |
Assessment Methods
Contribution Level | Absolute Evaluation | |
Rate of Midterm Exam to Success | 30 | |
Rate of Final Exam to Success | 70 | |
Total | 100 |