담당교수
(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