This course aims to equip students with a thorough understanding of C++ programming, covering both basic and advanced concepts. It focuses on developing students' ability to write efficient, maintainable, and high-performance C++ programs while enhancing their problem-solving skills. Key programming principles such as object-oriented programming (OOP), memory management, file handling, and exception handling will be introduced. Additionally, students will gain practical experience with the Standard Template Library (STL) and advanced features, including operator overloading, and templates. By the end of the course, students will have the skills to create real-world applications, adhere to best coding practices, and establish a strong foundation in software development.
Course Content
This course contains; Introduction to C++,C++ Basics ,Functions and Scope,Arrays and Strings,Pointers and Dynamic Memory Management,Introduction to Object-Oriented Programming ,Advanced Object-Oriented Programming,Inheritance and Polymorphism,File Handling in C++,Exception Handling,Templates and Generic Programming,Standard Template Library (STL) – I,Standard Template Library (STL) – II,Advanced C++ Features.
Course Learning Outcomes
Teaching Methods
Assessment Methods
Understand C++ Syntax and Core Concepts
12, 2, 9
A, E, F
Apply Object-Oriented Programming Principles
12, 2, 9
A, E, F
Utilize Memory Management Techniques
12, 2, 9
A, E, F
Work with File Handling and Exception Management
12, 2, 9
A, E, F
Use Templates and Standard Template Library
12, 2, 9
A, E, F
Develop and Optimize Real-World Applications
12, 2, 9
A, E, F
Teaching Methods:
12: Problem Solving Method, 2: Project Based Learning Model, 9: Lecture Method
Assessment Methods:
A: Traditional Written Exam, E: Homework, F: Project Task
Course Outline
Order
Subjects
Preliminary Work
1
Introduction to C++
2
C++ Basics
3
Functions and Scope
4
Arrays and Strings
5
Pointers and Dynamic Memory Management
6
Introduction to Object-Oriented Programming
7
Advanced Object-Oriented Programming
8
Inheritance and Polymorphism
9
File Handling in C++
10
Exception Handling
11
Templates and Generic Programming
12
Standard Template Library (STL) – I
13
Standard Template Library (STL) – II
14
Advanced C++ Features
Resources
C++ How to Program,10th Edition, P. Deitel and H. Deitel, Pearson Education, 2017
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
1. An ability to apply knowledge of mathematics, science, and engineering
2
2. An ability to identify, formulate, and solve engineering problems
3
3. An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
4
4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
5
5. An ability to design and conduct experiments, as well as to analyze and interpret data
6
6. An ability to function on multidisciplinary teams
7
7. An ability to communicate effectively
8
8. A recognition of the need for, and an ability to engage in life-long learning
9
9. An understanding of professional and ethical responsibility
10
10. A knowledge of contemporary issues
11
11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
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
0
0
0
Guided Problem Solving
0
0
0
Resolution of Homework Problems and Submission as a Report
0
0
0
Term Project
0
0
0
Presentation of Project / Seminar
0
0
0
Quiz
0
0
0
Midterm Exam
0
0
0
General Exam
0
0
0
Performance Task, Maintenance Plan
0
0
0
Total Workload(Hour)
0
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(0/30)
0
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
C++ PROGRAMMING
COE3215965
Spring Semester
3+0
3
6
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of Course
English
Course Level
First Cycle (Bachelor's Degree)
Course Type
Elective
Course Coordinator
Assist.Prof. İbrahim KARLIAĞA
Name of Lecturer(s)
Assist.Prof. İbrahim KARLIAĞA
Assistant(s)
Aim
This course aims to equip students with a thorough understanding of C++ programming, covering both basic and advanced concepts. It focuses on developing students' ability to write efficient, maintainable, and high-performance C++ programs while enhancing their problem-solving skills. Key programming principles such as object-oriented programming (OOP), memory management, file handling, and exception handling will be introduced. Additionally, students will gain practical experience with the Standard Template Library (STL) and advanced features, including operator overloading, and templates. By the end of the course, students will have the skills to create real-world applications, adhere to best coding practices, and establish a strong foundation in software development.
Course Content
This course contains; Introduction to C++,C++ Basics ,Functions and Scope,Arrays and Strings,Pointers and Dynamic Memory Management,Introduction to Object-Oriented Programming ,Advanced Object-Oriented Programming,Inheritance and Polymorphism,File Handling in C++,Exception Handling,Templates and Generic Programming,Standard Template Library (STL) – I,Standard Template Library (STL) – II,Advanced C++ Features.
Course Learning Outcomes
Teaching Methods
Assessment Methods
Understand C++ Syntax and Core Concepts
12, 2, 9
A, E, F
Apply Object-Oriented Programming Principles
12, 2, 9
A, E, F
Utilize Memory Management Techniques
12, 2, 9
A, E, F
Work with File Handling and Exception Management
12, 2, 9
A, E, F
Use Templates and Standard Template Library
12, 2, 9
A, E, F
Develop and Optimize Real-World Applications
12, 2, 9
A, E, F
Teaching Methods:
12: Problem Solving Method, 2: Project Based Learning Model, 9: Lecture Method
Assessment Methods:
A: Traditional Written Exam, E: Homework, F: Project Task
Course Outline
Order
Subjects
Preliminary Work
1
Introduction to C++
2
C++ Basics
3
Functions and Scope
4
Arrays and Strings
5
Pointers and Dynamic Memory Management
6
Introduction to Object-Oriented Programming
7
Advanced Object-Oriented Programming
8
Inheritance and Polymorphism
9
File Handling in C++
10
Exception Handling
11
Templates and Generic Programming
12
Standard Template Library (STL) – I
13
Standard Template Library (STL) – II
14
Advanced C++ Features
Resources
C++ How to Program,10th Edition, P. Deitel and H. Deitel, Pearson Education, 2017
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
1. An ability to apply knowledge of mathematics, science, and engineering
2
2. An ability to identify, formulate, and solve engineering problems
3
3. An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
4
4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
5
5. An ability to design and conduct experiments, as well as to analyze and interpret data
6
6. An ability to function on multidisciplinary teams
7
7. An ability to communicate effectively
8
8. A recognition of the need for, and an ability to engage in life-long learning
9
9. An understanding of professional and ethical responsibility
10
10. A knowledge of contemporary issues
11
11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context