










Preview text:
lOMoAR cPSD| 58736390
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN I *****
ĐỀ CƯƠNG MÔN HỌC
(Phương pháp ào tạo theo tín chỉ) LẬP TRÌNH PYTHON Mã môn học: INT (03 tín chỉ) Biên soạn
THS. NGUYỄN HOÀNG ANH
THS. ĐẶNG NGỌC HÙNG Hà Nội – 2021 lOMoAR cPSD| 58736390
ĐỀ CƯƠNG BÀI GIẢNG: LẬP TRÌNH PYTHON
Khoa: Công nghệ thông tin 1 Bộ môn: Công nghệ phần mềm
Khoa: Công nghệ thông tin 1
1.Thông tin về giảng viên
1.1. Giảng viên 1: Họ và tên: Nguyễn Hoàng Anh
Chức danh, học hàm, học vị: Giảng viên- Thạc sỹ Địa iểm làm việc Khoa CNTT1 Điện thoại: 0936461828 Email: hoanganh.itbk@gmail.com
Các hướng nghiên cứu chính: Công nghệ phần mềm, lập trình web, mobile, học máy
1.2. Giảng viên 2: Họ và tên: Đặng Ngọc Hùng
Chức danh, học hàm, học vị: Giảng viên, Thạc
sỹ Địa iểm làm việc Khoa CNTT1 Điện thoại: 09 15 868 794 Email: hungdn@ptit.edu.vn
Các hướng nghiên cứu chính: Lý thuyết thông tin, Công nghệ phần mềm.
Khoa: Công nghệ thông tin 2
2. Thông tin về môn học Tên môn học: Lập trình Python Mã môn học: INT_13162 Số tín chỉ: 3
Loại môn học: Bắt buộc
Môn học tiên quyết: Môn học trước: Tin học cơ sở 2 Môn học song hành:
Các yêu cầu ối với môn học: -
Phòng học lý thuyết: Máy chiếu, Mic nói, Điều hòa -
Phòng thực hành: Máy tính có cài ặt môi trường lập trình Python như Visual Studio Code, Sublime Text.
Giờ tín chỉ ối với các hoạt ộng: - Nghe giảng lý thuyết: 30h - Bài tập: 08h - Thực hành: 06h - Tự học: 01h
Địa chỉ Khoa/Bộ môn phụ trách môn học:
+ Khoa Công nghệ thông tin 1: Bộ môn Công nghệ phần mềm, tầng 9 nhà A2, Học viện
CNBCVT, Km 10 Đường Nguyễn Trãi, Thanh Xuân, Hà Nội. Điện thoại: 024.38545604. 3.
Mục tiêu môn học Về kiến thức:
Mục ích của khóa này ể giảng dậy cho người học những kỹ năng cơ bản trong ngôn ngữ lập trình Python bao gồm: - các kiểu dữ liệu - luồng iều khiển -
các hàm và các lớp - thực hành qua các dự án Kỹ năng:
Sau khi hoàn thành môn học, người học sẽ có khả năng: lOMoAR cPSD| 58736390 -
phát triển các kỹ năng lập trình bằng ngôn ngữ Python. -
thiết kế chương trình python ể giải quyết các bài toán lập trình cơ bản - lên ý
tưởng và xây dựng ứng dụng dựa trên ngôn ngữ python. Thái ộ, Chuyên cần: -
Yêu cầu người học tham gia ầy ủ các buổi học và tham gia ầy ủ các bài tập, các bài kiểm tra, bài tập lớn.
Mục tiêu chi tiết cho từng nội dung của môn học
Mục tiêu Nội Bậc 1 Bậc 2 Bậc 3 dung Chương 1. Giới Nắm ược thông tin Hiểu và phân tích
Hiểu ược hoàn cảnh ra ời thiệu lịch sử của Python ược lịch sử Python của Python so với các Nắm ược cách cài ặt Phân tích ược sự ngôn ngữ khác Python cơ bản Chạy khác nhau của các Nắm ược sự khác nhau ược Hello world
phiên bản Cài ặt và giữa các phiên bản gỡ lỗi ban ầu của Python, hiểu ược lý do Python nâng cấp
Cài ặt và sử dụng thành thạo Python với các IDE khác nhau và gỡ lỗi
Chương 2. Biến và Nắm ược cách khai
Hiểu ược cách dùng Phân tích và áp dụng ể
những kiểu dữ liệu báo và sử dụng các các biến, chuỗi, số
thực hiện các bài toán với ơn giản biến Nắm ược các xác
biến, biết cách xem và gỡ
Nắm ược các kiểu dữ ịnh loại biến và sử
lỗi với các loại biết Hiểu liệu ơn giản
dụng biến trong các cách viết bình luận úng trường hợp và ủ cho code Chương 3. Danh Nắm ược khái niệm Hiểu ược cách tổ Áp dụng sử dụng danh sách (Lists) danh sách, các phần chức danh sách, sách cho các bài toán tử các lỗi chỉ mục cơ bản và nâng cao Thực hiện ược các Duyệt danh sách,
Làm việc với một phần
thao tác cơ bản ối với lập danh sách số, của danh sách, các kỹ danh sách làm việc với phần năng nâng cao với danh tử của danh sách sách Thành thạo Tuplé
Chương 4. Câu lệnh Nắm ược câu lệnh iều Lập trình ược lệnh
Lập trình ược lệnh iều Rẽ nhánh
khiển rẽ nhánh cơ bản iều khiển cơ bản,
khiển phức tạp. Lập trình chạy chương trình
lệnh iều khiển với danh và test các trường sách. hợp Chương 5. Từ iển Nắm ược khái niệm Lập trình ược các
Áp dụng từ iển ể giải quyết (Dictionaries) cơ bản của từ iển bài toán cơ bản có các bài toán phức tạp
Hiểu ược cấu trúc của sử dụng từ iển Lặp
Hiểu và áp dụng kỹ thuật từ iển qua toàn bộ từ iển nesting
Chương 6. Đầu vào Nắm các lệnh vào ra Lập trình ược cho
Lập trình ược cho các bài
của người dùng và màn hình, bàn phím, các bài toán sử
toán sử dụng các lệnh vào vòng lặp while
tệp, vòng lặp ơn giản dụng các lệnh vào
ra và vòng lặp phức tạp ra và vòng lặp ơn giản lOMoAR cPSD| 58736390 Chương 7. Hàm Nắm ược cách khai Viết các hàm và Viết các hàm và chương báo và sử dụng các chương trình cho
trình cho các bài toán sử
hàm, chương trình và các bài toán sử dụng khai báo hàm phức tổ chức các hàm và dụng khai báo hàm tạp chương trình ơn giản
Sử dụng thành thạo hàm lambda Chương 8. Lớp Nắm ược cách khai Nắm ược nguyên
Áp dụng viết các class ơn báo lớp và ối tượng tắc truyền tham số,
theo mô tả bài toán thực Nắm ược cách khai hiểu rõ về phương tế báo và sử dụng
thức tĩnh và cách sử Áp dụng nguyên tắc kế phương thức. dụng thừa và a hình trong các Nắm ược nguyên tắc Nắm ược các ặc bài tập có nhiều lớp kế thừa ơn trưng a hình và áp dụng Chương 9. Tệp và Nắm ược cách khai
Viết chương trình ơn Viết chương trình, hàm ngoại lệ báo và ọc ghi với dữ
giản ọc ghi các kiểu cho các bài toán phưc tạp liệu vào tệp dữ liệu với tệp.
có nhiều thao tác phức tạp Hiểu và xử lý các với tệp. ngoại lệ ơn giản
Nắm ược và xử lý các ngoại lệ phức tạp
Chương 10. Dự án Hiểu ược yêu cầu dự Nắm rõ các yêu cầu Xây dựng các chức năng án chi tiết của dự án nâng cao Hiểu ược quy trình Thiết lập ược các
Phân tích mở rộng dự án phát triển dự án
mô hình, ối thực cho Triển khai thử nghiệm Thực hiện ược các dự án trong môi trường mạng chức năng ơn giản
Xây dựng các chức Kiểm ịnh dự án năng cơ bản
4. Tóm tắt nội dung môn học
Nội dung của môn học phát triển ứng dụng di ộng:
Python là một ngôn ngữ lập trình rất mạnh ược sử dụng cho nhiều ứng dụng khác nhau. Khóa
học này cung cấp cho sinh viên những hiểu biết cơ bản về lập trình trong python bằng cách
tạo ra nhiều ứng dụng khác nhau ể phát triển ứng dụng, xây dựng Web và ể phát triển hệ
thống. Đặc biệt, khóa học sẽ ề cập ến các chủ ề bao gồm kiểu dữ liệu, luồng iều khiển, lập
trình hướng ối tượng, cũng như các ứng dụng hướng giao diện người dùng ồ họa. Sinh viên
sẽ có cơ hội áp dụng những khái niệm cơ bản này vào một số dự án thực tế, ví dụ như trò
chơi, trực quan hóa dữ liệu và ứng dụng web. 5. Nội dung chi tiết môn học
Chương 1: Giới thiệu 1.1. Lịch sử Python 1.2. Bắt ầu với Python
1.2.1. Cài ặt môi trường
1.2.2. Cài ặt trình soạn thảo
1.3. Viết chương trình ầu tiên ‘Helloworld.py’
Chương 2: Biến và những kiểu dữ liệu ơn giản 2.1. Biến (Variables) 2.2. Chuỗi (Strings) 2.3. Số (Numbers) 2.4. Chú thích (Comments) 2.5. Bài tập lOMoAR cPSD| 58736390
Chương 3: Danh sách (Lists)
3.1. Định nghĩa Danh sách
3.2. Thay ổi, thêm, và xóa các phần tử 3.3. Tổ chức danh sách 3.4. Tránh lỗi chỉ mục
3.5. Lặp qua toàn bộ danh sách 3.6. Lập danh sách số
3.7. Làm việc với một phần của danh sách 3.8. Tuples 3.9. Bài tập
Chương 4: Câu lệnh Rẽ nhánh 4.1. Ví dụ
4.2. Kiểm tra có iều kiện 4.3. Câu lệnh Rẽ nhánh
4.4. Câu lệnh Rẽ nhánh với danh sách 4.5. Bài tập
Chương 5: Từ iển (Dictionaries)
5.1. Ví dụ ơn giản về từ iển
5.2. Làm việc với từ iển
5.3. Lặp qua toàn bộ từ iển 5.4. Nesting 5.5. Bài tập
Chương 6: Đầu vào của người dùng và vòng lặp while
6.1. Cách hàm input() hoạt ộng
6.2. Giới thiệu vòng lặp while
6.3. Sử dụng vòng lặp while với Danh sách và Từ iển 6.4. Bài tập Chương 7: Hàm 7.1. Định nghĩa hàm 7.2. Truyền tham số 7.3. Giá trị trả về
7.4. Truyền một danh sách vào hàm
7.5. Truyền một số ối số tùy ý 7.6. Hàm lambda
7.7. Lưu trữ hàm trong module 7.8. Bài tập Chương 8: Lớp
8.1. Tạo và sử dụng lớp
8.2. Làm việc với lớp và thể hiện của lớp 8.3. Kế thừa 8.4. Sử dụng các lớp
8.5. Thư viện chuẩn của python 8.6. Bài tập
Chương 9: Tệp và ngoại lệ 9.1. Đọc từ file 9.2. Ghi vào file 9.3. Ngoại lệ 9.4. Lưu trữ dữ liệu lOMoAR cPSD| 58736390
Chương 10: Dự án
10.1. Trò chơi cuộc xâm chiếm của người ngoài hành tinh
10.1.1. Tạo ra tầu bắn ạn
10.1.2. Tạo ra người ngoài hành tinh 10.1.3. Ghi iểm
10.2. Trực quan hóa dữ liệu
10.2.1. Sản sinh dữ liệu
10.2.3. Tải dữ liệu về
10.2.3. Làm việc với APIs 10.3. Ứng dụng web
10.3.1. Bắt ầu với DJango
10.3.2. Tài khoản người dùng
10.3.3. Định kiểu và triển khai ứng dụng 6. Học liệu
6.1. Học liệu bắt buộc -
Eric Matthes. Python crash course, 2nd Edition: A hands-on, project-based
introduction to programming, No Starch Press, 2019. 6.2. Học liệu tham khảo -
Allen B. Downey, Think Python: How to Think Like a Computer Scientist, O’Reilly, 2015 -
Zed A. Shaw, Learn Python 3 the Hard Way, Addison-Wesley, 2016 7. Hình thức tổ chức dạy học
7.1 Lịch trình chung:
Hình thức tổ chức dạy môn học Lên lớp Tổng Nội dung Thực Tự Lý BT- Kiểm cộng hành học thuyết TL tra
Nội dung 1: chương 1 – 1.1; 1.2; 1.3 2 2
Nội dung 2: chương 2 – 2.1; 2.2; 2.3; 2.4 4 4
Nội dung 3: chương 3 – 3.1; 3.2; 3.3; 3.4 2 2
Nội dung 4: chương 3 – 3.5; 3.6; 3.7; 3.8 2 2 Nội dung 5: bài tập 1 2 2 Nội dung 6: thực hành 1 2 2
Nội dung 7: chương 4 – 4.1; 4.2; 4.3; 4.4 4 4
Nội dung 8: chương 5 – 5.1; 5.2; 5.3; 5.4 2 2
Nội dung 9: chương 6 – 6.1; 6.2; 6.3 2 2 Nội dung 10: bài tập 2 2 2 Nội dung 11: thực hành 2 2 2
Nội dung 12: chương 7 – 7.1; 7.2; 7.3; 7.4; 4 4 7.5; 7.6; 7.7
Nội dung 13: chương 8 – 8.1; 8.2; 8.3; 8.4; 4 4 8.5
Nội dung 14: chương 9 – 9.1; 9.2; 9.3; 9.4 4 1 5 Nội dung 15: thực hành 3 2
Nội dung 16: chương 10 – 10.1; 10.2; 10.3 4 4 Tổng cộng 30 8 6 1 45 lOMoAR cPSD| 58736390
7.2. Lịch trình tổ chức dạy học cụ thể
Tuần 1: Nội dung 1 – Giới thiệu Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 2 - 1.1. Lịch sử Python - 1.2. Bắt ầu với Python -
1.3. Viết chương trình ầu tiên ‘Helloworld.py’
Tuần 2: Nội dung 2 - Biến và những kiểu dữ liệu ơn giản Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 4 - 2.1. Biến (Variables) - 2.2. Chuỗi (Strings) - 2.3. Số (Numbers) - 2.4. Chú thích (Comments)
Tuần 3: Nội dung 3 – Danh sách, các mục 3.1; 3.2; 3.3; 3.4 Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 2 -
3.1. Định nghĩa Danh sách -
3.2. Thay ổi, thêm, và xóa các phần tử - 3.3. Tổ chức danh sách - 3.4. Tránh lỗi chỉ mục
Tuần 4: Nội dung 4 – Danh sách, các mục 3.5; 3.6; 3.7; 3.8 Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 2 -
3.5. Lặp qua toàn bộ danh sách - 3.6. Lập danh sách số -
3.7. Làm việc với một phần của danh sách - 3.8. Tuples
Tuần 5: Nội dung 5 – Bài tập 1 Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Bài tập 2 -
Hướng dẫn bài tập lập trình các
nội dung chương 2 và chương 3
Tuần 6: Nội dung 6 – Thực hành 1 Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú lOMoAR cPSD| 58736390 Thực hành 2 -
Thực hành lập trình trên môi phòng máy trường phòng máy
Tuần 7: Nội dung 7 – Câu lệnh If Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 4 - 4.1. Ví dụ Kiến thức tất -
4.2. Kiểm tra có iều kiện cả các phần 4.3. Câu lệnh If ã học -
4.4. Câu lệnh If với danh sách -
Tuần 8: Nội dung 8 - Từ iển (Dictionaries) Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 2 -
5.1. Ví dụ ơn giản về từ iển -
5.2. Làm việc với từ iển -
5.3. Lặp qua toàn bộ từ iển - 5.4. Nesting
Tuần 9: Nội dung 9 - Đầu vào của người dùng và vòng lặp while Hình thức tổ Thời gian Nội dung chính
Yêu cầu SV Ghi (giờ) chức dạy học chuẩn bị chú Lí thuyết 4 -
6.1. Cách hàm input() hoạt ộng -
6.2. Giới thiệu vòng lặp while -
6.3. Sử dụng vòng lặp while
với Danh sách và Từ iển
Tuần 10: Nội dung 10: Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Bài tập 2 2 -
Làm bài thực hành 2 tại phòng máy
Tuần 11: Nội dung 11- Thực hành 2 Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Thực hành 2 -
Làm bài thực hành 2 tại phòng máy
Tuần 12: Nội dung 12 - Hàm Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 4 - 7.1. Định nghĩa hàm lOMoAR cPSD| 58736390 - 7.2. Truyền tham số - 7.3. Giá trị trả về -
7.4. Truyền một danh sách vào hàm -
7.5. Truyền một số ối số tùy ý - 7.6. Hàm Lambda -
7.7. Lưu trữ hàm trong module
Tuần 13: Nội dung 13 – Lớp
Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 4 -
8.1. Tạo và sử dụng lớp -
8.2. Làm việc với lớp và thể hiện của lớp - 8.3. Kế thừa - 8.4. Sử dụng các lớp -
8.5. Thư viện chuẩn của python
Tuần 14: Nội dung 14 – Tệp và ngoại lệ Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Lý thuyết 4 - 9.1. Đọc từ file - 9.2. Ghi vào file - 9.3. Ngoại lệ - 9.4. Lưu trữ dữ liệu Tự học 1
Tuần 15: Nội dung 15- Thực hành 3 Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Thực hành 2 -
Làm bài thực hành 3 tại phòng máy
Tuần 15: Nội dung 16 – Dự án Hình thức tổ Thời gian Nội dung chính Yêu cầu SV Ghi chức dạy học (giờ) chuẩn bị chú Bài tập 4 - 10.1. Trò chơi cuộc xâm chiếm của người ngoài hành tinh lOMoAR cPSD| 58736390 - 10.2. Trực quan hóa dữ liệu - 10.3. Ứng dụng web
8. Chính sách ối với môn học và các yêu cầu khác của giảng viên
- Mỗi chương ều có bài tập và yêu cầu sinh viên hoàn thành trước khi sang chương mới - Thiếu
một iểm thành phần (bài tập, bài kiểm tra giữa kỳ), hoặc nghỉ quá 20% tổng số giờ của môn
học, không ược thi hết môn.
9. Phương pháp, hình thức kiểm tra – ánh giá kết quả học tập môn học
9.1. Kiểm tra ánh giá ịnh kỳ Tỷ lệ ánh Đặc iểm ánh giá Hình thức kiểm tra giá -
Đi học ầy ủ (trong lớp gây ảnh hưởng ến người 10 % Cá nhân
khác, mỗi lần nhắc nhở trừ một iểm, mỗi buổi nghỉ học trừ một iểm) -
Tích cực thảo luận (không phát biểu buổi nào sẽ
ược 0 iểm, phát biểu 1 buổi sẽ ược 4 iểm, sau ó số buổi
học có phát biểu tăng lên 1 thì iểm tăng lên 1) - Trung bình kiểm tra 10% Cá nhân
- Trung bình các iểm bài tập lớn 20% Cá nhân/Nhóm - Kiểm tra cuối kỳ 60% Cá nhân
9.2. Nội dung và Tiêu chí ánh giá các loại bài tập Các loại bài tập Tiêu chí ánh giá - Bài tập về nhà
- Sử dụng thành thạo công cụ IDE theo chương
- Chương trình chạy úng với mô tả vào ra trong ề bài. - Bài tập nhóm
- Sinh viên theo sát tiến trình thực hiện bài tập nhóm trong cả môn học
- Sinh viên thể hiện rõ óng góp cá nhân trong nhóm - Bài tập thực
- Áp dụng úng kiến thức môn học theo từng phần ể giải quyết ề bài hành
thực hành trong thời gian quy ịnh.
- Chương trình chạy tốt với một trong các IDE phổ biến - Thi cuối kỳ
- Code ược úng yêu cầu ề bài và chạy ược - Chỉ
tính iểm cho các yêu cầu ã hoàn thành Duyệt
Chủ nhiệm bộ môn Giảng viên
PGS.TS. Nguyễn Mạnh Hùng
Ths. Nguyễn Hoàng Anh Ths. Đặng Ngọc Hùng lOMoAR cPSD| 58736390