• Türkçe
  • English
Course Code: 
ACM 331
Course Period: 
Autumn
Course Type: 
Area Elective
P: 
3
Lab: 
0
Credits: 
3
ECTS: 
6
Prerequisite Courses: 
Course Language: 
İngilizce
Course Objectives: 
This course aims to cover the theoretical background of programming languages that provides students with a wide-range-in-depth discussion of programming languages concepts. The course gives students a solid foundation of understanding the theory of programming languages. The course examines the most common languages and compare them alternately.
Course Content: 

The course will cover the following topics: Principles of design and implementation of programming languages. Meaningful properties in languages, Backus Naur Syntax and structuring, compilers, interpreters, data and control structures, procedural, functional and logical programming, modular programming, examples from object oriented programming languages.

Course Methodology: 
1: Lecture, 2: Question-Answer, 3: Discussion, 4: Lab Work
Course Evaluation Methods: 
A: Testing, B: Laboratory C: Homework D: Project

Vertical Tabs

Course Learning Outcomes

Learning Outcomes

Program Learning Outcomes 

Teaching Methods

Assessment Methods

Information Systems graduates know how to distinguish between different types of programming languages such as imperative, object oriented, functional, and logic programming languages

6

1,4

A,B,C

Information Systems graduates know to recognizemeaningful properties in languages, Backus Naur Syntax and structuring

6,9,8

1,2,3,4

A,B,C

Knows how to use compilers, interpreters, data and control structures

6

1,2,3,4

A,B,C

Knows about the kinds of programming languages and their development and structure.

6

1

A

Can explain the conceptual basis of object-oriented programming languages and practice examples of them.

9,6,3

1,2,3,4

A,B,C,D

Can write reports about applications of the programming languages and discuss semantic and syntax analysis processes of compilation of the programs.

6

1,2,3,4

A,B,C

Can develop minor programs with using different types of programming languages.

9,8

1,2,3,4

A,B,C

 

Course Flow

Week

Topics

Study Materials

1

Introduction to programming languages. Principles of design and implementation of programming languages

Chapter 1-2

2

Meaningful properties in languages, Backus Naur Syntax and structuring

Chapter 3-4

3

Compilers, interpreters, checking types and scopes

Chapter 5

4

Data types and control structures

Chapter 6

5

Expressions and assigments statements

Chapter 7-8

6

MIDTERM EXAMINATION

 

7

Subprograms and their implementation

Chapter 9-10

8

Symbolic Programming

Chapter 10

9

List oriented programming languages and artificial intelligence

 

10

Abstract data types, procedural and logical programming

Chapter 11

11

Examples of object-oriented programming

Chapter 12

12

Concurrency, modular programming

Chapter 13

13

Exceptions handling and event handling

Chapter 14

14

Functional programming languages

Chapter 15

15

REVIEW AND MIDTERM EXAMINATION

 

 

Recommended Sources

Textbook

Concepts of Programming Languages. International Edition 10th Edition by Roberto Sebesta (2008), ISBN: 9780321509680

Additional Resources

Papers, slides and lecturer notes

 
 

Material Sharing

Documents

Presentations and Laboratory Sheets, REDUCE and LISP documentations

Assignments

Homework Sheets 

Exams

Old exam questions are furnished

 
 

Assessment

IN-TERM STUDIES

NUMBER

PERCENTAGE

Mid-terms

2

66

Quizzes

4

16

Assignment and Labwork

10

18

Total

 

100

CONTRIBUTION OF FINAL EXAMINATION TO OVERALL GRADE

 

40

CONTRIBUTION OF IN-TERM STUDIES TO OVERALL GRADE

 

60

Total

 

100

 

 

 

 

 

COURSE CATEGORY

Expertise/Field Courses

 
 

Course’s Contribution to Program

No

Program Learning Outcomes

Contribution

1

2

3

4

5

1

Information Systems graduates have the knowledge and the skills to design and develop the complete systems for multi-media visual user interface. (ACM 112,262)

 

 

 

 

 

2

Information Systems graduates have advanced the knowledge and skills to design, develop and install the application systems for multi-media. (ACM365, 368,473)

 

 

 

 

 

3

Information Systems graduates have the knowledge and the skills to design, develop and apply algorithms and data structures to solve the basic problems of information processing, within the framework of discrete mathematics (ACM 221,222).

 

 

 

X

 

4

Information Systems graduates have the knowledge and the skills to design and develop computer applications, based on user specificed requirements, using modern structured development tools and install them on various hardware platforms and deploy their usage.(ACM 311,322)

 

 

X

 

 

5

Information Systems graduates have the knowledge and the skills to design and develop computer applications, based on user specificed requirements, using modern object-oriented development tools and install them on various hardware platforms and deploy their usage(ACM 321).

 

 

 

x

 

6

Information Systems graduates know the logic of computer operating systems, the basic set of system commands, how to control access to system resources by users of different departments and how to monitor the running of jobs in the system (ACM 369, 370).

 

 

 

 

X

7

Information Systems graduates have the knowledge and the skills to design and develop data models serving different requirements, database applications that would access and process data using various types of software, including queries, reports and business applications.(ACM 211, 364)

X

 

 

 

 

8

Information Systems graduates have the knowledge and the skills to design and develop business applications that would provide data acess, modification and processing for data kept in enterprise database systems (ACM 221,364).

X

 

 

 

 

9

Information Systems graduates have the knowledge about computer networks, and have  the skills to design,  develop and monitor  computer networks, how to configure them  and how to maintain their performance. (ACM 361, 362, 363, 463, 464)

 

 

 

 

 

10

Information Systems graduates have the knowledge and the skills to design and develop visual user interfaces for the web, web-based applications for n-tier client/server configurations, how to deploy them in enterprises (ACM 365, 368, 412).

 

 

 

 

 

 
 

ECTS

Activities

Quantity

Duration
(Hour)

Total
Workload
(Hour)

Course Duration (Including the exam week: 16x Total course hours)

16

3

48

Hours for off-the-classroom study (Pre-study, practice)

16

3

48

Mid-terms

2

2

4

Quizzes

4

1

4

Homework

10

3

30

Final examination

2 (Including reparation)

2

4

Total Work Load

 

 

138

Total Work Load / 25 (h)

 

 

5.52

ECTS Credit of the Course

 

 

6

 
 
None