´ã´ç±³¼ö
(INSTRUCTOR)

³âµµ
(YEAR)

Çбâ
(SEMESTER)

±³°ú¸ñ¹øÈ£
(COURSE NUMBER)

±³°ú¸ñ¸í (COURSE NAME)

ºÐ¹Ý
(SECTION)

±ÇÇõö
(KWON,HYUK CHUL)

2016

1

CP26105

 ÇÁ·Î±×·¡¹Ö¾ð¾î·Ð
(PROGRAMMING LANGUAGE PRINCIPLES)

059

´ã´ç±³¼ö¸ÞÀÏ / ¿¬¶ôó

 hckwon@pusan.ac.kr  /  C26-407(2218)

»ó´ã°¡´ÉÇÑ ½Ã°£

 

 

1.±³¼ö¸ñÇ¥ ¹× °­ÀÇ°³¿ä (Course Objectives & Description)

1)
±³¼ö¸ñÇ¥
1. To provide students with an understanding of basic concept (syntax, semantics) for programming language design

2. To provide students with an understanding of programming language construct

3. To provide students with an understanding of implementation methods of programming language construct 4. To provide students with an understanding of design methods (abstraction, modularization, information hiding) related to programming language

2)
°­ÀÇ°³¿ä
This course will teach students about the history of programming language, various characteristics of programming language construct, the grammatical formalizing programming language grammar and semantics, environmental factors supporting programming languages. The course will emphasize the requirements on programming language from a software engineering aspect. The course will survey and compare the characteristics of important programming languages including C, C++ and Java. This course will also cover new paradigm of program languages in order to help student to understand the environmental changes of programming focused on internet and smart phone. 
* Àå¾ÖÇлýÀÇ °æ¿ì Àå¾ÖÇнÀÁö¿ø¼¾ÅÍ¿Í °­ÀÇ ¹× °úÁ¦¿¡ ´ëÇÑ »çÀü ÇùÀÇ°¡ °¡´ÉÇÕ´Ï´Ù.

2.
ÁÖ±³Àç (Required TextBook)
Terrence W. Pratt and Marvin V. Zelkowitz, Programming Languages - Design and Implementation Fourth Edition, Prentice Hall

3.
Æò°¡¹æ¹ý (Requirements & Grading)
Ã⼮ŵµ:10%, Áß°£°í»ç:35%, ±â¸»°í»ç:40%, °úÁ¦¹°:10%, ÄûÁî:5%, °è:100%
* Àå¾ÖÇлýÀÇ °æ¿ì ½ÃÇè½Ã°£ÀÇ ¿¬ÀåÀÌ °¡´ÉÇϸç, ´ëÇÊÀ̳ª ÄÄÇ»Å͸¦ È°¿ëÇÏ¿© ½ÃÇè¿¡ ÀÀÇÒ ¼ö ÀÖ½À´Ï´Ù.

4.
ÁÖº° °­ÀÇ°èȹ (Schedule)

ÁÖ º°

°­ÀÇ ¹× ½ÇÇè½Ç±â³»¿ë

°úÁ¦ ¹× ±âŸ Âü°í»çÇ×

Á¦1ÁÖ

[Ç¥Àý µî ÇмúÀû ºÎÁ¤ÇàÀ§ ¿¹¹æ±³À°½Ç½Ã]

1. Introduction

Á¦2ÁÖ

[Ç¥Àý µî ÇмúÀû ºÎÁ¤ÇàÀ§ ¿¹¹æ±³À°½Ç½Ã]

1. Standardization, Internationalization

2. Machine architecture

Homework #1:

A C Program Programming

Á¦3ÁÖ

1. Language Translation

2. Syntax and Semantics

Homework #2:

Grammar and Derivation

Á¦4ÁÖ

1. Automata Theories

2. Parsing

Homework #3:

Parsing an expression

Á¦5ÁÖ

1. Pushdown Automata

2. Recursive descent parsing

Á¦6ÁÖ

1. Elementary Data Types

Homework #4:

Data Type

Á¦7ÁÖ

1. Inheritance 2. Polymorphism

Homework #5:

Polymorphism

Á¦8ÁÖ

Mid-term

Á¦9ÁÖ

1. Expressions

Á¦10ÁÖ

1. Basic statements

Homework #6:

Prolog Language

Á¦11ÁÖ

1. Activation records

2. Parameter transmission

Homework #7:

Activation Record

Á¦12ÁÖ

1. Heap storage

2. Garbage collection

Homework #8:

Parameter Transmission

Á¦13ÁÖ

1. Exception handling

2. Parallel execution 3. Guarded commands

Á¦14ÁÖ

1. Synchronization and semaphore

2. Processor design

Homework #9:

Threading

Á¦15ÁÖ

Final-term

Á¦16ÁÖ

 


5.
Âü°í¹®Çå (References)
David A. Watt, Programming Language Concepts and Paradigms, Prentice Hall