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
|