ECTS @ IUE ECTS @ IUE ECTS @ IUE ECTS @ IUE ECTS @ IUE ECTS @ IUE ECTS @ IUE

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 Up

Upon successful completion of this course, students will be able to:

  1. Use advanced programming techniques

    Contribution to Program Outcomes

    1. 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.
    2. 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.
    3. 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

    1. Written exam
    2. Homework assignment
  2. Apply Object-Oriented Progragramming techniques

    Contribution to Program Outcomes

    1. 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.
    2. 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.
    3. 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

    1. Written exam
    2. Homework assignment
  3. Solve engineering problems by developing computer programs

    Contribution to Program Outcomes

    1. 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.
    2. 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.
    3. Awareness of the necessity of lifelong learning; the ability to access information, follow developments in science and technology, and constantly renew oneself.
    4. 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.
    5. 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

    1. Written exam
    2. Homework assignment
   Contents Up
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 Up
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 Up
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)
-->