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

Đại Học Quốc

c Gia TP.HCM Vietnam National University – HCMC


Trường Đại Học
c Bách Khoa Ho Chi Minh City University of Technology
Khoa Khoa học và kỹ
ỹ thuật máy tính Faculty of Computer Science and Engineering

Đề cương môn học


KỸ THUẬT LẬP TRÌNH
(Programming Fundamentals)
Số tín chỉ 3 ETCS 5 MSMH CO1027 Học
ọc Kỳ áp dụng HK202

Số tiết/Giờ Tổng tiết Tổng


ổng giờ học LT BT/TH TNg TQ BTL/TL/ TTNT DC/TLTN/ SVTH
TKB tập/làm việc DA LVTN
42 156 24 18 36 90
Phân bổ tín chỉ 1.6 0.6 0.8
Môn không xếp
TKB
Tỉ lệ đánh giá BT:0% TN: 30% TH: 0% KT: 0% BTL/TL: 30% Thi: 40%

Thời gian Thi 120 phút


Hình thức đánh
giá - TN: thái độ làm việc
ệc trong các giờ thí nghiệm
- Bài tập
ập lớn: mỗi sinh viviên cần tự thực hiện ở nhà và bài nộp
sẽ được
ợc chấm tự động
- Thi: trắc nghiệm vàà ttự luận.

Môn tiên quyết


Môn học trước
Môn song hành
CTĐT ngành Khoa học
ọc máy tính; Kỹ thuật máy tính
Trình độ đào tạo Đại học
Cấp độ môn học 1 (dạy cho sinh viên
ên năm nhất)
nh
Ghi chú khác
(*) Sinh viên sẽ phải tự học và giảng viên
ên ssắp giờ linh hoạt hàng tuần phản hồi thắc mắc và hỗ
ỗ trợ sinh viên
vi làm BTL.

Mục tiêu của môn học:


Môn học này là môn học đầu tiên vềề lập trình,
tr dành cho sinh viên chưa hề có kiến thức nào vềề lập trình
tr trước đó. Môn học
cung cấp những kiến thức và kỹ
ỹ năng căn bản về lập trtrình bao gồm hai phương pháp lập trình: lập trình có cấu trúc và lập
trình hướng đối tượng.

Aims:
This course is a comprehensive introductory course that is intended for students who have no background in computer
programming. This course provides basic knowledge and skills on programming with two important programming
paradigms: structured
tured programming and object
object-oriented programming.

Nội dung tóm tắt môn học:


● Ngôn ngữ lập trình C++
● Lập trình có cấu
ấu trúc: cấu trúc tuần tự, cấu trúc rẽ nhánh, cấu trúc lặp
● Lập trình đệ quy
● Lập trình hướng đối tượng
ợng
Course outline:
● Basic C++ programming language
● Structured programming: sequential structure, selection structure, repetition structure
● Recursive programming,
● Introduction to OOP
Tài liệu học tập:
Sách, Giáo trình chính:
[1] Fundamentals of C++ Programming – Richard L.Halterman, Southern Adventist University 2010.

Sách tham khảo:


[1] Giáo trình ngôn ngữ lập trình C/C++ - Nguyen Ngoc Cuong, Nhà xuất bản thông tin và truyền thông, 2011.
[2] The C Book - Mike Banahan, Declan Brady and Mark Doran - online version (originally published by Addison
Wesley in 1991)
[3] Program Development and Design Using C++, 3nd Edition - G. J. Bronson, Brooks/COLE Thomson Learning,
2006.
[4] C++ Programming Fundamentals – Chuck Easttom, Charles River Media, 2003.
[5] C++ How to Program – H. M Deitel and P. J. Deitel, 3rd Edition, Prentice-Hall, 2001.
[6] Object-Oriented Programming Using C++- J. Farrel, 2nd Edition, Course Technology/Thomson Learning, 2001.
[7] Microsoft Visual C++ 6.0 - D. Gosselin, Course Technology/Thomson Learning, 2001.
[8] Programming Fundamentals in C++ - Duong Tuan Anh, Open courseware, Available at:
http://www.vocw.edu.vn/content/col10216/latest/

Hiểu biết, kỹ năng, thái độ cần đạt được sau khi học môn học:

STT Chuẩn đầu ra môn học CDIO ABET


L.O.1 Biểu diễn các giải thuật để giải quyết vấn đề
L.O.1.1 – Vẽ flowchart hoặc mã giả để biểu diễn ý tưởng thuật toán dùng cấu trúc rẽ
nhánh
L.O.1.2 – Vẽ flowchart hoặc mã giả để biểu diễn ý tưởng thuật toán dùng cấu trúc lặp
L.O.2 Hiện thực một giải thuật cụ thể bằng ngôn ngữ C++
L.O.2.1 - Hiện thực các cấu trúc rẽ nhánh: if-else, switch-case
L.O.2.2 - Hiện thực các cấu trúc lặp: for, while, do-while
L.O.2.3 – Biết cách khai báo và sử dụng hàm và đệ quy
L.O.2.4 – Biết cách khai báo và sử dụng mảng, chuỗi, và kiểu dữ liệu cấu trúc
L.O.2.5 – Biết cách khai báo và sử dụng con trỏ
L.O.3 Giải thích các khái niệm cơ bản của lập trình hướng đối tượng
L.O.3.1 – Nắm vững khái niệm về đối tượng
L.O.3.2 – Giải thích được các điểm mạnh của OOP như thừa kế, đa hình,…

No. Learning outcomes


L.O.1 Express an algorithm for solving problem
L.O.1.1 – Draw flowchart
L.O.1.2 – Write pseudocode
L.O.2 Implement a given algorithm by a C++ program
L.O.2.1 - Branch structure: if-else, switch-case
L.O.2.2 - Loop structure: for, while, do-while
L.O.2.3 – Function and recursion
L.O.2.4 – Array, string, structured types
L.O.2.5 – Pointer
L.O.3 Basic object-oriented concepts
L.O.3.1 – Understanding of basic object-oriented concepts
L.O.3.2 – Understanding of the issues involved in effective class design
1. Hướng dẫn cách học chi tiết cách đánh giá môn học:
Hướng dẫn cách học:
● Tài liệu (slide bài giảng) được đưa lên website môn học hàng tuần.
● Sinh viên cần làm thêm các bài tập, các bài trắc nghiệm online và các bài thực hành
● Sinh viên nên đi học đầy đủ và làm bài tập trong quá trình học sẽ giúp tiết kiệm thời gian trong quá trình ôn thi cuối
kỳ.
● Đối với phần thực hành, sinh viên tham gia đầy đủ các buổi thí nghiệm và nộp lại báo cáo thí nghiệm ngay cuối giờ
thí nghiệm.
Chi tiết cách đánh giá môn học:
● Thí nghiệm (30%):
- Giảng viên đánh giá các bài báo cáo thí nghiệm của sinh viên cuối mỗi buổi TN.
- Phần thực hành có 1 bài kiểm tra cuối kì tập trung.
● Bài tập lớn (30%): gồm bài tập lớn liên quan đến các nội dung lần lượt: rẽ nhánh, lặp, và con trỏ

● Thi cuối kỳ (40%): đánh giá tổng thể tất cả kỹ năng và kiến thức của sinh viên, bao gồm hiểu và khả năng lập trình,
cũng như áp dụng phương pháp giải quyết bài toán.

Điều kiện dự thi: Sinh viên phải hoàn thành bài tập lớn mới có thể dự thi.

Dự kiến danh sách Cán bộ tham gia giảng dạy:


PGS.TS. Quản Thành Thơ
TS. Nguyễn Hứa Phùng
TS. Lê Thành Sách
TS. Nguyễn Đức Dũng
TS. Trần Tuấn Anh
PGS.TS. Huỳnh Tường Nguyên
ThS. Trần Giang Sơn
ThS. Vương Bá Thịnh
ThS. Lưu Quang Huân
ThS. Trần Ngọc Bảo Duy
ThS. Trần Hồng Tài
ThS. Băng Ngọc Bảo Tâm

Nội dung chi tiết:

Tuần/ Nội dung Chuẩn đầu ra chi Hoạt động dạy và học Hoạt động
Chương tiết Thầy/ Cô Sinh viên đánh giá
1 Chương 1. Giới thiệu về máy tính
và lập trình
1.1. Phần cứng và phần mềm máy
tính
1.2. Ngôn ngữ lập trình
1.3. Giải quyết vấn đề và phát triển
phần mềm
1.4. Giải thuật
1.5. Bài tập
Yêu cầu tự học đ/v sinh viên: 8 giờ
1 Chương 2. Các thành phần căn L.O.1.1 - Vẽ - Giảng lý thuyết - Trắc nghiệm - Làm bài trắc
bản của C++ flowchart để biểu - Bài tập trên lớp online nghiệm online
diễn ý tưởng thuật theo nhóm trên Sakai
1.
toán
2.
L.O.1.2 – Viết mã
2.1. Cấu trúc chương trình giả để hiện thực
2.2. Kiểu dữ liệu và các phép toán một thuật toán
2.3. Biến và khai báo biến
2.4. Các thể loại (short, long,
unsigned) của kiểu nguyên
2.5. Thí dụ về giải quyết vấn đề
2.6. Bài tập
Yêu cầu tự học đ/v sinh viên: 8 giờ
2 Chương 3. Các thành phần căn - Giảng lý thuyết - Trắc nghiệm - Bài tập trên
bản khác của C++ - Bài tập trên lớp online lớp theo nhóm
theo nhóm - Làm bài trắc
3.
nghiệm online
3.1. Các phép toán gán trên Sakai
3.2. Các định dạng số liệu để xuất ra
3.3. Sử dụng các hàm thư viện
3.4. Nhập trị với phát biểu cin
3.5. Các hằng ký hiệu
3.6. Bài tập
Yêu cầu tự học đ/v sinh viên: 16 giờ
2 Chương 4. Cấu trúc rẽ nhánh L.O.3.1 - Hiện - Giảng lý thuyết - Trắc nghiệm - Bài tập trên
thực các cấu trúc - Bài tập trên lớp online lớp cá nhân
4.
rẽ nhánh: if-else, theo nhóm hoặc theo
4.1. Tiêu chuẩn rẽ nhánh switch-case nhóm
4.2. Phát biểu if-else - Làm bài trắc
4.3. Phát biểu if lồng nhau nghiệm online
trên Sakai
4.4. Phát biểu switch
- Làm các bài
4.5. Đặc tả kiểu liệt kê enum tập, bài thực
4.6. Bài tập hành và bài tập
Yêu cầu tự học đ/v sinh viên: lớn

3-5 Chương 5. Các cấu trúc lặp - L.O.2.2 - Hiện - Giảng lý thuyết - Trắc nghiệm - Bài tập trên
mảng và lập trình có thực các cấu trúc - Bài tập trên lớp online lớp cá nhân
cấu trúc lặp: for, while, do- theo nhóm hoặc theo
while nhóm
5.
L.O.2.4 – Biết - Làm bài trắc
5.1. Các cấu trúc lặp căn bản cách khai báo và nghiệm online
5.2. Vòng lặp while sử dụng mảng, trên Sakai
5.3. Vòng lặp while tương tác chuỗi, và kiểu dữ - Làm các bài
liệu cấu trúc tập, bài thực
5.4. Vòng lặp for
hành và bài tập
5.5. Các vòng lặp lồng nhau lớn
5.6. Vòng lặp do-while
5.7. Lập trình có cấu trúc
5.8. Mảng
5.9. Cấu trúc
5.10. Bài tập
Yêu cầu tự học đ/v sinh viên: 16 giờ
6-9 Chương 6. Hàm và con trỏ L.O.2.3 – Biết - Giảng lý thuyết - Trắc nghiệm - Bài tập trên
cách khai báo và - Bài tập trên lớp online lớp cá nhân
6.
sử dụng hàm và đệ theo nhóm hoặc theo
6.1. Hàm và khai báo tham số quy nhóm
6.2. Trị trả về của hàm L.O.2.4 – Biết - Làm bài trắc
6.3. Tầm vực của biến cách khai báo và nghiệm online
sử dụng con trỏ trên Sakai
6.4. Các loại lưu trữ biến
- Làm các bài
6.5. Truyền bằng tham khảo tập, bài thực
6.6. Đệ quy hành và bài tập
6.7. Truyền mảng như là tham số lớn
của hàm
6.8. Con trỏ (pointer)
6.9. Bài tập
Yêu cầu tự học đ/v sinh viên: 16 giờ
10, 11 Chương 7. Giới thiệu về lớp L.O.3.1 – Nắm - Giảng lý thuyết - Trắc nghiệm - Bài tập trên
vững khái niệm về - Bài tập trên lớp online lớp cá nhân
7.
đối tượng theo nhóm hoặc theo
7.1. Lớp L.O.3.2 – Hiểu về nhóm
7.2. Che giấu thông tin các điểm mạnh - Làm bài trắc
7.3. Các hàm thành phần của OOP như thừa nghiệm online
kế, đa hình,… trên Sakai
7.4. Cấp phát bộ nhớ động với các - Làm các bài
toán tử new và delete.
tập, bài thực
7.5. Con trỏ như là thành phần của hành và bài tập
lớp lớn
7.6. Các hàm tạo cao cấp
7.7. Các hàm hủy
7.8. Các đối tượng hằng
7.9. Tính thừa kế
7.10. Bài tập
Yêu cầu tự học đ/v sinh viên: 16 giờ
12 Review
** Nội dung thi cuối kỳ (tập trung)
Từ chương 1 đến phần kiến thức cơ
bản OOP
Ước tính số giờ SV cần chuẩn bị để
thi cuối kỳ: 12 giờ

Thông tin liên hệ:


Bộ môn/Khoa phụ trách Khoa Khoa học và Kỹ thuật Máy tính
Văn phòng Nhà A3
Giảng viên phụ trách TS. Nguyễn Đức Dũng
Email nddung@hcmut.edu.vn

Tp. Hồ Chí Minh, ngày 19 tháng 02 năm 2021

TRƯỞNG KHOA CHỦ NHIỆM BỘ MÔN CB PHỤ TRÁCH LẬP ĐỀ CƯƠNG

You might also like