COMPUTER ENGINEERING
Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Ders Genel Tanıtım Bilgileri

Course Code: 1410311007
Ders İsmi: Programming Languages
Ders Yarıyılı: Fall
Ders Kredileri:
Theoretical Practical Credit ECTS
3 0 3 7
Language of instruction: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: No
Type of course: Necessary
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Dr.Öğr.Üyesi Recep DURANAY
Course Lecturer(s): Dr.Öğr.Üyesi Osman DURMAZ
Prof. Dr. Vedat COŞKUN
Course Assistants:

Dersin Amaç ve İçeriği

Course Objectives: The aim of this course is to introduce students to the mathematical foundations of computing, including automata theory and the theory of formal languages and grammars; At the same time, it is to teach basic concepts such as automata, equivalent regular expressions, equivalence of languages defined by automata, regular expressions, pushdown automata, equivalent context-free grammars, equivalent of languages defined by pushdown automata, context. free grammars by Turing machines and Turing machines
Course Content: Course Content Mathematical Tools (Definitions, Theorems and Proofs); Proof Types; Regular Languages; Finite Automata; Nondeterministic Machines; Regular Expressions; Irregular Languages; Context-free Languages; Context-free Grammars; Pressing Automatic; Turing Machines; Types of Turing Machines; Definition of "algorithm"; Decision Making; Stable Languages; NP-integrity; Reducibility; Recognizability.

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
2 - Skills
Cognitive - Practical
1) Students will be familiar with Turing Machines and Problem Classes.
3 - Competences
Communication and Social Competence
Learning Competence
1) Students will be able to analyze finite automata, deterministic and non-deterministic automata, regular expressions, push automata, turing machines, formal languages and grammars.
2) Students will be able to design for finite automata, deterministic and non-deterministic automata, regular expressions, push automata, turing machines, formal languages and grammars.
3) Students will demonstrate understanding of key concepts such as algorithm, computability, decidability and complexity through problem solving.
4) Students will develop problem posing and solving skills.
5) Students will be able to prove the basic results of Computational Theory.
Field Specific Competence
Competence to Work Independently and Take Responsibility

Ders Akış Planı

Week Subject Related Preparation
1) GİRİŞ, DİL TASARLAMA, MAKİNA MİMARİSİ textbook
2) "LEXICAL ANALYSIS " textbook
3) "SYNTAX ANALYSIS I (GRAMMAR, DERIVATION) " textbook
4) "SYNTAX ANALYSIS II (PARSE TREES, AMBIGUITY) " textbook
5) "SEMANTIC ANALYSIS (STATIC SEMANTICS) " textbook
6) "SEMANTIC ANALYSIS (DYNAMIC SEMANTICS) " textbook
7) "NAMES, BINDING, TYPE CHECKING, SCOPING " textbook
8) midterm textbook
9) "DATA TYPES, EXPRESSIONS AND ASSIGNMENT STATEMENTS " textbook
10) "STATEMENT-LEVEL CONTROL DATA TYPES " textbook
11) "SUBPROGRAMS (ARI, SCOPE AND PARAMETER TRANSMISSION) " textbook
12) "SUBPROGRAM IMPLEMENTATION " textbook
13) EXCEPTION HANDLING AND EVENT HANDLING textbook
14) EXCEPTION HANDLING AND EVENT HANDLING textbook
15) FINAL EXAM textbook
16) FINAL EXAM textbook

Sources

Course Notes / Textbooks: Michael Sipser, Introduction to the Theory of Computation, Cengage Learning, 3rd Edition, 2012
References: Daniel I. A. Cohen, Introduction to Computer Theory, Prentice-Hall, 2nd Edition, 1997

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

5

6

4

Program Outcomes
1) PO 1.1) Sufficient knowledge in mathematics, science and computer engineering
2) PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems.
3) PO 2.1) Identifying complex engineering problems
4) PO 2.2) Defining complex engineering problems
5) PO 2.3) Formulating complex engineering problems
6) PO 2.4) Ability to solve complex engineering problems
7) PO 2.5) Ability to choose and apply appropriate analysis and modeling methods
8) PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions.
9) PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product
10) PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
11) PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
12) PO 4.3) Ability to use information technologies effectively.
13) PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments
14) PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation
15) PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection
16) PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics
17) PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics

Ders - Öğrenme Kazanımı İlişkisi

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) PO 1.1) Sufficient knowledge in mathematics, science and computer engineering
2) PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems.
3) PO 2.1) Identifying complex engineering problems
4) PO 2.2) Defining complex engineering problems 4
5) PO 2.3) Formulating complex engineering problems
6) PO 2.4) Ability to solve complex engineering problems
7) PO 2.5) Ability to choose and apply appropriate analysis and modeling methods
8) PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions.
9) PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product
10) PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
11) PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
12) PO 4.3) Ability to use information technologies effectively.
13) PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments
14) PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation
15) PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection
16) PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics
17) PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics

Öğrenme Etkinliği ve Öğretme Yöntemleri

Course
Homework

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Homework

Assessment & Grading

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

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 3 42
Study Hours Out of Class 14 5 70
Homework Assignments 1 20 20
Midterms 1 2 2
Final 1 3 3
Total Workload 137