Faculty Of Engıneerıng
Computer And Software Engıneerıng

Course Information

PRINCIPLES OF PROGRAMMING LANGUAGES
Code Semester Theoretical Practice National Credit ECTS Credit
Hour / Week
CSE212 Spring 3 0 3 4

Prerequisites and co-requisites
Language of instruction English
Type Elective
Level of Course Bachelor's
Lecturer Yrd. Doç. Dr. Mehmet Ali AKTAŞ
Mode of Delivery Face to Face
Suggested Subject
Professional practise ( internship ) None
Objectives of the Course Aims to introduce basic concepts of programming languages
Contents of the Course History of Programming Languages; design principles; syntax and semantics; implementation; compilation; interpretation; Evaluation of major programming languages: binding, scope, type casting, data abstraction, parameter passing, exception handling, I/O, etc.; Programming paradigms; procedural, object oriented, functional, logical. Requires extensive programming.

Learning Outcomes of Course

# Learning Outcomes
1 Identify the common concepts used to design programming languages. (
2 Explain the evolution and key features of the major programming languages.
3 Analyze and evaluate programming languages.
4 Be familiar with programming languages of different paradigms
5 To find out the best programs and algorithms which can be used to solve a problem
6 Transforming given program into other programming languages.

Course Syllabus

# Subjects Teaching Methods and Technics
1 Syllabus, Introduction, Reasons for studying concepts of programming languages, Evolution of major programming languages Lecture, discussion, presentation
2 Language evaluation criteria, Language Categories, Implementation Methods Lecture, discussion, presentation
3 Describing Syntax and Semantics Lecture, discussion, presentation
4 Names, Bindings, Scope Lecture, discussion, presentation
5 Names, Bindings, Scope Lecture, discussion, presentation
6 Data Types Lecture, discussion, presentation
7 1. Midterm Exam Lecture, discussion, presentation
8 Data Types Lecture, discussion, presentation
9 Expressions and Assignment Statements Lecture, discussion, presentation
10 Statement Level Control Structures Lecture, discussion, presentation
11 Subprograms Lecture, discussion, presentation
12 Imperative programming; Case study: C Lecture, discussion, presentation
13 Object Oriented Programming; key concepts, Pragmatics, case study: C++, Lecture, discussion, presentation
14 Final Exam
15
16

Course Syllabus

# Material / Resources Information About Resources Reference / Recommended Resources

Method of Assessment

# Weight Work Type Work Title
1 40% Mid-Term Exam Mid-Term Exam
2 60% Final Exam Final Exam

Relationship between Learning Outcomes of Course and Program Outcomes

# Learning Outcomes Program Outcomes Method of Assessment
1 Identify the common concepts used to design programming languages. ( 3͵4 1͵2
2 Explain the evolution and key features of the major programming languages. 3͵4 1͵2
3 Analyze and evaluate programming languages. 3͵4 1͵2
4 Be familiar with programming languages of different paradigms 3͵4 1͵2
5 To find out the best programs and algorithms which can be used to solve a problem 3͵4 1͵2
6 Transforming given program into other programming languages. 3͵4 1͵2
PS. The numbers, which are shown in the column Method of Assessment, presents the methods shown in the previous table, titled as Method of Assessment.

Work Load Details

# Type of Work Quantity Time (Hour) Work Load
1 Course Duration 14 3 42
2 Course Duration Except Class (Preliminary Study, Enhancement) 14 3 42
3 Presentation and Seminar Preparation 0 0 0
4 Web Research, Library and Archival Work 0 0 0
5 Document/Information Listing 0 0 0
6 Workshop 0 0 0
7 Preparation for Midterm Exam 0 0 0
8 Midterm Exam 1 2 2
9 Quiz 0 0 0
10 Homework 0 0 0
11 Midterm Project 1 2 2
12 Midterm Exercise 0 0 0
13 Final Project 0 0 0
14 Final Exercise 0 0 0
15 Preparation for Final Exam 0 0 0
16 Final Exam 1 2 2
  90