Skip to content

Syllabus

height:30px

Recep Tayyip Erdogan University

Faculty of Engineering and Architecture

Computer Engineering

CEN206 Object-Oriented Programming

Syllabus

Spring Semester, 2024-2025


Download DOC, SLIDE, PPTX

Download WORD (Legacy), PDF (Legacy)



Instructor Asst. Prof. Dr. Uğur CORUH
Contact Information ugur.coruh@erdogan.edu.tr
Office No F-301
Google Classroom Code N/A
Microsoft Teams Code 42ttevp
Lecture Hours and Days Friday 13:00-16:00 (Theory and Lab) ED-K4-20 (D-414)

Lecture Classroom İİBF & Law Faculty Building / ED-K4-20 (D-414) or Online via Google Meet / Microsoft Teams
Office Hours Meetings will be scheduled over Google Meet or Microsoft Teams with your university account and email and performed via demand emails. Please send emails with the subject starting with [CEN206] tag for the fast response and write formal, clear, and short emails

Lecture and Communication Language English
Theory/Laboratory Course Hour Per Week 3/0 Hours
Credit 3
Prerequisite None
Corequisite None
Requirement None

A.Course Description

This course introduces advanced programming skills with a focus on object-oriented programming and design fundamentals using a high-level language such as Java. Object-oriented programming is the process of integrating software components into a large-scale software architecture. After learning the fundamentals of coding, this approach to software development is the next logical step, allowing for large-scale programs. The course focuses on understanding and applying object-oriented concepts such as classes, objects, data abstraction, methods, method overloading, inheritance, and polymorphism. The class will be built around sharing expertise and guiding students to find learning methods and practice for object-oriented programming topics. Making programming applications and projects in the courses will strengthen the learning process by putting theory into practice.


B.Course Learning Outcomes

After completing this course satisfactorily, a student will be able to:

  • Design applications using OO techniques

  • Use the unified software development process to manage software development

  • Use UML for the notation diagrams of applications

  • Apply useful design and architecture patterns for software development.


C.Course Topics

  • Object-oriented concepts

  • Unified object-oriented analysis and design process

  • Unified Model Language

  • Use case analysis

  • Object structure and behavior analysis

  • System design

  • Application architecture and design patterns

  • Java implementation of object-oriented design


D.Textbooks and Required Hardware or Equipment

This course does not require a coursebook. If necessary, you can use the following books and open-source online resources.

  • Timothy C. Lethbridge and Robert Laganière, Object-Oriented Software Engineering: Practical Software Development using UML and Java, McGraw Hill

  • Walter Savitch, Absolute C++, Addison-Wesley Longman


  • Intro to Java Programming, Comprehensive Version (10th Edition) 10th Edition by Y. Daniel Liang

  • Harvey M. Deitel and Paul J. Deitel. 2001. Java How to Program (4th. ed.). Prentice Hall PTR, USA.

  • Paul Deitel and Harvey Deitel. 2016. Visual C# How to Program (6th. ed.). Pearson.

  • Additional Books TBD


During this course, you should have a laptop for programming practices. You will have your development environment, and you will use this for examination and assignments also classroom practices.


E.Grading System

You will complete one project and two written quizzes throughout the semester. You are expected to submit your Midterm Project Report (MPR1) at the midterm, demonstrating your project progress and implementation. In the 15th week, you will present and submit your Final Project Report (MPR2).

You will take a written quiz (QUIZ1) in the 7th week and another (QUIZ2) in the 13th week.

Assessment Code Weight Scope
Midterm Project Report MPR1 60% Midterm
Quiz-1 QUIZ1 40% Midterm
Final Project Report MPR2 70% Final
Quiz-2 QUIZ2 30% Final
\[ GradeMidterm = 0.6MPR1 + 0.4QUIZ1 \]
\[ GradeFinal = 0.7MPR2 + 0.3QUIZ2 \]
\[ PassingGrade = (40 * GradeMidterm + 60 * GradeFinal)/100 \]

F. Instructional Strategies and Methods

The basic teaching method of this course will be planned to be face-to-face in the classroom, and support resources, home works, and announcements will be shared over google classroom. In unexpected situations course will be planned for online for disaster scenarios. Students are expected to be in the university if face-to-face method selected. This responsibility is very important to complete this course with success. If pandemic situation changes and distance education is required during this course, this course will be done using synchronous and asynchronous distance education methods. In this scenario, students are expected to be in the online platform, zoom, or meet at the time specified in the course schedule. Attendance will be taken.


G. Late Homework

Throughout the semester, assignments must be submitted as specified by the announced deadline. Overdue assignments will not be accepted. Unexpected situations must be reported to the instructor for late homeworks by students


H. Course Platform and Communication

Google Classroom and Github will be used as a course learning management system. All electronic resources and announcements about the course will be shared on this platform. It is very important to check the course page daily, access the necessary resources and announcements, and communicate with the instructor to complete the course with success.


I. Academic Integrity, Plagiarism & Cheating

Academic Integrity is one of the most important principles of RTEÜ University. Anyone who breaches the principles of academic honesty is severely punished.


It is natural to interact with classmates and others t."study together". It may also be the case where a student asks to help from someone else, paid or unpaid, better understand a difficult topic or a whole course. However, what is the borderline between "studying together" or "taking private lessons" and "academic dishonesty"? When is it plagiarism, when is it cheating?


It is obvious that looking at another student's paper or any source other than what is allowed during the exam is cheating and will be punished. However, it is known that many students come to university with very little experience concerning what is acceptable and what counts as "copying,"" especially for assignments.

The following are attempted as guidelines for the Faculty of Engineering and Architecture students to highlight the philosophy of academic honesty for assignments for which the student will be graded. Should a situation arise which is not described below, the student is advised to ask the instructor or assistant of the course whether what they intend to do would remain within the framework of academic honesty or not.


a. What is acceptable when preparing an assignment?

  • Communicating with classmates about the assignment to understand it better

  • Putting ideas, quotes, paragraphs, small pieces of code (snippets) that you find online or elsewhere into your assignment, provided that

  • these are not themselves the whole solution to the assignment,

  • you cite the origins of these


  • Asking sources for help in guiding you for the English language content of your assignment.

  • Sharing small pieces of your assignment in the classroom to create a class discussion on some controversial topics.


  • Turning to the web or elsewhere for instructions, references, and solutions to technical difficulties, but not for direct answers to the assignment

  • Discuss solutions to assignments with others using diagrams or summarized statements but not actual text or code.

  • Working with (and even paying) a tutor to help you with the course, provided the tutor does not do your assignment for you.


b. What is not acceptable?

  • Ask a classmate to see their solution to a problem before submitting your own.

  • Failing to cite the origins of any text (or code for programming courses) that you discover outside of the course's lessons and integrate into your work

  • You are giving or showing a classmate your solution to a problem when the classmate is struggling to solve it.


J. Expectations

You are expected to attend classes on time by completing weekly course requirements (readings and assignments) during the semester. The main communication channel between the instructor and the students email emailed. Please send your questions to the instructor's email address about the course via the email address provided to you by the university. Ensure that you include the course name in the subject field of your message and your name in the text field. In addition, the instructor will contact you via email if necessary. For this reason, it is very important to check your email address every day for healthy communication.


K. Lecture Content and Syllabus Updates

If deemed necessary, changes in the lecture content or course schedule can be made. If any changes are made in the scope of this document, the instructor will inform you about this.


Course Schedule Overview

Week Date Subjects Other Tasks
Week 1 14.02.2025 Course Plan and Communication Grading System, Assignments, and Exams. Software and Software Engineering Object Orientation and OOP with Java Part-I(Classes, Objects, Methods,Inheritance,Access Modifiers,This and InstanceOf Keywords)
Week 2 21.02.2025 OOP with Java Part-II (super keyword, final keyword, Polymorphism / Encapsulation, Method Overriding, Nested Inner Class, Static Class, Anonymous Class, Enums / Enum-Constructor / Enum-String, Abstract Class, Object Class, Forms of Inheritance, Benefits, and Costs of Inheritance, Packages, Access Protection in Packages)

Week Date Subjects Other Tasks
Week 3 28.02.2025 OOP with Java Part-III(Defining and Interface and Interface Implementation, Nested Interfaces, Variables in Interfaces, Extending Interfaces, Reflection, Wrapper Classes, Lambda Notation)
Week 4 07.03.2025 OOP with Java Part-III(Defining and Interface and Interface Implementation, Nested Interfaces, Variables in Interfaces, Extending Interfaces, Reflection, Wrapper Classes, Lambda Notation)
Week 5 14.03.2025 OOP with Java Part-III(Defining and Interface and Interface Implementation, Nested Interfaces, Variables in Interfaces, Extending Interfaces, Reflection, Wrapper Classes, Lambda Notation)

Week Date Subjects Other Tasks
Week 6 21.03.2025 UMPLE and Examples
Week 7 28.03.2025 UMPLE and Examples Quiz-1 (Wednesday afternoon)
Week 8 04.04.2025 Project Homework Controls and Review with Summary Project homework review
Week 9 11.04.2025 Midterm Midterm Project Report Due

Week Date Subjects Other Tasks
Week 10 18.04.2025 Using Design Patterns
Week 11 25.04.2025 Using Design Patterns
Week 12 02.05.2025 UML + UMPLE + Java Implementations
Week 13 09.05.2025 Quiz 2 Quiz-2

Week Date Subjects Other Tasks
Week 14 16.05.2025 SMC Remote Service Case Study and OOP ATM Case Study
Week 15 23.05.2025 Project Homework Controls and Review with Summary Final Project Report Due
Week 16 24.05.2025 Final

\(End-Of-CEN206-Syllabus\)