lOMoARcPSD| 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
lOMoARcPSD| 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, 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:
lOMoARcPSD| 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
dung
Bậc 1
Bậc 2
Bậc 3
Chương 1. Giới
thiệu
Nắm ược thông tin
lịch sử của Python
Nắm ược cách cài ặt
Python cơ bản Chạy
ược Hello world
Hiểu và phân tích
ược lịch sử Python
Phân tích ược sự
khác nhau của các
phiên bản Cài ặt và
gỡ lỗi ban ầu của
Python
Hiểu ược hoàn cảnh ra ời
của Python so với các
ngôn ngữ khác
Nắm ược sự khác nhau
giữa các phiên bản
Python, hiểu ược lý do
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à
những kiểu dữ liệu
ơn giản
Nắm ược cách khai
báo và sử dụng các
biến
Nắm ược các kiểu dữ
liệu ơn giản
Hiểu ược cách dùng
các biến, chuỗi, số
Nắm ược các xác
ịnh loại biến và sử
dụng biến trong các
trường hợp
Phân tích và áp dụng ể
thực hiện các bài toán với
biến, biết cách xem và gỡ
lỗi với các loại biết Hiểu
cách viết bình luận úng
và ủ cho code
Chương 3. Danh
sách (Lists)
Nắm ược khái niệm
danh sách, các phần
tử
Thực hiện ược các
thao tác cơ bản ối với
danh sách
Hiểu ược cách tổ
chức danh sách,
các lỗi chỉ mục
Duyệt danh sách,
lập danh sách số,
làm việc với phần
tử của danh sách
Áp dụng sử dụng danh
sách cho các bài toán
cơ bản và nâng cao
Làm việc với một phần
của danh sách, các kỹ
năng nâng cao với danh
sách
Thành thạo Tuplé
Chương 4. Câu lệnh
Rẽ nhánh
Nắm ược câu lệnh iều
khiển rẽ nhánh cơ bản
Lập trình ược lệnh
iều khiển cơ bản,
chạy chương trình
và test các trường
hợp
Lập trình ược lệnh iều
khiển phức tạp. Lập trình
lệnh iều khiển với danh
sách.
Chương 5. Từ iển
(Dictionaries)
Nắm ược khái niệm
cơ bản của từ iển
Hiểu ược cấu trúc của
từ iển
Lập trình ược các
bài toán cơ bản có
sử dụng từ iển Lặp
qua toàn bộ từ iển
Áp dụng từ iển ể giải quyết
các bài toán phức tạp
Hiểu và áp dụng kỹ thuật
nesting
Chương 6. Đầu vào
của người dùng và
vòng lặp while
Nắm các lệnh vào ra
màn hình, bàn phím,
tệp, vòng lặp ơn giản
Lập trình ược cho
các bài toán sử
dụng các lệnh vào
ra và vòng lặp ơn
giản
Lập trình ược cho các bài
toán sử dụng các lệnh vào
ra và vòng lặp phức tạp
lOMoARcPSD| 58736390
Chương 7. Hàm
Nắm ược cách khai
báo và sử dụng các
hàm, chương trình và
tổ chức các hàm và
Viết các hàm và
chương trình cho
các bài toán sử
dụng khai báo hàm
Viết các hàm và chương
trình cho các bài toán sử
dụng khai báo hàm phức
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
báo lớp và ối tượng
Nắm ược cách khai
báo và sử dụng
phương thức.
Nắm ược nguyên tắc
kế thừa ơn
Nắm ược nguyên
tắc truyền tham số,
hiểu rõ về phương
thức tĩnh và cách sử
dụng
Nắm ược các ặc
trưng a hình và áp
dụng
Áp dụng viết các class ơn
theo mô tả bài toán thực
tế
Áp dụng nguyên tắc kế
thừa và a hình trong các
bài tập có nhiều lớp
Chương 9. Tệp và
ngoại lệ
Nắm ược cách khai
báo và ọc ghi với dữ
liệu vào tệp
Viết chương trình ơn
giản ọc ghi các kiểu
dữ liệu với tệp.
Hiểu và xử lý các
ngoại lệ ơn giản
Viết chương trình, hàm
cho các bài toán phưc tạp
có nhiều thao tác phức tạp
với tệp.
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
Hiểu ược quy trình
phát triển dự án
Thực hiện ược các
chức năng ơn giản
Nắm rõ các yêu cầu
chi tiết của dự án
Thiết lập ược các
mô hình, ối thực cho
dự án
Xây dựng các chức
năng cơ bản
Xây dựng các chức năng
nâng cao
Phân tích mở rộng dự án
Triển khai thử nghiệm
trong môi trường mạng
Kiểm ịnh dự á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
lOMoARcPSD| 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
lOMoARcPSD| 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:
Nội dung
Hình thức tổ chức dạy môn học
Lên lớp
Thực
hành
Tự
học
thuyết
BT-
TL
Kiểm
tra
Nội dung 1: chương 1 – 1.1; 1.2; 1.3
2
Nội dung 2: chương 2 – 2.1; 2.2; 2.3; 2.4
4
Nội dung 3: chương 3 – 3.1; 3.2; 3.3; 3.4
2
Nội dung 4: chương 3 – 3.5; 3.6; 3.7; 3.8
2
Nội dung 5: bài tập 1
2
Nội dung 6: thực hành 1
2
Nội dung 7: chương 4 – 4.1; 4.2; 4.3; 4.4
4
Nội dung 8: chương 5 – 5.1; 5.2; 5.3; 5.4
2
Nội dung 9: chương 6 – 6.1; 6.2; 6.3
2
Nội dung 10: bài tập 2
2
Nội dung 11: thực hành 2
2
Nội dung 12: chương 7 – 7.1; 7.2; 7.3; 7.4;
7.5; 7.6; 7.7
4
Nội dung 13: chương 8 – 8.1; 8.2; 8.3; 8.4;
8.5
4
Nội dung 14: chương 9 – 9.1; 9.2; 9.3; 9.4
4
1
Nội dung 15: thực hành 3
2
Nội dung 16: chương 10 – 10.1; 10.2; 10.3
4
Tổng cộng
30
8
6
1
lOMoARcPSD| 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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
chú
lOMoARcPSD| 58736390
Thực hành
phòng máy
2
- Thực hành lập trình trên môi
trường phòng máy
Tuần 7: Nội dung 7 – Câu lệnh If
Hình thức tổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
chú
Lý thuyết
4
-
-
-
-
4.1. Ví dụ
4.2. Kiểm tra có iều kiện
4.3. Câu lệnh If
4.4. Câu lệnh If với danh sách
Kiến thức tất
cả các phần
ã học
Tuần 8: Nội dung 8 - Từ iển (Dictionaries)
Hình thức tổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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
(giờ)
Nội dung chính
Yêu cầu SV
Ghi
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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
chú
Bài tập 2
2
-
máy
Làm bài thực hành 2 tại phòng
Tuần 11: Nội dung 11- Thực hành 2
Hình thức tổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
chú
Thực hành
2
-
máy
Làm bài thực hành 2 tại phòng
Tuần 12: Nội dung 12 - Hàm
Hình thức tổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
chú
Lý thuyết
4
-
7.1. Định nghĩa hàm
lOMoARcPSD| 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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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ổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
chú
Thực hành
2
-
máy
Làm bài thực hành 3 tại phòng
Tuần 15: Nội dung 16 – Dự án
Hình thức tổ
chức dạy học
Thời gian
(giờ)
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi
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
lOMoARcPSD| 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ỳ
Hình thức kiểm tra
Tỷ lệ ánh
giá
Đặc iểm ánh giá
- Đi học ầy ủ (trong lớp gây ảnh hưởng ến người
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)
10 %
Cá nhân
- 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à
theo chương
- Sử dụng thành thạo công cụ IDE
- 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
hành
- Áp dụng úng kiến thức môn học theo từng phần ể giải quyết ề bài
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 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
lOMoARcPSD| 58736390

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