Software Engineering (English) | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | CENG106 | ||||||||
Course Name: | Object Oriented Programming I | ||||||||
Course Semester: | Spring | ||||||||
Course Credits: |
|
||||||||
Language of instruction: | EN | ||||||||
Course Requisites: |
CENG101 - Introduction of Algorithm and Programming |
||||||||
Does the Course Require Work Experience?: | No | ||||||||
Type of course: | Compulsory | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Prof. Dr. PINAR YILDIRIM | ||||||||
Course Lecturer(s): |
Prof. Dr. PINAR YILDIRIM |
||||||||
Course Assistants: |
Course Objectives: | This course aims to introduce to students the principles of object oriented programming and the basic of the Java programming language |
Course Content: | Introduction to object oriented programming with Java. Basic features of the Java language. Virtual machine concept and portability in Java. Classes and objects. Access methods, static variables and methods, packet structure. Overloading of methods, exceptions and error handling. Wrapping and class composition. |
The students who have succeeded in this course;
|
Week | Subject | Related Preparation |
1) | • Introduction to Java • What is object oriented programming • Differences between OOP and structural programming | |
2) | • Basic programming constructs with Java • Decision mechanisms in Java • Loop mechanisms in Java | Practice with examples seen in class |
3) | • What is a class • What is an object • Dynamic memory management | Practice with examples seen in class |
4) | • What is an array • When to use arrays • How to use arrays | Practice with examples seen in class |
5) | • What is class composition • How to compose classes • When to use class composition | Practice with examples seen in class |
6) | • What is inheritance • How to implement inheritance • When to use inheritance | Practice with examples seen in class |
7) | • Inheritance in Java • Variable inheritance • Method inheritance | Practice with examples seen in class |
8) | • What is an abstract class • How to use abstract classes • When to use abstract classes | Practice with examples seen in class |
9) | Midterm1 | |
10) | • What is polymorphism • How to use polymorphism • What is polymorphism good for | Practice with examples seen in class |
11) | • Interfaces • What are interfaces • When to use interfaces • Drawbacks of interfaces | Practice with examples seen in class |
12) | • Interface implementation in Java • Interfaces and inheritance • Interfaces and static variables | Practice with examples seen in class |
13) | Midterm2 | |
14) | • I/O with Java • Reading files • Writing to files | Practice with examples seen in class |
15) | Final exam |
Course Notes / Textbooks: | Introduction to Java Programming, Daniel Liang, 10th Edition |
References: | Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014 |
Learning Outcomes | 1 |
1 |
1 |
|||||||
---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||
1) Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development. | ||||||||||
2) Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. | ||||||||||
3) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. | ||||||||||
4) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) | ||||||||||
5) Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. | ||||||||||
6) Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems. | ||||||||||
7) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge. | ||||||||||
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | ||||||||||
9) Professional and ethical responsibility. | ||||||||||
10) Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions. | ||||||||||
11) The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development. | |
2) | Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. | 1 |
3) | The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. | 4 |
4) | The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) | 2 |
5) | Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. | |
6) | Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems. | 5 |
7) | Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge. | |
8) | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | |
9) | Professional and ethical responsibility. | |
10) | Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions. | 3 |
11) | The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. |
Individual study and homework | |
Lesson | |
Lab | |
Reading | |
Homework | |
Problem Solving | |
Application (Modelling, Design, Model, Simulation, Experiment etc.) |
Written Exam (Open-ended questions, multiple choice, true-false, matching, fill in the blanks, sequencing) | |
Homework | |
Application | |
Individual Project |
Semester Requirements | Number of Activities | Level of Contribution |
Midterms | 2 | % 50 |
Final | 1 | % 50 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 50 | |
PERCENTAGE OF FINAL WORK | % 50 | |
total | % 100 |
Activities | Number of Activities | Duration (Hours) | Workload |
Course Hours | 14 | 2 | 28 |
Application | 14 | 2 | 28 |
Homework Assignments | 4 | 3 | 12 |
Midterms | 2 | 50 | 100 |
Final | 1 | 30 | 30 |
Total Workload | 198 |