Visit of broadAngle in Izmir University of Economics
The founder and CEO of broadAngle, a software company operating in the United States and Izmir, Garrison Atkisson, along with ...
Course Name |
Advanced C++: Templates and Generic Programming
|
Code
|
Semester
|
Theory
(hour/week) |
Application/Lab
(hour/week) |
Local Credits
|
ECTS
|
SE 310
|
Fall/Spring
|
3
|
0
|
3
|
5
|
Prerequisites |
None
|
|||||
Course Language |
English
|
|||||
Course Type |
Elective
|
|||||
Course Level |
First Cycle
|
|||||
Mode of Delivery | - | |||||
Teaching Methods and Techniques of the Course | - | |||||
National Occupation Classification | - | |||||
Course Coordinator | ||||||
Course Lecturer(s) | ||||||
Assistant(s) | - |
Course Objectives | C++ is currently the most widely used programming language in industry, thanks to its flexible design, scalability and efficiency. The objective of this course is to improve on the students C++ knowledge and programming skills by introducing them to the cutting edge practices in C++ language, including Standard Template Library (STL), template programming techniques, generic programming, and selected Boost C++ Libraries. Topics include programming with templates, advanced template programming techniques, template specializations, traits, overview of GUI programming in C++, overview of Standard Template Library, STL containers, STL iterators, standard algorithms, and some selected Boost C++ libraries | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning Outcomes |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Course Description | This course covers the principals behind the templates and generic programming, and introduces students to the state of the art generic libraries. |
|
Core Courses | |
Major Area Courses |
X
|
|
Supportive Courses | ||
Media and Management Skills Courses | ||
Transferable Skill Courses |
Week | Subjects | Related Preparation | Learning Outcome |
1 | Introduction and motivation. Overview of Object Oriented Programming in C++ | Inheritance, Polymorphism, Abstraction, Encapsulation, Data Hiding, Exception handling | |
2 | Basic template overview. Function and class templates. | David Vandevoorde and Nicolai M. Josuttis. C++ Templates: The Complete Guide. Addison Wesley, 2003. (Course book) Chapter 2, Chapter 3 | |
3 | Nontype template parameters, tricky basics | Course book Chapter 4, Chapter 5 | |
4 | Using templates in practice | Course book Chapter 6 | |
5 | The polymorphic power of templates | Course book Chapter 14 | |
6 | Traits and policy classes | Course book Chapter 15 | |
7 | Templates and inheritance | Course book Chapter 16 | |
8 | GUI programming with QT 4.6 Framework | C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) Prentice Hall, 2008 | |
9 | Introduction to Standard Template Library | Josuttis, Nicolai M. The C++ standard library: a tutorial and reference. Addison Wesley, 1999 (STL Book) Chapter 2 | |
10 | Associative Containers: Map, Multimap, Set, and Multiset. | STL Book Chapter 6 | |
11 | STL iterators | STL Book Chapter 7 | |
12 | STL algorithms | STL Book Chapter 8 | |
13 | Boost Smart Pointers | Boost C++ libraries website | |
14 | Other Selected Boost C++ Libraries | Boost C++ libraries website | |
15 | Project Presentations | ||
16 | Review of the Semester |
Course Notes/Textbooks | David Vandevoorde and Nicolai M. Josuttis. C++ Templates: The Complete Guide. Addison Wesley, 2003. Instructor notes and lecture slides. |
Suggested Readings/Materials | C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) Prentice Hall, 2008 Josuttis, Nicolai M. The C++ standard library: a tutorial and reference. Addison Wesley, 1999Boost C++ libraries website |
Semester Activities | Number | Weighting | LO 1 | LO 2 | LO 3 | LO 4 | LO 5 | LO 6 |
Participation |
1
|
10
|
||||||
Laboratory / Application | ||||||||
Field Work | ||||||||
Quizzes / Studio Critiques | ||||||||
Portfolio | ||||||||
Homework / Assignments | ||||||||
Presentation / Jury | ||||||||
Project |
1
|
30
|
||||||
Seminar / Workshop | ||||||||
Oral Exams | ||||||||
Midterm |
1
|
25
|
||||||
Final Exam |
1
|
35
|
||||||
Total |
Weighting of Semester Activities on the Final Grade |
3
|
65
|
Weighting of End-of-Semester Activities on the Final Grade |
1
|
35
|
Total |
Semester Activities | Number | Duration (Hours) | Workload |
---|---|---|---|
Theoretical Course Hours (Including exam week: 16 x total hours) |
16
|
3
|
48
|
Laboratory / Application Hours (Including exam week: '.16.' x total hours) |
16
|
0
|
|
Study Hours Out of Class |
15
|
2
|
30
|
Field Work |
0
|
||
Quizzes / Studio Critiques |
0
|
||
Portfolio |
0
|
||
Homework / Assignments |
0
|
||
Presentation / Jury |
0
|
||
Project |
1
|
15
|
15
|
Seminar / Workshop |
0
|
||
Oral Exam |
0
|
||
Midterms |
1
|
22
|
22
|
Final Exam |
1
|
35
|
35
|
Total |
150
|
#
|
PC Sub | Program Competencies/Outcomes |
* Contribution Level
|
||||
1
|
2
|
3
|
4
|
5
|
|||
1 |
Engineering Knowledge: Knowledge of mathematics, science, basic engineering, computer computation, and topics specific to related engineering disciplines; the ability to use this knowledge in solving complex engineering problems |
-
|
-
|
-
|
-
|
-
|
|
1 |
Mathematics |
-
|
-
|
-
|
-
|
-
|
|
2 |
Science |
-
|
-
|
-
|
-
|
-
|
|
3 |
Basic engineering |
-
|
-
|
-
|
-
|
-
|
|
4 |
Computer computation |
-
|
-
|
-
|
-
|
-
|
|
5 |
Topics specific to related engineering disciplines |
-
|
-
|
-
|
-
|
-
|
|
6 |
The ability to use this knowledge in solving complex engineering problems |
-
|
-
|
-
|
-
|
-
|
|
2 |
Problem Analysis: The ability to define, formulate, and analyze complex engineering problems by using fundamental science, mathematics, and engineering knowledge, while considering the relevant UN Sustainable Development Goals (SDGs) related to the problem. |
-
|
X
|
-
|
-
|
-
|
|
3 |
Engineering Design: The ability to design creative solutions to complex engineering problems; the ability to design complex systems, processes, devices, or products that meet present and future requirements, considering realistic constraints and conditions. |
-
|
X
|
-
|
-
|
-
|
|
1 |
The ability to design creative solutions to complex engineering problems |
-
|
-
|
-
|
-
|
-
|
|
2 |
Considering realistic constraints and conditions in designing complex systems, processes, devices, or products |
-
|
-
|
-
|
-
|
-
|
|
3 |
The ability to design in a way that meets current and future requirements |
-
|
-
|
-
|
-
|
-
|
|
4 |
Use of Techniques and Tools: The ability to select and use appropriate techniques, resources, and modern engineering and information technology tools, including prediction and modeling, for the analysis and solution of complex engineering problems, while being aware of their limitations |
-
|
-
|
X
|
-
|
-
|
|
5 |
Research and Investigation: The ability to use research methods, including literature review, designing experiments, conducting experiments, collecting data, analyzing and interpreting results, for the investigation of complex engineering problems. |
-
|
X
|
-
|
-
|
-
|
|
1 |
The ability to use research methods, including literature review |
-
|
-
|
-
|
-
|
-
|
|
2 |
Designing experiments |
-
|
-
|
-
|
-
|
-
|
|
3 |
Conducting experiments, collecting data, analyzing and interpreting results, for the investigation of complex engineering problems |
-
|
-
|
-
|
-
|
-
|
|
6 |
Global Impact of Engineering Practices: Knowledge of the impacts of engineering practices on society, health and safety, the economy, sustainability, and the environment within the scope of the UN Sustainable Development Goals (SDGs); awareness of the legal consequences of engineering solutions |
-
|
-
|
X
|
-
|
-
|
|
1 |
Global Impact of Engineering Practices: Knowledge of the impacts of engineering practices on society, health and safety, the economy, sustainability, and the environment within the scope of the UN Sustainable Development Goals (SDGs) |
-
|
-
|
-
|
-
|
-
|
|
2 |
Awareness of the legal consequences of engineering solutions |
-
|
-
|
-
|
-
|
-
|
|
7 |
Ethical Behavior: Acting in accordance with the principles of the engineering profession; knowledge of ethical responsibility; awareness of acting impartially and inclusively, without discrimination in any matter. (FENG101) |
-
|
-
|
-
|
-
|
-
|
|
1 |
Acting in accordance with the principles of the engineering profession; knowledge of ethical responsibility |
-
|
-
|
-
|
-
|
-
|
|
2 |
Awareness of acting impartially and inclusively, without discrimination in any matter. |
-
|
-
|
-
|
-
|
-
|
|
8 |
Individual and Team Work: The ability to work effectively as an individual and as a member or leader of both intra-disciplinary and interdisciplinary teams (whether face-to-face, remote, or hybrid). |
-
|
-
|
-
|
-
|
-
|
|
9 |
Verbal and Written Communication: Taking into account the various differences of the target audience (such as education, language, profession), particularly in technical matters. |
-
|
-
|
-
|
-
|
-
|
|
1 |
Verbal (ENGxxx) |
-
|
-
|
-
|
-
|
-
|
|
2 |
Written effective communication skills. (ENGxxx) |
-
|
-
|
-
|
-
|
-
|
|
10 |
Project Management: Knowledge of business practices such as project management and economic feasibility analysis; awareness of entrepreneurship and innovation. |
-
|
-
|
-
|
-
|
-
|
|
1 |
Knowledge of business practices such as project management and economic feasibility analysis; (FENG497-FENG498) |
-
|
-
|
-
|
-
|
-
|
|
2 |
Awareness of entrepreneurship and innovation. (FENG101) |
-
|
-
|
-
|
-
|
-
|
|
11 |
Lifelong Learning: The ability to learn independently and continuously, adapt to new and emerging technologies, and think critically about technological changes. |
-
|
-
|
-
|
-
|
-
|
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest
The founder and CEO of broadAngle, a software company operating in the United States and Izmir, Garrison Atkisson, along with ...
As Izmir University of Economics transforms into a world-class university, it also raises successful young people with global competence.
More..Izmir University of Economics produces qualified knowledge and competent technologies.
More..Izmir University of Economics sees producing social benefit as its reason for existence.
More..