CANKIRI KARATEKIN UNIVERSITY Bologna Information System


  • Course Information
  • Course Title Code Semester Laboratory+Practice (Hour) Pool Type ECTS
    Programming Languages BİL301 FALL 3+0 C 6
    Learning Outcomes
    1-Applies sufficient knowledge of programming languages for modeling and solving engineering problems.
    2-Designs compiler frontends (lexical, syntax and semantic analysis steps) under realistic constraints and conditions.
    3-Uses program structures (names, context, type checking, scopes) in different programming languages.
    4-Uses modern technologies necessary for the design and implementation of programming languages.
  • ECTS / WORKLOAD
  • ActivityPercentage

    (100)

    NumberTime (Hours)Total Workload (hours)
    Course Duration (Weeks x Course Hours)14342
    Classroom study (Pre-study, practice)14456
    Assignments0000
    Short-Term Exams (exam + preparation) 0000
    Midterm exams (exam + preparation)30188
    Project0000
    Laboratory 3014456
    Final exam (exam + preparation) 40188
    0000
    Total Workload (hours)   170
    Total Workload (hours) / 30 (s)     5,67 ---- (6)
    ECTS Credit   6
  • Course Content
  • Week Topics Study Metarials
    1 Introduction: Programming languages paradigms and history of programming languages. R1-Chapter-1
    2 Evaluation of the Major Programming Languages. Language Definition: Syntactical and semantical definitions in programming languages. Grammars, BNF, EBNF, Semantics definition methods R1-Chapter-3, R2-Chapter-2
    3 Language Definition: Syntactical and semantical definitions in programming languages. Grammars, BNF, EBNF, Semantics definition methods R1-Chapter-3, R2-Chapter-2
    4 Language Translation: Translation process of programming languages into machine code, interpreters and compilers R1-Chapter-4
    5 Basic Programming Constructs: Variables and their properties, processors and their properties, processor loading. R1-Chapter-4
    6 Binding: Dynamic and static binding. Type, memory and scope binding. R2-Chapter-4
    7 Data Types: Data type concept. Basic and structural data types-I R1-Chapter-6, R2-Chapter-6
    8 Data Types: Data type concept. Basic and structural data types-II R1-Chapter-6, R2-Chapter-6
    9 Type checking, strong typing, type conversions, type compatibility. R1-Chapter-6, R2-Chapter-7
    10 Structured Programming: Assignment statements, conditional statements, iterative statements. R1-Chapter-8, R2-Chapter-8
    11 Subprograms, procedures and functions, parameter passing, activation records and recursive subprograms. R1-Chapter-9, R2-Chapter-11
    12 Object Oriented Programming: Object Oriented Programming concepts, abstraction, encapsulation, inheritance, polymorphism, dynamic binding. Concurrency. R1-Chapter-12, R2-Chapter-10
    13 Exception Handling: Creating and handling exceptions in various languages. R1-Chapter-14
    14 Functional Programming: Basic concepts of functional programming, Lisp and Scheme. Logic Programming and Prolog R1-Chapter-15
    Prerequisites -
    Language of Instruction Turkish
    Responsible Asst. Prof. Dr. Selim BUYRUKOĞLU
    Instructors -
    Assistants -
    Resources R1.Sebesta, R. W. (2012). Concepts of Programming Languages (10th. ed.). Pearson, Londra. R2.Appleby, D. (1991). Programming languages: paradigm and practice. McGraw-Hill, Inc., USA.
    Supplementary Book -
    Goals to teach the basic concepts of the programming languages and building a general perspective of the programming languages by inspecting various implementations of these concepts on different languages.
    Content Introduction: Programming languages paradigms and history of programming languages, Evaluation of the Major Programming Languages. Language Definition: Syntactical and semantical definitions in programming languages. Grammars, BNF, EBNF, Semantics definition methods, Language Translation: Translation process of programming languages into machine code, interpreters and compilers, Basic Programming Constructs: Variables and their properties, processors and their properties, processor loading, Binding: Dynamic and static binding. Type, memory and scope binding, Data Types: Data type concept. Basic and structural data types, Type checking, strong typing, type conversions, type compatibility, Structured Programming: Assignment statements, conditional statements, iterative statements, Subprograms, procedures and functions, parameter passing, activation records and recursive subprograms, Object Oriented Programming: Object Oriented Programming concepts, abstraction, encapsulation, inheritance, polymorphism, dynamic binding. Concurrency, Exception Handling: Creating and handling exceptions in various languages, Functional Programming: Basic concepts of functional programming, Lisp and Scheme. Logic Programming and Prolog
  • Program Learning Outcomes
  • Program Learning Outcomes Level of Contribution
    1 To be able to apply mathematics, science and engineering theories and principles to Computer Engineering problems. 3
    2 To have the ability to define, model, and solve problems related to Computer Engineering. -
    3 To be able to design and conduct experiments, as well as to analyze and interpret data. -
    4 To be able to design and analyze a process for a specific purpose within technical and economical limitations. 2
    5 To be able to use modern techniques and calculation tools required for engineering applications. -
    6 To have the awareness of professional liabilities and ethics. -
    7 To be able to get involved in interdisciplined and multidisciplined team work. -
    8 To be able to declare his/her opinions orally or written in a clear, concise and brief manner. 3
    9 To improve him/herself by following the developments in science, technology, modern issues, and know the importance of lifelong learning. -
    10 To be able to evaluate engineering solutions for the global and social problems especially for the health, safety, and environmental problems. 4
    11 To have knowledge about of contemporary issues. -
    Çankırı Karatekin Üniversitesi  Bilgi İşlem Daire Başkanlığı  @   2017 - Webmaster