1. | 오리엔테이션 | 1. 학습 과정 소개 2. 언어 평가 기준 3. 언어 분류 |
||
2. | 프로그래밍 언어의 발전사 | 1. 프로그래밍 언어의 발전 과정 2. 프로그래밍 언어별 특징 | ||
3. | 구문과 의미론 | 구문 표기 | ||
4. | 구문과 의미론 | 1. 의미 표기 2. Lex & Yacc |
||
5. | 어휘 분석과 구문 분석 | 1. Attribute Grammars 2. Formal Methods of Describing Syntax 3. Attribute Grammars 4. Describing the Meanings of Programs: Dynamic semantics |
||
6. | 이름, 바인딩, 타입 검사와 영역 | 1. 이름 및 변수 2. 바인딩의 개념 3. 타입 검사와 영역 |
||
7. | 데이터 타입 | 1. 기본 데이터 타입 2. 문자 스트링 타입 3. 배열 타입 4. 레코드, 공용체 타입 5. 포인터 타입과 참조 타입 |
||
8. | 식과 배정문 | 1. 산술식과 중복 연산자 2. 타입 변환 및 관계식과 부울식 3. 단락회로 평가 4. 배정문 |
||
9. | 문장수준 제어 구조 | 1. 선택문, 반복문 2. 무조건 분기, 보호명령 |
||
10. | 부프로그램 | 1. 부프로그램의 원리 및 설계 2. 지역 참조 환경 및 매개변수 3. 중복, 포괄형 부프로그램 |
||
11. | 부프로그램의 구현 | 1. 호출과 복귀의 의미 2. 부프로그램 구현 3. 블록 |
||
12. | 추상 데이터 타입과 캡슐화 구조 | 1. 추상화 개념 2. 추상 데이터 타입 설계 3. 캡슐화 구조 및 명칭 |
||
13. | 객체지향 프로그래밍 | 1. 객체지향 프로그래밍 2. 객체지향 언어의 설계 3. 프로그래밍 언어들의 객체지향 | ||
14. | 동시성 | 1. 부프로그램-수준 동시성 2. 세마포어와 모니터 3. 메시지 전달 4. 문장-수준 동시성 | ||
15. | 예외처리와 이벤트 처리 | 1. 예외처리의 소개 2. 프로그래밍 언어의 예외처리 3. 이벤트 처리 |