Tải bản đầy đủ (.pdf) (6 trang)

De cuong mon hoc PPL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (75.02 KB, 6 trang )

3. ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN
NGUYÊN LÝ CÁC NGÔN NGỮ LẬP TRÌNH
I. Tên học phần:

NGUYÊN LÝ CÁC NGÔN NGỮ LẬP TRÌNH

II. Mã học phần:

NLT.503

III. Khối lượng:

03 tín chỉ
(Số tiết Lý thuyết/TH+Thảo luận/Tự nghiên cứu: 30/30/135)

IV. Loại học phần:

Bắt buộc

V. Điều kiện tiên quyết: Không có
VI. Mô tả học phần
Giới thiệu tổng quan về ngôn ngữ lập trình và nguyên lý chung của các vấn đề
trong ngôn ngữ lập trình. Giới thiệu về chương trình dịch và các kỹ thuật liên quan đến
chương trình dịch. Các nguyên lý và kỹ thuật cơ bản trong lập trình dòng lệnh, lập trình
hướng đối tượng, lập trình logic, lập trình hàm, lập trình tương tranh và lập trình song
song.
Trên cơ sở những kiến thức đã nắm được, học viên làm các bài tập trên các công cụ
phần mềm chọn lọc cho từng loại mô hình ngôn ngữ lập trình: SWI – Prolog, ML, Oz.
VII. Mục tiêu học phần
7.1. Về kiến thức
Kết thúc học phần này, học viên có được các kiến thức về những nguyên tắc nền


tảng cùng với những kỹ thuật tiêu biểu trong nguyên lý các ngôn ngữ lập trình: chương
trình dịch, lập trình dòng lệnh, lập trình hướng đối tượng, lập trình logic, lập trình hàm,
lập trình tương tranh và lập trình song song.
7.2. Về kĩ năng
Trên cơ sở đó các kiến thức được học, nhằm tăng cường kỹ năng thực hành và ứng
dụng, học viên biết cách vận dụng các vấn đề được nghiên cứu, tìm hiểu vào một số ngôn
ngữ lập trình thông dụng hiện nay.
7.3. Về thái độ
Học viên có thái độ nhận thức tích cực đối với các vấn đề chuyên môn làm cơ sở
nền tảng cho các vấn đề chuyên ngành về sau, đánh giá được tầm quan trọng của những
vấn đề cơ sở trong ngành công nghệ thông tin.
7.4. Các mục tiêu khác
- Thúc đẩy tính nghiên cứu độc lập một số vấn đề cơ sở thông qua việc tự tìm
hiểu tài liệu;
103


- Tăng cương tính cộng tác của mỗi cá nhân học viên trong việc làm bài tập
nhóm để nâng cao hiệu quả của nhóm làm việc;

VIII. Nội dung chi tiết
MỞ ĐẦU
(Số tiết LT/TL/TNC: 1/1/3)
1. Mục đích môn học
2. Nội dung môn học
3. Sách giáo khoa và tài liệu tham khảo
CHƯƠNG 1. TỔNG QUAN VỀ NNLT VÀ CHƯƠNG TRÌNH DỊCH
(Số tiết LT/TL/TNC: 4/4/12)
1.1 Tổng quan về các ngôn ngữ lập trình:
- Lịch sử phát triển của ngôn ngữ lập trình

- Các khuôn phép (paradigm) lập trình
- Các nguyên lý cơ bản trong thiết kế ngôn ngữ lập trình
1.2 Chương trình dịch và kiến trúc chương trình dịch
- Tổng quan về chương trình dịch
- Kiến trúc cơ bản của một chương trình dịch
- Một số kỹ thuật tiêu biểu trong chương trình dịch
1.3 Cú pháp ngôn ngữ lập trình
- Cấu trúc từ vựng với biểu thức chính quy (regular expression)
- Cấu trúc ngữ pháp
+ Văn phạm phi ngữ cảnh và BNF
+ Cây phân tích (parse tree) và cây cú pháp trừu tượng (abstract syntax tree)
+ Sự nhập nhằng, tính kết hợp và độ ưu tiên
1.4 Ngữ nghĩa ngôn ngữ lập trình
- Định danh, thuộc tính và ràng buộc
- Hệ thống kiểu
- Các cấu trúc điều khiển
Nội dung thảo luận 1: Phương pháp hoạt động của chương trình dịch, cách phân tích cú
pháp của cấu trúc lập trình
Nội dung bài tập 1: Định nghĩa cú pháp, ngữ nghĩa của ngôn ngữ với công cụ ANTLR
Tài liệu tham khảo: [1]/Chương 1, [2]/Chương 2&3, [3]/Chương 1&3
CHƯƠNG 2. LẬP TRÌNH CHỈ THỊ (IMPERATIVE PROGRAMMING)
104


(Số tiết LT/TL/TNC: 5/5/15)
2.1 Tổng quan về lập trình chỉ thị
2.2 Mô hình bộ nhớ trong lập trình chỉ thị
2.3 Các cấu trúc điều khiển cơ bản trong lập trình chỉ thị
2.4 Lập trình cấu trúc với hàm và thủ tục
Nội dung thảo luận 2: Phương pháp triển khai theo cấu trúc điều khiển trong lập trình,

cách lập trình và gọi hàm
Nội dung bài tập 2: thực hành lập trình chỉ thị với C/C++
Tài liệu tham khảo: [1]/Chương 4, [2]/Chương 3&5, [3]/Chương 2&3
CHƯƠNG 3. LẬP TRÌNH HĐT, HƯỚNG THÀNH PHẦN VÀ DỊCH VỤ
(Số tiết LT/TL/TNC: 5/5/15)
3.1 Tổng quan về lập trình hướng đối tượng
3.2 Các kỹ thuật cơ bản trong lập trình hướng đối tượng
- Kỹ thuật đóng gói
- Kỹ thuật thừa kế
- Kỹ thuật liên kết động và tính đa hình
3.3 So sánh đánh giá các ngôn ngữ lập trình hướng đối tượng
3.4 Phát triển của lập trình hướng đối tượng:
- Xây dựng phần mềm hướng thành phần: nguyên lý, quy trình, kiến trúc
- Xây dựng phần mềm hướng dịch vụ: nguyên lý, quy trình, kiến trúc
- Các nền tảng hỗ trợ lập trình HĐT, hướng thành phần, hướng dịch vụ
Nội dung thảo luận 3: 4 đặc tính cơ bản của lập trình hướng đối tượng
Nội dung bài tập 3: Lập trình hướng đối tượng, hướng thành phần và hướng dịch vụ
Tài liệu tham khảo: [1]/Chương 2, [2]/Chương 3&4, [3]/Chương 4
CHƯƠNG 4. LẬP TRÌNH LOGIC
(Số tiết LT/TL/TNC: 5/5/15)
4.1 Tổng quan về lập trình Logic
4.2 Các kỹ thuật cơ bản trong lập trình Logic
- Hợp giải (resolution) và hợp nhất (unification)
- Kỹ thuật điều khiển với toán tử cắt
4.3 Cấu trúc dữ liệu trong lập trình Logic
4.4 Phát triển của lập trình Logic
- Lập trình lô-gic ràng buộc (Constraint Logic Programming)
- Lập trình lô -gic quy nạp (Inductive Logic Programming)
Nội dung thảo luận 4: Cách triển khai lập trình logic đối với các yêu cầu bài toán
105



Nội dung bài tập 4: Lập trình logic. Công cụ sử dụng để minh họa SWI-Prolog
Tài liệu tham khảo: [1]/Chương 4, [2]/Chương 3, [3]/Chương 3&4
CHƯƠNG 5. LẬP TRÌNH HÀM
(Số tiết LT/TL/TNC: 5/5/15)
5.1 Tổng quan về lập trình hàm
5.2 Các kỹ thuật cơ bản trong lập trình hàm
- Hàm đệ quy
- Hàm bậc cao (higher-order functions)
- Hàm đa hình (polymorphic functions)
5.3 Các cấu trúc dữ liệu trong lập trình hàm
- Kiểu dữ liệu người dùng định nghĩa
- Kiểu dữ liệu đa hình
- Kiểu dữ liệu trừu tượng
5.4 Phát triển của lập trình hàm
- Mô đun và mô đun bậc cao
- Định trị trì hoãn (lazy evaluation)
Nội dung thảo luận 5: Cơ chế tương tác, trao đổi dữ liệu giữa các hàm
Nội dung bài tập 5: Lập trình hàm. Công cụ sử dụng để minh họa ML.
Tài liệu tham khảo: [1]/Chương 1&2, [2]/Chương 2, [3]/Chương 2&3
CHƯƠNG 6. LẬP TRÌNH TƯƠNG TRANH VÀ LẬP TRÌNH SONG SONG
(Số tiết LT/TL/TNC: 5/5/15)
6.1 Tổng quan về lập trình tương tranh và lập trình song song
6.2 Các mô hình lập trình tương tranh và lập trình song song
6.3 Lập trình tương tranh với các kỹ thuật chia sẻ bộ nhớ chung
6.4 Lập trình song song với kỹ thuật truyền thông điệp
Nội dung thảo luận 6: Ứng dụng của lập trình song song và các công cụ hiện cung cấp
Nội dung bài tập 6: Lập trình tương tranh và lập trình song song. Công cụ sử dụng để
minh họa Oz.

Tài liệu tham khảo: [1]/Chương 2&4, [2]/Chương 3, [3]/Chương 3&5
IX. Học liệu
A. TÀI LIỆU BẮT BUỘC
[1]. A. Louden, Programming language, 2nd Edition, MIT, 2004.
[2]. Gilles Dowek, Principles of Programming Language, Springer, 2009.
[3]. Mike Grant, Zachary Palmer, Scott Smith, Principles of Programming Language,
John Hopkins University, 2009.
106


B. TÀI LIỆU THAM KHẢO TỰ CHỌN
[4]. Peter Van Roy, Seif Haridi, Concepts, Techniques, and Models of Computer
Programming, The MIT Press, 2004.
[5]. Gilles Dowek, Introduction to the Theory of Programming Language, Springer,
2011.
[6]. M. Gabbrielli, S. Martini, Programming Language: Principles and Paradigms,
Springer, 2010.
X. Phương pháp, hình thức kiểm tra đánh giá
1. Đánh giá thường xuyên
- Kiểm diện;
- Minh chứng tham gia seminar, LVN (biên bản làm việc);
2. Đánh giá định kì
Hình thức

Tỉ lệ

BT cá nhân

15%


BT nhóm

15%

BT tiểu luận

20%

Thi kết thúc học phần

50%

3. Tiêu chí đánh giá
Yêu cầu chung đối với các BT nhóm và BT tiểu luận
- BT được trình bày trên khổ giấy A4; cỡ chữ 14; font: Times New Roman; kích
thước các lề trên, dưới, trái, phải theo thứ tự 2.5 cm, 2.5 cm, 3.5 cm, 2 cm; dãn dòng 1.5
lines.
- HV phải ghi đầy đủ các thông tin liên quan đến cá nhân mình (mã HV, nhóm,
lớp...) ở trang bìa của các loại BT.
BT cá nhân
- Hình thức: Kiểm tra trực tiếp trong giờ học
- Nội dung: Kiểm tra thái độ tự học, tự nghiên cứu tương ứng với nội dung của từng
tuần.
- Tiêu chí đánh giá: theo đáp án chung của Bộ môn
*
Lưu ý:
- Bài kiểm tra làm giống nhau đến 50% bị trừ ½ số điểm.
- Bài kiểm tra làm giống nhau trên 50% bị điểm 0 (không)
BT nhóm
107



- Hình thức: Nhóm trình bày báo cáo dưới dạng tiểu luận, bài viết đánh máy tối đa 10
trang (nếu viết tay tối đa 15 trang) trên khổ giấy A4. Số trang trên không bao gồm các bản
phụ lục kèm theo (nếu có).
- Nội dung: Giải quyết một trong các BT nhóm (trong bộ BT); thái độ của các thành
viên của nhóm cũng như khả năng phối hợp LVN, khi giải quyết BT được giao.
- Tiêu chí đánh giá:
+ Xác định đúng vấn đề cần phân tích, bình luận, nghiên cứu;
+ Bài viết đảm bảo tính trung thực, có liên hệ thực tiễn;
+ Ngôn ngữ trong sáng, chuẩn theo tiếng Việt;
+ Tài liệu tham khảo hợp lệ.
+ Báo cáo được kết quả LVN.
*
Lưu ý:
- Bài tập giống nhau đến 50% bị trừ ½ số điểm; Bài tập giống nhau trên 50% bị
điểm 0 (không);
- BT có số trang vượt quá yêu cầu bị trừ 25% điểm (không phụ thuộc số trang
vượt);
- BT nộp không đúng hạn (theo lịch trình chi tiết công bố cho HV vào trước khi bắt
đầu môn học) bị tính 0 điểm.
BT tiểu luận
- Hình thức: Bài luận đánh máy tối đa 15 trang (nếu viết tay tối đa 20 trang) trên
khổ giấy A4, đóng thành quyển. Số trang trên không bao gồm các bản phụ lục kèm theo
(nếu có).
- Nội dung: Giải quyết một BT tiểu luận (trong bộ BT hoặc HV tự chọn và được
GV đồng ý).
- Tiêu chí đánh giá:
+ Xác định vấn đề rõ ràng, hợp lí, khả thi;
+ Phân tích lập luận logic sâu sắc, có liên hệ thực tiễn hoặc nhằm giải quyết một

vấn đề mà thực tế đặt ra;
+ Ngôn ngữ trong sáng, chuẩn theo tiếng Việt;
+ Tài liệu tham khảo hợp lệ.
*
Lưu ý:
- Bài tập giống nhau đến 50% bị trừ ½ số điểm; Bài tập giống nhau trên 50% bị
điểm 0 (không); BT có số trang vượt quá yêu cầu bị trừ 25% điểm (không phụ thuộc số
trang vượt); BT nộp không đúng hạn (xem lịch trình chi tiết) bị tính 0 điểm.
Thi kết thúc học phần
- Hình thức: Vấn đáp hoặc thi viết.
108



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×