Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự do - Hạnh phúc


------------ =====================

ĐỀ CƯƠNG CHI TIẾT


MÔN HỌC: NHẬP MÔN LẬP TRÌNH
1. Thông tin về các giảng viên môn học
Chức danh, Địa chỉ
STT Họ và tên Điện thoại/Email Ghi chú
học vị liên hệ
Trưởng
1 Trần Quốc Long TS BM KHMT tqlong@vnu.edu.vn
môn học
2 Bùi Ngọc Thăng TS BM KHMT thangbn@vnu.edu.vn Giảng viên
3 Lê Nguyên Khôi TS BM KHMT khoi.n.le@vnu.edu.vn Giảng viên
4 Trần Thị Minh Châu TS BM KHMT chauttm@vnu.edu.vn Giảng viên
5 Vũ Thị Hồng Nhạn TS BM KHMT vthnhan@vnu.edu.vn Giảng viên
6 Ma Thị Châu TS BM KHMT chaumt@vnu.edu.vn Giảng viên
7 Hoàng Thị Điệp TS BM KHMT diepht@vnu.edu.vn Giảng viên
8 Đặng Cao Cường TS BM KHMT cuongdc@vnu.edu.vn Giảng viên
9 Ngô Thị Duyên TS BM KHMT duyennt@vnu.edu.vn Giảng viên
2. Thông tin chung về môn học
- Tên môn học: Nhập môn lập trình
- Mã số môn học: INT1008
- Số tín chỉ: 3
- Giờ tín chỉ đối với các hoạt động (LT/ThH/TH): 22/23/0
- Môn học tiên quyết:
- Các yêu cầu đối với môn học (nếu có):
- Bộ môn, Khoa phụ trách môn học: Bộ môn KHMT, Khoa CNTT
3. Mục tiêu môn học
Môn học cung cấp cho sinh viên kiến thức nhập môn cơ bản về ngôn ngữ lập trình bậc cao, kỹ năng
xây dựng chương trình sử dụng một trong các ngôn ngữ lập trình C/C++/Java. Sinh viên có thể tự
viết được các chương trình nhỏ, đơn giản và bước đầu làm quen với việc lập trình theo yêu cầu.
4. Chuẩn đầu ra
Mục tiêu
Bậc 1 Bậc 2 Bậc 3 Bậc 4 Bậc 5 Bậc 6
Nội dung
1. Kiến thức
K1. Vận dụng thành thạo kiến thức
nền tảng về toán,khoa học và kỹ
thuật máy tính.
Vận dụng kiến thức về kiểu dữ liệu,
x
cấu trúc điều khiển, hàm, nhập xuất
dữ liệu, mảng, xâu, lập trình đồ họa,
kiểu trừu tượng để lập trình các
chương trình ngắn.

68
Mục tiêu
Bậc 1 Bậc 2 Bậc 3 Bậc 4 Bậc 5 Bậc 6
Nội dung
K2. Vận dụng thành thạo kiến thức
cơ sở ngành về trí tuệ nhân tạo và
khoa học dữ liệu.
x
Vận đụng các kiến thức về cấu trúc
dữ liệu để lập trình trò chơi đơn
giản
K3. Phân tích kiến thức chuyên
ngành về trí tuệ nhân tạo và khoa x
học dữ liệu.
2. Kỹ năng
S7. Vận dụng thành thạo kỹ năng
số đáp ứng yêu cầu học tập và
công việc.
Có kỹ năng lập trình, biên dịch x
chương trình, kiểm tra chương
trình, triển khai chương trình đơn
giản
S9. Làm việc theo nhóm có tính
x
chất đơn ngành hoặc liên ngành.
S12. Tự học sử dụng các chiến
x
lược học tập phù hợp.
3. Mức tự chủ và chịu trách nhiệm
(Thái độ)
A1. Tự định hướng, đưa ra kết luận
chuyên môn và có thể bảo vệ được x
quan điểm cá nhân.
A2. Chịu trách nhiệm cá nhân và
x
trách nhiệm đối với nhóm.
A3. Trung thực trong hoạt động
x
chuyên môn.
A4. Chuyên nghiệp trong hoạt
x
động chuyên môn.
A5. Sẵn sàng tiếp thu tri thức mới. x
5. Tóm tắt nội dung môn học
Sinh viên được giới thiệu các khái niệm lập trình cơ bản như: ngôn ngữ lập trình, kiểu dữ liệu cơ bản,
biến, phép toán, cấu trúc điều khiển, nhập xuất dữ liệu. Sau đó sinh viên được giới thiệu các khái
niệm trừu tượng hơn của các ngôn ngữ lập trình bậc cao như: mảng, kiểu dữ liệu trừu tượng, hàm, lập
trình thủ tục, lập trình hướng đối tượng và các thao tác với tệp dữ liệu. Sinh viên cũng sẽ được giới
thiệu cách thức giao tiếp với các thiết bị ngoại vi khác của máy tính như bàn phím, loa, màn hình đồ
họa, con chuột.

69
6. Nội dung chi tiết môn học
1. Giới thiệu
1.1. Khái niệm về lập trình
1.2. Các ngôn ngữ lập trình
1.3. Ngôn ngữ lập trình C (hoặc C++ và Java)
1.4. Cấu trúc một chương trình C (hoặc C++ và Java)
1.5. Lệnh và khối lệnh
1.6. Các bước xây dựng chương trình: Mã nguồn, biên dịch, lỗi cú pháp, chạy thử chương
trình và sửa lỗi.
1.7. Biên dịch và chạy chương trình trong môi trường dòng lệnh
1.8. Giới thiệu môi trường phát triển tích hợp
2. Các kiểu dữ liệu cơ bản và các phép toán
2.1. Các kiểu dữ liệu cơ bản
2.2. Biến, hằng và biểu thức
2.3. Các phép toán
2.4. Nhập xuất dữ liệu đơn giản
3. Cấu trúc điều khiển chương trình
3.1. Cấu trúc tuần tự
3.2. Cấu trúc rẽ nhánh (if, switch), biểu thức điều kiện
3.3. Cấu trúc lặp (for, while, do while)
3.4. Các lệnh break, continue
3.5. Khái niệm về xử lý ngoại lệ (C++ và Java)
3.6. Gỡ rối chương trình
4. Hàm
4.1. Khai báo hàm
4.2. Định nghĩa hàm
4.3. Truyền tham số và giá trị trả lại
4.4. Biến cục bộ, biến toàn cục
4.5. Hàm đệ quy
5. Nhập xuất dữ liệu
5.1. Đối số dòng lệnh
5.2. Các luồng nhập xuất chuẩn
5.3. Tệp (file) văn bản và nhị phân
5.4. Điều khiển các luồng nhập, xuất của chương trình bằng dòng lệnh
6. Mảng và xâu ký tự
6.1. Mảng một chiều và nhiều chiều
6.2. Xâu ký tự
6.3. Các thao tác trên mảng và xâu ký tự
6.4. Con trỏ: bộ nhớ, địa chỉ, mối liên hệ với mảng (C và C++)
7. Lập trình đồ họa và tương tác
7.1. Lập trình đồ họa
7.2. Lập trình âm thanh
7.3. Lập trình điều khiển con chuột
7.4. Lập trình đồ họa có tương tác
70
8. Các kiểu dữ liệu trừu tượng và các phương pháp lập trình
8.1. Lập trình hướng thủ tục (C); Lập trình hướng đối tượng (C++/Java)
8.2. Tổ chức dữ liệu và truyền dữ liệu giữa các hàm/thủ tục/đối tượng
8.3. Ưu nhược điểm của các phương pháp lập trình
8.4. Cấu trúc (struct - C), Lớp (class – C++/Java) và đối tượng (object – C++/Java)
8.5. Khởi tạo biến cấu trúc, đối tượng
8.6. Hàm thành viên (C++ và Java)
7. Học liệu
7.1. Học liệu bắt buộc
Lựa chọn 1. Lập trình căn bản với C
[1] Bài giảng của giáo viên
[2] Brian W. Kernighan and Dennis M. Ritchie, The C programming language, Prentice
Hall 1988.
Lựa chọn 2. Lập trình căn bản với C++
[1] Bài giảng của giáo viên
[2] Hồ Sĩ Đàm (chủ biên), Trần Thị Minh Châu, Lê Sỹ Vinh, Giáo trình: Lập trình căn
bản C++, NXB ĐHQG 2011
Lựa chọn 3. Lập trình căn bản với Java
[1] Bài giảng của giáo viên
[2] Robert Sedgewick (Author), Kevin Wayne, Introduction to Programming in Java: An
Interdisciplinary Approach, 2nd Edition. Addison-Wesley Professional 2017
7.2. Học liệu tham khảo
Lựa chọn 1. Lập trình căn bản với C
[3] K. N. King, C Programming: A Modern Approach, 2nd Edition, W. W. Norton &
Company 2008
[4] Paul J. Deitel, Harvey Deitel, C How to Program, 8th Edition, Pearson 2015
[5] J. Glenn Brookshear, Computer Science: An Overview, Addision Wesley 2009
Lựa chọn 2. Lập trình căn bản với C++
[3] Andrew Koenig, Accelerated C++: Practical Programming by Example, Addison-
Wesley Professional 2000
[4] Stanley B. Lippman, C++ Primer, 5th Edition, Addison-Wesley Professional 2012
[5] J. Glenn Brookshear, Computer Science: An Overview, Addision Wesley 2009
Lựa chọn 3. Lập trình căn bản với Java
[3] Kathy Sierra, Bert Bates, Head First Java: A Brain-Friendly, O'Reilly 2005
[4] Allen B. Downey, Chris Mayfield, Think Java: How to Think Like a Computer Scientist,
O'Reilly 2006
[5] J. Glenn Brookshear, Computer Science: An Overview, Addision Wesley 2009
8. Hình thức tổ chức dạy học
8.1. Phân bố lịch trình giảng dạy trong 1 học kỳ (15 tuần)
Hình thức dạy Số tiết/tuần Từ tuần …đến tuần… Địa điểm
Lý thuyết 2 1-11 Giảng đường
Thực hành 3 1-14 Phòng máy
Thực hành 4 15 Phòng máy

71
Hình thức dạy Số tiết/tuần Từ tuần …đến tuần… Địa điểm
Tự học bắt buộc
8.2. Lịch trình dạy cụ thể
Tuần Nội dung giảng dạy lý thuyết/thực hành Nội dung sinh viên tự học
Giới thiệu về môn học, chương trình đầu tiên, các
1 Làm bài tập về in ra màn hình
bước xây dựng chương trình, in ra màn hình
2 Các kiểu dữ liệu cơ bản và các phép toán Làm bài tập về các phép toán
Làm bài tập về cấu trúc điều
Cấu trúc điều khiển: tuần tự, rẽ nhánh, biểu thức khiển
3
điều kiện Tập gỡ rối chương trình
Tìm hiểu các chủ đề bài tập lớn
Làm bài tập về cấu trúc điều
Cấu trúc điều khiển (tiếp theo): cấu trúc lặp, các
4 khiển
lệnh thao tác với vòng lặp, xử lý ngoại lệ
Tập gỡ rối chương trình
Làm bài tập về hàm
5 Hàm
Lựa chọn chủ đề bài tập lớn
Làm bài tập về hàm và nhập xuất
6 Nhập xuất dữ liệu
dữ liệu
Làm bài tập về hàm, nhập xuất
7 Mảng và các thao tác trên mảng dữ liệu vào mảng, thao tác mảng
Báo cáo tiến độ bài tập lớn
Làm bài tập về hàm, nhập xuất
8 Xâu ký tự và các thao tác trên xâu ký tự
xâu ký tự, xử lý xấu ký tự
9 Lập trình đồ họa và âm thanh Làm bài tập về đồ họa, âm thanh
Làm bài tập về đồ họa, âm thanh,
Lập trình điều khiển con chuột và tương tác với
10 tương tác với người dùng
người dùng
Báo cáo tiến độ bài tập lớn
Làm bài tập về các kiểu dữ liệu
Các kiểu dữ liệu trừu tượng và các phương pháp trừu tượng
11
lập trình Tổ chức, mô-đun hoá chương
trình của dự án
Làm bài tập tổng hợp
12 Thực hành các bài tập tổng hợp
Báo cáo tiến độ bài tập lớn
13 Thực hành các bài tập tổng hợp Làm bài tập tổng hợp
Làm bài tập tổng hợp
14 Thực hành các bài tập tổng hợp
Báo cáo dự án
15 Thực hành các bài tập tổng hợp Làm bài tập tổng hợp
9. 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
- Sinh viên nghỉ quá 20% số buổi học lý thuyết (3 buổi học) sẽ không được thi cuối kỳ. Mỗi
buổi học sẽ có điểm danh.
- Sinh viên tích cực làm bài tập trên lớp, tham gia thảo luận, trả lời câu hỏi (ở lớp hoặc trên diễn
đàn của trang web môn học) sẽ được xem xét cộng điểm môn học.

72
- Với các nội dung liên quan đến lập trình (ví dụ bài tập lớn) nếu sinh viên gian lận mã nguồn
thì sẽ bị điểm môn học là 0.
10. Phương pháp, hình thức kiểm tra, đánh giá kết quả học tập môn học
10.1. Mục đích và trọng số kiểm tra, đánh giá
Hình thức Phương pháp Mục đích Trọng số
Đánh giá kỹ năng lập
Bài tập lớn Dự án chương trình nhỏ 10%
trình
Đánh giá kiến thức, kỹ
Kiểm tra giữa kỳ Thi thực hành năng sinh viên đạt được 30%
sau nửa học kỳ
Đánh giá kiến thức, kỹ
Thi kết thúc môn học Thi thưc hành năng sinh viên đạt được 60%
khi kết thúc môn học
Tổng 100%
10.2. Tiêu chí đánh giá
- Tiêu chí đánh giá cụ thể với từng đầu điểm của môn học:
+ Bài tập lớn: Chương trình hoàn chỉnh chạy đúng theo yêu cầu, có hướng dẫn để chạy chương trình.
+ Kiểm tra giữa kỳ: nắm được kiến thức đã học trong tuần 1 đến tuần 7; khả năng vận dụng kiến thức
đó để có thể viết được chương trình hoàn chỉnh.
+ Kết thúc môn: nắm được kiến thức, kỹ năng đã học trong cả 15 tuần của học kỳ.
- Cụ thể việc đánh giá kiến thức, kỹ năng của sinh viên theo các mức đáp ứng được chuẩn đầu ra,
mức khá, mức giỏi:
Tùy vào mức độ hoàn thành các bài kiểm tra trên mà sinh viên sẽ được phân loại thành trung bình,
khá, và giỏi.
- Giỏi: hoàn thành hết các bài tập được giao với mức độ hoàn thiện cao
- Khá: hoàn thành được các bài tập cơ bản, chưa làm được các bài tập nâng cao hoặc làm
chưa hoàn thiện
- Trung bình: còn một số nội dung chưa làm được.
10.3. Lịch thi và kiểm tra
Hình thức thi và kiểm tra Thời gian
Kiểm tra giữa kỳ Tuần 7 hoặc Tuần 8
Bài tập lớn Tuần 14
Thi cuối kỳ Theo lịch của Trường

Duyệt Chủ nhiệm Khoa Chủ nhiệm bộ môn

73

You might also like