Skip to content

Syllabus

height:100px


Recep Tayyip Erdogan University

Faculty of Engineering and Architecture

Computer Engineering

CE204 Object-Oriented Programming

Syllabus

Spring Semester, 2022-2023

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 opsqbur
Microsoft Teams Code iqn0cia
Lecture Hours and Days Wednesday 13:00-16:00 (Theory) – Friday 13:00-15:00 (Lab)

Lecture Classroom İBBF 402 Level-4 or Online 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 [CE204] tag for the fast response and write formal, clear, and short emails

Lecture and Communication Language English
Theory/Laboratory Course Hour Per Week 3/2 Hours
Credit 4
Prerequisite CE103- Algorithms and Programming I CE100- Algorithms and Programming II
Corequisite TBD
Requirement TBD

*TBD: To Be Defined.


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

Midterm and Final grades will be calculated with the weighted average of the project or homework-based examinations. Midterm grades will be calculated between term beginning to the midterm week, and Final grades will be calculated between Midterm and Final week homeworks or projects as follow

\[ a_n=\text{Homework or Project Weight} \]
\[ HW_n=\text{Homework or Project Points} \]
\[ n=\text{Number of Homework or Project} \]

\[ Grade=(a_1HW_1+a_2HW_2+...+a_nHW_n)/n \]
Homework Weight
Midterm %40
Final %60
\[ \text{Passing Grade}=(40*Midterm_{Grade}+60*Final_{Grade})/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

Weeks Dates Subjects Other Tasks
Week 1 22.02.2023-24.02.2023 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) TBD
Week 2 01.03.2023-03.03.2023 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 TBD

Week 3 08.03.2023-10.03.2023 OOP with Java Part-III(Defining and Interface and Interface Implementation, Nested Interfaces, Variables in Interfaces, Extending Interfaces, Reflection, Wrapper Classes, Lambda Notation) Midterm Homework-1 Will Be Sent on 08.03.2023
Week 4 15.03.2023-17.03.2023 Midterm Homework-1 Controls and Review with Summary Midterm Homework-1 Due Date 15.03.2023

Week 5 22.03.2023-24.03.2023 UML (UML tools, UML building blocks, architecture, diagrams, relationship, association, aggregation, composition comparison, association, dependency, generalization, realization, class diagram, object diagram, component diagram, deployment diagram, interaction diagram, use-case diagram, sequence diagram, collaboration diagram, state-machine diagram, activity diagram, timing diagram), Plantuml and Examples TBD
Week-6 29.03.2023-31.03.2023 UMPLE and Examples Midterm Homework-2 Will Be Sent on 29.03.2023
Week-7 05.04.2023-07.04.2023 Midterm Homework-2 Controls and Review with Summary Midterm Homework-2 Due Date  05.04.2023
Week-8 08.04.2023-16.04.2023 Midterm TBD

Week-9 19.04.2023-21.04.2022 Using Design Patterns 21.04.2022 Ramadan Holiday-1
Week-10 26.04.2023-28.04.2023 Using Design Patterns TBD
Week-11 03.05.2022-05.05.2022 Using Design Patterns Final Homework-1 Will Be Sent on 29.03.2023

Week-12 10.05.2023-12.05.2023 Final Homework-1 Controls and Review with Summary Final Homework-1 Due Date  10.05.2023
Week-13 17.05.2023-19.05.2023 UML + UMPLE + Java Implementations TBD
Week-14 24.05.2023-26.05.2023 SMC Remote Service Case Study and OOP ATM Case Study Final Homework-2 Will Be Sent on 24.05.2023

Week-15 31.05.2023-02.06.2022 Final Homework-2 Controls and Review with Summary Final Homework-2 Due Date  31.05.2023
Week-16 03.06.2023-11.06.2023 Final TBD

Bologna Information


\(End-Of-CE204-Syllabus\)


Last update: February 18, 2023
Back to top