Syllabus ( ME 108 )
|
Basic information
|
|
Course title: |
Advanced Programming |
Course code: |
ME 108 |
Lecturer: |
Prof. Dr. İlyas KANDEMİR
|
ECTS credits: |
4 |
GTU credits: |
3 () |
Year, Semester: |
1, Spring |
Level of course: |
First Cycle (Undergraduate) |
Type of course: |
Compulsory
|
Language of instruction: |
English
|
Mode of delivery: |
Face to face
|
Pre- and co-requisites: |
ME107 (minimum DD) |
Professional practice: |
No |
Purpose of the course: |
The aim of this course is to acquaint students with the advanced programming techniques and object-oriented programming for solving engineering problems. |
|
|
|
Learning outcomes
|
|
Upon successful completion of this course, students will be able to:
-
Use advanced programming techniques
Contribution to Program Outcomes
-
Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice; ability to use information technologies effectively.
-
An ability to design and conduct experiments, collect data, analyze and interpret results for the study of complex engineering problems or discipline-specific research topics.
-
Being familiar with multivariate mathematics and differential equations, statistics and optimization, using this knowledge to develop models describing problems in mechanical engineering mathematically; be able to solve mechanical engineering problems using computer programming and computational methods; ability to use design and analysis programs related to mechanical engineering.
Method of assessment
-
Written exam
-
Homework assignment
-
Apply Object-Oriented Progragramming techniques
Contribution to Program Outcomes
-
Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice; ability to use information technologies effectively.
-
An ability to design and conduct experiments, collect data, analyze and interpret results for the study of complex engineering problems or discipline-specific research topics.
-
Information about the effects of engineering practices on health, environment and safety in universal and social dimensions and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions.
Method of assessment
-
Written exam
-
Homework assignment
-
Solve engineering problems by developing computer programs
Contribution to Program Outcomes
-
Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice; ability to use information technologies effectively.
-
An ability to design and conduct experiments, collect data, analyze and interpret results for the study of complex engineering problems or discipline-specific research topics.
-
Awareness of the necessity of lifelong learning; the ability to access information, follow developments in science and technology, and constantly renew oneself.
-
Information about the effects of engineering practices on health, environment and safety in universal and social dimensions and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions.
-
Being familiar with multivariate mathematics and differential equations, statistics and optimization, using this knowledge to develop models describing problems in mechanical engineering mathematically; be able to solve mechanical engineering problems using computer programming and computational methods; ability to use design and analysis programs related to mechanical engineering.
Method of assessment
-
Written exam
-
Homework assignment
|
|
Contents
|
|
Week 1: |
Procedural and object-oriented programming (OOP) |
Week 2: |
Objects and Classes in OOP |
Week 3: |
Data abstraction and encapsulation |
Week 4: |
Inheritance, Homework 1 |
Week 5: |
Polymorphism, operator overloading |
Week 6: |
Functions, pointers |
Week 7: |
File access, streams, Homework 2 |
Week 8: |
Midterm Exam, Enumeration |
Week 9: |
Templates |
Week 10: |
Multi-file programming |
Week 11: |
Basic Data structures I, Homework 3 |
Week 12: |
Basic Data structures II |
Week 13: |
Basic Algorithms I, Homework 4 |
Week 14: |
Basic Algorithms II |
Week 15*: |
- |
Week 16*: |
Final Exam (min. 20 required) |
Textbooks and materials: |
Learning Object-Oriented Programming in C# 5.0, B.M. Harwani https://software.intel.com/en-us/forums/intel-fortran-compiler/topic/272012 |
Recommended readings: |
Object Oriented Programming Using C#, Simon Kendal Beginning C# Object Oriented Programming, Dan Clark Modern C++ Object-Oriented Programming, Margit Antal
Object Oriented Programming in C++, Robert Lafore
|
|
* Between 15th and 16th weeks is there a free week for students to prepare for final exam.
|
|
|
|
Assessment
|
|
|
Method of assessment |
Week number |
Weight (%) |
|
Mid-terms: |
8 |
30 |
Other in-term studies: |
|
0 |
Project: |
|
0 |
Homework: |
4,7,11,13 |
10 |
Quiz: |
|
0 |
Final exam: |
16 |
60 |
|
Total weight: |
(%) |
|
|
|
Workload
|
|
|
Activity |
Duration (Hours per week) |
Total number of weeks |
Total hours in term |
|
Courses (Face-to-face teaching): |
2 |
14 |
|
Own studies outside class: |
2 |
14 |
|
Practice, Recitation: |
2 |
14 |
|
Homework: |
2 |
4 |
|
Term project: |
0 |
0 |
|
Term project presentation: |
0 |
0 |
|
Quiz: |
0 |
0 |
|
Own study for mid-term exam: |
0 |
0 |
|
Mid-term: |
2 |
1 |
|
Personal studies for final exam: |
5 |
1 |
|
Final exam: |
2 |
1 |
|
|
|
Total workload: |
|
|
|
Total ECTS credits: |
* |
|
* ECTS credit is calculated by dividing total workload by 25. (1 ECTS = 25 work hours)
|
|
|
-->