1. Trang chủ
  2. » Giáo án - Bài giảng

nguyên lý ngôn ngữ lập trình sinhvienzone com

5 110 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Đại Học Quốc Gia TP.HCM Trƣờng Đại Học Bách Khoa Khoa KH&KT Máy Tính VietnamNationalUniversity – HCMC Ho Chi Minh CityUniversity of Technology Faculty of Computer Science and Engineering Đề cương mơn học NGUN LÝ NGƠN NGỮ L ẬP TRÌNH (Principles Of Programming Languages) Số tín (4.0.8) Số tiết Tổng: 60 LT: 60 TH: TN: om BT: 10% TN: 0% KT: 20% BTL/TL: 30% - Bài tập lớp online - Bài tập lớn - Kiểm tra: trắc nghiệm tự luận, 65 phút - Thi: trắc nghiệm tự luận, 120 phút Không ne Môn tiên BTL/TL: X Thi: 40% Kỹ thuật lập trình Cấu trúc liệu giải thuật Môn song hành Khơng CTĐT ngành Trình độ đào tạo Khoa Học Máy Tính Đại học Cấp độ mơn học Cấp độ (dạy cho sinh viên năm 3) CO1011 CO2003 nh Vi en Zo Môn học trước Ghi khác CO3005 C Mơn ĐA, TT, LV Tỉ lệ đánh giá Hình thức đánh giá MSMH Si Mục tiêu môn học Môn học cung cấp cho sinh viên kiến thức nguyên lý thiết kế thực ngôn ngữ lập trình, thành phần ngơn ngữ lập trình Một loại ngơn ngữ lập trình khai báo giới thiệu môn học ngôn ngữ lập trình hàm Aims: This course is to introduce the knowledge of principles of programming language design and implementation, basic components of programming languages A declarative programming language introduced in this course is functional programming language Nội dung tóm tắt môn học Các nguyên lý thiết kế ngôn ngữ lập trình Mơ tả ngơn ngữ lập trình cách hình thức mức độ từ vựng cú pháp Các hệ thống kiểu liệu ngôn ngữ lập trình Các cấu trúc điều khiển ngơn ngữ lập trình 1/5 Các chế điều khiển liệu ngơn ngữ lập trình Course outline: Principles of programming language design Formal description of lexical and grammar Data type systems in programming languages Control structures in programming languages Data control mechanism in programming languages Tài liệu học tập Sách, giáo trình chính: om [1] Maurizio Gabbrielli and Simone Martini, Programming Languages: Principles and Paradigms, Springer, 2010 .C [2] Cao Hồng Trụ, Ngơn ngữ lập trình- Các ngun lý mơ hình, Nhà xuất Đại học Quốc gia Tp Hồ Chí Minh, 2004 ne Sách tham khảo: Zo [3] Robert W Sebesta, Concepts of Programming Languages, 8th edition, Addison Wesley, 2008 en [4] Kenneth C.Louden, Programming Languages – Principles and Practice, First edition, Thomson Brooks/Cole, 2003 L.O.2 L.O.3 Chuẩn đầu môn học Viết đặc tả hình thức (ở mức từ vựng cú pháp) cho ngơn ngữ lập trình L.O.1.1 – Viết đặc tả hình thức mức từ vựng cho ngơn ngữ lập trình L.O.1.2 – Viết đặc tả hình thức mức văn phạm cho ngơn ngữ lập trình Si STT L.O.1 nh Vi Hiểu biết, kỹ năng, thái độ cần đạt sau học môn học Mô tả giải thích chế hoạt động thành phần ngơn ngữ lập trình L.O.2.1 – Mơ tả giải thích chế hoạt động tầm vực môi trường tham khảo L.O.2.2 – Mô tả giải thích chế hoạt động kiểu liệu L.O.2.3 – Mơ tả giải thích chế hoạt động cấu trúc điều khiển Hiện thực trình thơng/biên dịch sử dụng ngơn ngữ lập trình hàm chẳng hạn Scala L.O.3.1 – Viết đặc tả từ vựng dùng cơng cụ sinh trình phân tích từ vựng ANTLR L.O.3.2 – Viết đặc tả văn phạm dùng cơng cụ sinh trình phân tích ch1 pháp ANTLR L.O.3.3 – Viết trình kiểm tra ràng buộc tĩnh L.O.3.4 – Viết trình sinh mã đơn giản CDIO 1.1 1.1.2 1.1.2 1.1 1.1.2 1.1.2 1.1.2 4.1; 4.2 4.1.2 4.1.2 4.2.2 4.2.2 2/5 L.O.2 Write formal specification (lexical and grammartical) of a simple programming language L.O.1.1 – Write lexical specification (using regular expressin) of a simple programming language L.O.1.2 – Write syntax specification (using BNF) of a simple programming language Describe and explain the mechanisms of components of a programming language L.O.2.1 – Describe and explain the mechanisms of scope and reference environment L.O.2.2 – Describe and explain the mechanisms of data types L.O.2.3 – Describe and explain the mechanisms of control structures Implement an interpreter/compiler using a functional programming language such as Scala L.O.3.1 – Write lexical specification using alexer-generated toolsuch as ANTLR L.O.3.2 – Write syntax specification using a parser-generated toolsuch as ANTLR L.O.3.3 – Write a static checker L.O.3.4 – Write a simple code generator CDIO 1.1 1.1.2 1.1.2 1.1 1.1.2 1.1.2 1.1.2 4.1; 4.2 4.1.2 4.1.2 4.2.2 4.2.2 Zo ne C L.O.3 Course learning outcomes om No L.O.1 en Hướng dẫn cách học - chi tiết cách đánh giá môn học Si nh Vi Hướng dẫn cách học: Tài liệu (slide giảng) đưa lên SAKAI hàng tuần Sinh viên tải về, in mang theo lên lớp học Sau buổi học, sinh viên đọc sách sau làm tập trắc nghiệm SAKAI Sinh viên cần làm tập thực hành hàng tuần Sinh viên phải thực tập lớn để rèn luyện kỹ lập trình hiểu rõ kiến thức môn học Đối với phần thực hành, sinh viên tham gia đầy đủ buổi thí nghiệm nộp lại báo cáo thí nghiệm theo yêu cầu giảng viên phụ trách Chi tiết cách đánh giá môn học: Bài tập (10%): Sinh viên phải hoàn tất trắc nghiệm SAKAI trước hạn định Ở đầu cuối buổi học, sinh viên phải thực tập ngắn Bài tập lớn (30%): Sinh viên phải hoàn thành tập lớn môn học; phần nội dung kiểm tra thi nằm tập lớn Kiểm tra kỳ (20%): trắc nghiệm tự luận 65 phút Thi cuối kỳ (40%): trắc nghiệm tự luận 120 phút Dự kiến danh sách Cán tham gia giảng dạy 3/5 TS Nguyễn Hứa Phùng PGS.TS Quản Thành Thơ Nội dung chi tiết Nội dung phần lý thuyết Nội dung Chuẩn đầu chi tiết 1,2 Chƣơng Ngơn ngữ lập trình hàm 1.1 Giới thiệu ngơn ngữ lập trình hàm 1.2 Lập trình khơng hiệu ứng lề (Side effect-free programming) 1.3 Hàm cấp cao (high-order functions) 1.4 Bao đóng hàm (function closure) Yêu cầu tự học đ/v sinh viên: 10 Chƣơng Giới thiệu 2.1 Giới thiệu ngôn ngữ lập trình 2.2 Lịch sử phát triển ngơn ngữ lập trình 2.3 Các tiêu chí đánh giá ngơn ngữ lập trình Yêu cầu tự học đ/v sinh viên: Chƣơng Mô tả từ vựng 3.1 Các khái niệm 3.2 Biểu thức qui 3.3 Automata phương pháp nhận dạng token 3.4 Công cụ xây dựng trình phân tích từ vựng u cầu tự học đ/v sinh viên: Chƣơng Văn phạm 4.1 Các khái niệm 4.2 Văn phạm phi ngữ cảnh BNF 4.3 Cây phân tích cú pháp trừu tượng 4.4 Sự nhập nhằng, tính kết hợp độ ưu tiên 4.5 Các kỹ thuật phân tích công cụ Yêu cầu tự học đ/v sinh viên: Giải thích kỹ thuật lập trình hàm - Kiểm tra kỳ kiểm tra cuối kỳ - Giảng lý thuyết - Câu hỏi tập lớp theo nhóm - Làm tập, thực hành tập lớn - Kiểm tra kỳ kiểm tra cuối kỳ L.O.1.2 Viết đặc tả hình thức mơ tả văn phạm ngơn ngữ lập trình - Giảng lý thuyết - Câu hỏi tập lớp theo nhóm - Làm tập, thực hành tập lớn - Kiểm tra kỳ kiểm tra cuối kỳ C ne L.O.1.1 Viết đặc tả hình thức mơ tả từ vựng ngơn ngữ lập trình Si 5-7 nh Vi en 4,5 Hoạt động đánh giá - Thí nghiệm Bài tập lớn - Giảng lý thuyết - Câu hỏi lớp theo cá nhân/nhóm Giải thích tiêu chí đánh giá ngơn ngữ lập trình Zo Hoạt động dạy học - Giảng lý thuyết - Câu hỏi lớp theo cá nhân/nhóm om Tuần 8, Kiểm tra kỳ 10 Chƣơng Ngữ nghĩa 5.1 Thuộc tính ràng buộc 5.2 Khai báo, khối tầm vực 5.3 Bảng danh hiệu 5.4 Phân giải chất tràn tên 5.5 Cấp phát, thời gian sống môi trường 5.6 Biến 5.7 Bí danh, tham khảo treo rác Yêu cầu tự học đ/v sinh viên: L.O.2.1 Xác định tầm vực danh hiệu môi trường tham khảo chương trình - Giảng lý thuyết - Câu hỏi tập lớp theo nhóm - Làm tập, thực hành tập lớn - Kiểm tra kỳ kiểm tra cuối kỳ Chƣơng Các kiểu liệu 5.1 Thông tin kiểu 5.2 Các kiểu 5.3 Hàm dựng kiểu L.O.2.2 Giải thích chế hoạt động kiểu liệu - Giảng lý thuyết - Câu hỏi tập lớp - Làm tập, thực hành tập lớn 11,12 4/5 Tuần Nội dung Chuẩn đầu chi tiết Hoạt động dạy học theo nhóm Hoạt động đánh giá - Kiểm tra cuối kỳ L.O.2.3 Giải thích chế hoạt động cấu trúc điều khiển - Giảng lý thuyết - Câu hỏi lớp theo cá nhân/nhóm - Bài tập lớp cá nhân theo nhóm - Kiểm tra cuối kỳ Chƣơng Các cấu trúc điều khiển 6.1 Biểu thức 6.2 Phát biểu điều kiện 6.3 Các lệnh lặp 6.4 Trừu tượng hóa điều khiển 6.5 Các chế truyền tham số Yêu cầu tự học đ/v sinh viên: 12 16 Ôn tập ** Nội dung giới hạn cho kiểm tra kỳ (tập trung) Chương – ** Nội dung thi cuối kỳ (tập trung) Chương – C 1315 om 5.4 Tương đương kiểu 5.5 Kiểm tra kiểu 5.6 Chuyển đổi kiểu 5.7 Trừu tượng hóa liệu Yêu cầu tự học đ/v sinh viên: Mơ tả hình thức ngơn ngữ lập trình 1012 Kiểm tra ràng buộc tĩnh 1316 Sinh mã L.O.3.1 Viết đặc tả từ vựng dùng Scala L.O.3.2 Viết đặc tả văn phạm dùng Scala L.O.3.3 Viết chương trình kiểm tra ràng buộc tĩnh L.O.3.4 Viết chương trình sinh mã nh Vi en Zo 4-7 ne Nội dung phần tập lớn -Sinh viên viết đặc tả từ vựng cú pháp dùng cơng cụ có sẵn - Sinh viên viết chương trình kiểm tra ràng buộc tĩnh - Sinh viên viết chương trình sinh mã - Kiểm tra kết chương trình sinh viên - Kiểm tra kết chương trình sinh viên - Kiểm tra kết chương trình sinh viên Thơng tin liên hệ Si Bộ môn/Khoa phụ trách Bộ Môn Khoa học máy tính – Khoa KH&KT Máy Tính Văn phòng Điện thoại 08-8647256-ext 5839 Giảng viên phụ trách TS Nguyễn Hứa Phùng Email Tp Hồ Chí Minh, ngày tháng năm 2016 TRƢỞNG KHOA CHỦ NHIỆM BỘ MÔN CB PHỤ TRÁCH LẬP ĐỀ CƢƠNG 5/5 ... từ vựng cú pháp) cho ngôn ngữ lập trình L.O.1.1 – Viết đặc tả hình thức mức từ vựng cho ngơn ngữ lập trình L.O.1.2 – Viết đặc tả hình thức mức văn phạm cho ngơn ngữ lập trình Si STT L.O.1 nh... Thơ Nội dung chi tiết Nội dung phần lý thuyết Nội dung Chuẩn đầu chi tiết 1,2 Chƣơng Ngơn ngữ lập trình hàm 1.1 Giới thiệu ngơn ngữ lập trình hàm 1.2 Lập trình khơng hiệu ứng lề (Side effect-free... sinh viên: 10 Chƣơng Giới thiệu 2.1 Giới thiệu ngơn ngữ lập trình 2.2 Lịch sử phát triển ngơn ngữ lập trình 2.3 Các tiêu chí đánh giá ngơn ngữ lập trình u cầu tự học đ/v sinh viên: Chƣơng Mô tả từ

Ngày đăng: 30/01/2020, 22:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN