BIL503 Advanced Programming TechniquesIstanbul Okan UniversityDegree Programs PhD in Computer Engineering with a master's degreeGeneral Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
PhD in Computer Engineering with a master's degree
PhD TR-NQF-HE: Level 8 QF-EHEA: Third Cycle EQF-LLL: Level 8

General course introduction information

Course Code: BIL503
Course Name: Advanced Programming Techniques
Course Semester: Spring
Course Credits:
Theoretical Practical Credit ECTS
3 0 3 10
Language of instruction: TR
Course Requisites:
Does the Course Require Work Experience?: No
Type of course: Department Elective
Course Level:
PhD TR-NQF-HE:8. Master`s Degree QF-EHEA:Third Cycle EQF-LLL:8. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Prof. Dr. BEKİR TEVFİK AKGÜN
Course Lecturer(s): Öğr.Gör. MUSTAFA SEMİH SADAK
Dr.Öğr.Üyesi NURŞEN TOPÇUBAŞI
Prof. Dr. SEMİH BİLGEN
Course Assistants:

Course Objective and Content

Course Objectives: To introduce the basic concepts of programing languages and features with language specific paradigms

Course Content: The principles of programming language and various programming approaches.
Principles of compilation and language design

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
1) Identify the common concepts used to design programming languages.
2) Explain the evolution and key features of the major programming languages
2 - Skills
Cognitive - Practical
3 - Competences
Communication and Social Competence
Learning Competence
Field Specific Competence
Competence to Work Independently and Take Responsibility

Lesson Plan

Week Subject Related Preparation
1)
1) Programming languages concepts
2) Design of programming languages Compilers, interpreters Syntax and semantics
3) Parsing Expressions Regular expressions
4) Backus-Naur Form Extended Backus-Naur Form
5) Scope Attributes Static and dynamic binding
6) Operational semantics Attribute grammar
7) Primitive data types Structural data types
8) Abstract Modular Type systems
9) Midterm
10) Sequential constructs Routines
11) Sequential structures Routine
12) Memory management Techniques of memory management Memory management examples
13) Memory management Techniques of memory management Memory management examples
14) Structural languages Examples of structural languages Differences from non-structural languages
15) Final exam

Sources

Course Notes / Textbooks: Robert W. Sebesta, Concepts of Programming Languages, Pearson
References: Programming Languages: Application and Interpretation, Shriram Krishnamurthi, 2003-2007

Course-Program Learning Outcome Relationship

Learning Outcomes

1

2

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, define, 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 the examination of engineering problems.
7) The ability to communicate effectively in Turkish both verbally and in writing; at least one foreign language knowledge.
8) Knowledge of the necessity of lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal.
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.

Course - Learning Outcome Relationship

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.
3) The ability to identify, define, 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 the examination of engineering problems.
7) The ability to communicate effectively in Turkish both verbally and in writing; at least one foreign language knowledge.
8) Knowledge of the necessity of lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal.
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.

Learning Activity and Teaching Methods

Individual study and homework
Lesson
Homework
Application (Modelling, Design, Model, Simulation, Experiment etc.)

Assessment & Grading Methods and Criteria

Written Exam (Open-ended questions, multiple choice, true-false, matching, fill in the blanks, sequencing)
Homework
Application
Individual Project

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Application 8 % 20
Homework Assignments 2 % 10
Midterms 1 % 30
Final 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

Workload and ECTS Credit Grading

Activities Number of Activities Duration (Hours) Workload
Course Hours 15 3 45
Project 1 60 60
Homework Assignments 3 30 90
Quizzes 8 4 32
Midterms 1 40 40
Final 1 40 40
Total Workload 307