1 Mô tả tóm tắt nội dung học phần IT3104 Kỹ thuật lập trình 3(2-2-0-6) Học phần học trước: IT1014 (Tin đại cương) Mục tiêu: Sinh viên có được các kiến thức cơ bản của kỹ thuật lập trình và ập trình lập trình hướng đối tượng, có khả năng phân tích, xây dựng chương trình, làm chủ các kỹ thuật lập trình và lập trình hướng đối tượng: thừa kế, đa hình, kết tập. Sinh viên làm quen với ngôn ngữ mô hình hóa UML và sử dụng các biểu đồ và kỹ thuật cơ bản trong lập trình. Sinh viên làm chủ các kỹ thuật kiểm thử và gỡ lỗi chương trình. Nội dung: Tổng quan về ký thuật lập trình và lập trình hướng đối tượng. Các kỹ thuật làm việc với hằng, biến, xây dựng và sử dụng hàm trong lập trình hướng đối tượng. Các kỹ thuật cơ bản trong xây dựng lớp. Kỹ thuật thừa kế, kết tập và đa hình trong lập trình hướng đối tượng. Ngôn ngữ mô hình hóa UML và sử dụng trong lập trình hướng đối tượng. Thiết kế khuôn mẫu. Các phép đo đánh giá phần mềm. 1 2 Đề cương chi tiết các học phần 2 IT3104 Kỹ thuật lập trình 1. Tên học phần: KỸ THUẬT LẬP TRÌNH 2. Mã số: IT3104 3. Khối lượng: 3(2-2-0-6) Lý thuyết: 30 giờ (Style: List Bullet 2) Bài tập: 30 giờ Thí nghiệm: 0 bài (x 2 giờ) 4. Đối tượng tham dự: Sinh viên ngành kỹ sư chất lượng cao hệ thống thông tin 5. Điều kiện học phần: Học phần tiên quyết: - Học phần học trước: IT1014 (Tin đại cương) Học phần song hành: - 6. Mục tiêu học phần: Sinh viên có được các kiến thức cơ bản của kỹ thuật lập trình và ập trình lập trình hướng đối tượng, có khả năng phân tích, xây dựng chương trình, làm chủ các kỹ thuật lập trình và lập trình hướng đối tượng: thừa kế, đa hình, kết tập. Sinh viên làm quen với ngôn ngữ mô hình hóa UML và sử dụng các biểu đồ và kỹ thuật cơ bản trong lập trình. 7. Nội dung vắn tắt học phần: Tổng quan về ký thuật lập trình và lập trình hướng đối tượng. Các kỹ thuật làm việc với hằng, biến, xây dựng và sử dụng hàm trong lập trình hướng đối tượng. Các kỹ thuật cơ bản trong xây dựng lớp. Kỹ thuật thừa kế, kết tập và đa hình trong lập trình hướng đối tượng. Ngôn ngữ mô hình hóa UML và sử dụng trong lập trình hướng đối tượng. Thiết kế khuôn mẫu. Các phép đo đánh giá phần mềm hướng đối tượng. Các phép đo đánh giá phần mềm. 8. Nhiệm vụ của sinh viên: Dự lớp: đầy đủ theo quy chế Bài tập: hoàn thành các bài tập của học phần 9. Đánh giá kết quả: KT/BT(0.3)-T(TN/TL:0.7) Điểm quá trình: trọng số 0.3 - Bài tập làm đầy đủ (chấm điểm các bài tập cá nhân) - Hoàn thành bài tập lớn - Kiểm tra giữa kỳ Thi cuối kỳ (trắc nghiệm và tự luận): trọng số 0.7 10. Tài liệu học tập Sách, giáo trình chính: 1. McConnell, Steve. Code Complete: A Practical Handbook of Software Construction, 2d Ed. Redmond, Wa.: Microsoft Press, ~950 pages. ISBN: 07356-1967-0, 2004. 2. Bertrand Meyer. Touch Class. MIT Press, 960 pages, 2009 3. Martin Fowler UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition, 2005 4. Marcela Genero,Mario Piattini,Coral Calero. A Survey of Metrics for UML Class Diagrams. Journal of object technology, Vol. 4, No. 9, November-December , 2005 Sách tham khảo: xem đề cương chi tiết 11. Nội dung chi tiết học phần: 3 KỸ THUẬT LẬP TRÌNH Người soạn: PGS. Huỳnh Quyết Thắng CHƯƠNG I. TỔNG QUAN VỀ LẬP TRÌNH (1 LT) 1.1. Lịch sử phát triển của các ngôn ngữ lập trình và các thách thức công nghệ 1.2. Bài toán lập trình, quy trình giải quyết bài toán 1.3. Các khái niệm cơ bản trong lập trình CHƯƠNG 2. CÁC KỸ THUẬT LẬP TRÌNH CƠ BẢN (5 LT, 6 BT) 2.1. Các kỹ thuật làm việc với biến 2.1.1 Các nguyên lí chung 2.1.2 Đặt tên biến 2.1.3 Sử dụng các kiểu dữ liệu hợp lí 2.2. Các kỹ thuật viết mã chương trình hiệu quả 2.2.1 Các nguyên lí chung 2.2.2 Các cấu trúc lập trình điều kiện (if statement) 2.2.3 Các cấu trúc lựa chọn (case statement) 2.2.4 Các cấu trúc lập trình vòng lặp (loop) 2.2.5 Một số kỹ thuật tiêu biểu 2.3.Các kỹ thuật xây dựng và sử dụng hàm 2.3.1.Hàm với các đối số có giá trị mặc định 2.3.2.Hàm với nhiều phương án thực hiện (chồng hàm) 2.3.3.Hàm inline CHƯƠNG 3. CÁC KỸ THUẬT XÂY DỰNG LỚP (5 LT + 5BT) 3I.1. Khái niệm lớp và giao diện lớp 3I.2. Khởi tạo và giải phóng đối tượng 3I.3. Các nguyên lí và kỹ thuật xây dựng lớp 3.4. Chồng toán tử trong LTHĐT CHƯƠNG 4. CÁC KỸ THUẬT THỪA KẾ, KÊT TẬP VÀ ĐA HÌNH TRONG LTHĐT (7 LT + 7BT) 4.1. Kỹ thuật thừa kế đơn 4.2. Kỹ thuật đa thừa kế 4.3. Kỹ thuật kết tập 4.4. Kỹ thuật đa hình CHƯƠNG 5. NGÔN NGỮ MÔ HÌNH HÓA UML VÀ SỬ DỤNG TRONG LTHĐT (6 LT + 6BT) 5.1. Tổng quan về UML 5.2. Các thành phần cơ bản của UML 5.3. Các biểu đồ cơ bản của UML 5.4. Sử dụng các biểu đồ UML trong LTHĐT CHƯƠNG 6. ĐÁNH GIÁ VÀ XÂY DỰNG TÀI LIỆU CHƯƠNG TRÌNH PHẦN MỀM (6 LT + 6BT)) 6.1. Tổng quan về ánh giá phần mềm UML 6.2. Các phép đo cơ bản phần mềm hướng đối tượng 6.3. Một số kỹ thuật đánh giá phần mềm hướng đối tượng tiêu biểu 12. Nội dung các bài tập • Bài tập 1. Các kỹ thuật lập trình làm việc với biến, dữ liệu và các cấu trúc lập trình • Bài tập 2. Các kỹ thuật xây dựng và sử dụng hàm/thủ tục • Bài tập 3. Các kỹ thuật bẫy lỗi và lập trình phòng ngừa • Bài tập 4. Các kỹ thuật xây dựng lớp (class) • Bài tập 5. Các kỹ thuật thừa kế đơn và đa thừa kế, các kỹ thuật sử dụng interface. • Bài tập 6. Các kỹ thuật kết tập và kỹ huật đa hình 4 • Bài tập 7. Sử dụng các biểu đồ UML trong LTHĐT • Bài tập 8. Thử nghiệm đánh giá các phần mềm hướng đối tượng đơn giản. 13. Tài liệu tham khảo 1. McConnell, Steve. Code Complete: A Practical Handbook of Software Construction, 2d Ed. Redmond, Wa.: Microsoft Press, ~950 pages. ISBN: 07356-1967-0, 2004. 2. Bertrand Meyer. Touch Class. MIT Press, 960 pages, 2009 3. Martin Fowler UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition, 2005 4. Marcela Genero,Mario Piattini,Coral Calero. A Survey of Metrics for UML Class Diagrams. Journal of object technology, Vol. 4, No. 9, November-December , 2005 5. Peter Coad, Jill Nicola; Object-Oriented Programming. Prentice Hall Publisher, 1993. 6. Martin Fowler UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition 7. Harvey M. Deitel, Paul J. Deitel C++ How to Programing (7th Edition) 8. Harvey M. Deitel, Paul J. Deitel How to Java Programing (7th Edition) 9. Bruce Eckel - Thinking in C++ . Second Edition. MindView Inc., 2000. Có thể tải về từ web site: www.bruceeckel.com 10. Bruce Eckel - Thinking in Java. Second Edition. MindView Inc., 2000. Có thể tải về từ web site: www.bruceeckel.com CHỦ TỊCH HỘI ĐỒNG KHOA HỌC 5 . các kiến thức cơ bản của kỹ thuật lập trình và ập trình lập trình hướng đối tượng, có khả năng phân tích, xây dựng chương trình, làm chủ các kỹ thuật lập trình và lập trình hướng đối tượng: thừa. tập 1. Các kỹ thuật lập trình làm việc với biến, dữ liệu và các cấu trúc lập trình • Bài tập 2. Các kỹ thuật xây dựng và sử dụng hàm/thủ tục • Bài tập 3. Các kỹ thuật bẫy lỗi và lập trình phòng. thuật cơ bản trong lập trình. Sinh viên làm chủ các kỹ thuật kiểm thử và gỡ lỗi chương trình. Nội dung: Tổng quan về ký thuật lập trình và lập trình hướng đối tượng. Các kỹ thuật làm việc với