Đề cương Nhập môn lập trình | Trường Đại học CNTT Thành Phố Hồ Chí Minh

Đề cương Nhập môn lập trình | Trường Đại học CNTT Thành Phố Hồ Chí Minh được được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG MÔN HỌC
IT001 – NHẬP MÔN LẬP TRÌNH
1. THÔNG TIN CHUNG (General information)
Tên môn học (tiếng Việt):
Nhập môn lập trình................................................
Tên môn học (tiếng Anh):
Introduction to Programming ................................
Mã môn học:
IT001 .....................................................................
Thuộc khối kiến thức:
Đại cương ; Cơ sở nhóm ngành ;
Cơ sở ngành ; Chuyên ngành ; Tốt nghiệp
Khoa/Bộ môn phụ trách:
Khoa Khoa học máy tính.......................................
Giảng viên phụ trách biên soạn:
TS. Mai Tiến Dũng; Ths Huỳnh Thị Thanh Thương
Email: dungmt@uit.edu.vn; thuonghtt@uit.edu.vn
Số tín chỉ:
4
Lý thuyết:
45 ...........................................................................
Thực hành:
30 ...........................................................................
Tự học:
30 ...........................................................................
Môn học tiên quyết:
...............................................................................
Môn học trước:
...............................................................................
2. MÔ TẢ MÔN HỌC (Course description)
Môn học sẽ cung cấp các kiến thức nền tảng về máy tính, tư duy và các kỹ năng căn
bản lập trình cho tất cả sinh viên các ngành Công nghệ thông tin.
Đối với hệ tài năng: sinh viên sẽ ược trang bị các kiến thức nâng cao về tư duy và
các kỹ năng lập trình thông qua một số bài toán có ộ phức tạp cao.
3. MỤC TIÊU MÔN HỌC (Course goals) Mục tiêu của môn học ược
thể hiện trong Bảng 1. Bảng 1.
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
2
hiệu
Mục tiêu môn học
Chuẩn ầu ra
cấp ộ 3 trong
CTĐT
G1
Trang bị cho người học các khái niệm cơ bản về máy tính.
1.2.1
G2
Trang bị cho người học khả năng tư duy và kỹ năng lập trình
ể giải một số bài toán trên máy tính.
1.2.1
G3
Trang bị cho người học khả năng sử dụng ngôn ngữ lập trình
C++ ể viết chương trình giải một số bài toán trên máy tính.
2.1.2,
2.1.3
4. CHUẨN ĐẦU RA MÔN HỌC (Course learning outcomes)
Sau khi hoàn thành môn học này, sinh viên có thể:
Bảng 2.
CĐRMH
Mô tả CĐRMH (Mục tiêu cụ thể)
LO1
Trình bày và giải thích ược các khái niệm cơ bản
về lập trình trên máy tính.
LO 2
Áp dụng lưu ồ hay mã giả ể mô tả một số thuật
toán ơn giản; Diễn tả quá trình thực hiện thuật
toán trên bộ dữ liệu cụ thể
LO 3
Hiểu và áp dụng ược các quy ước của ngôn ngữ
lập trình (C++) như kiểu dữ liệu, các phép toán,
cấu trúc iều khiển, hàm, mảng, cấu trúc, con
trỏ, tập tin ể viết chương trình trên máy tính.
LO 4
Sử dụng ược ngôn ngữ lập trình (C++) ể viết
chương trình trên máy tính giải một số bài toán
cơ bản
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
LO 5
Có khả năng phát hiện lỗi và khắc phục lỗi khi
lập trình.
LO 6
Có khả năng ọc hiểu một số thuật ngữ tiếng Anh
chuyên ngành của môn học.
5. NỘI DUNG MÔN HỌC, KẾ HOẠCH GIẢNG DẠY (Course content, lesson plan)
- Thời lượng: Mỗi buổi học lý thuyết là 3 tiết. Mỗi buổi học thực hành là 5 tiết.
- 15 tuần lý thuyết và 6 buổi thực hành
a. Lý thuyết
Bảng 3.
Buổi
học
(3 tiết)
Nội dung giảng dạy
CĐR
MH
Hoạt ộng dạy và
học
Thành
phần ánh
giá
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
4
1
Giới thiệu môn học và kế hoạch học tập
Giảng viên giới thiệu về môn học, số tín chỉ, cách
ánh giá, tài liệu tham khảo, phần mềm thực hành
Chương 1. Giới thiệu tổng quan về máy tính lập
trình
1.1 Tổng quan về máy tính -
Máy tính là gì?
- Cấu trúc tổng quan của máy tính và các thiết b
ngoại vi
- Phần mềm máy tính
- Thông tin ược biểu diễn và o lường như thế nào?
Làm sao máy tính xử lý ược thông tin?
...
1.2 Các khái niệm cơ bản về lập trình:
- Lập trình máy tính, lập trình viên
- Chương trình máy tính, mã nguồn, mã máy -
Ngôn ngữ lập trình.
- Chương trình dịch: Tnh biên dịch, trình thông
dịch, …
1.3 Các ngôn ngữ lập trình
- Vai trò của NNLT ối với công nghệ lập trình.
- Ngôn ngữ lập trình cấp thấp
- Ngôn ngữ lập trình cấp cao
- Một vài ngôn ngữ lập trình thông dụng
1.4 Giới thiệu bước ầu về ngôn ngữ C++, chương trình
C++ và công cụ
- Giới thiệu tổng quan về ngôn ngữ C++ (chưa i
vào chi tiết): Bộ từ vựng trong C++ như ký tự, từ
khóa, dấu, chú thích … quy ước ặt tên, cú
LO 1,
LO 4
Dạy:
+ Giới thiệu
cương môn học,
hình thức ánh
giá môn học,
phổ biến các
quy ịnh của môn
học, nội dung
kế hoạch học tập
+ GV thuyết
giảng, dùng
slide minh họa.
Đặt câu hỏi thảo
luận trên lớp
trao ổi với SV
Học ở lớp: SV
nghe giảng; Suy
nghĩ và thảo
luận nhằm hiểu
rõ hơn vấn ề GV
ặt ra.
Học ở nhà: Đọc
tài liệu và chuẩn
bị các câu hỏi
thảo luận trước
buổi lên lớp
A2
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
pháp, quy ước về kiểu dữ liệu và câu lệnh…
- Giới thiệu sơ lược về cấu trúc chương trình
- Giới thiệu môi trường, công cụ hỗ trợ việc lập
trình và cách sử dụng (như Visual Studio, Code:
Blocks, Eclipse)
- Qui trình tổng quát viết, dịch, chạy thử chương
trình
1.5 Một số dụ minh họa về chương trình C++ chạy
thử.
- Ví dụ 1: Nhập xuất ơn giản như “Hello World”
(code: hello.cpp)
- Ví dụ 2: Chương trình có nhập xuất dữ liệu và
tính toán xử lý ơn giản như “Nhập ộ dài 2 cạnh
của hình chữ nhật, xuất diện tích của hình”
(code: tinhdientich.cpp)
- Ví dụ 3: Chương trình phức tạp hơn, có sử dụng
vòng lặp: kiểm tra một số nguyên n có phải là số
nguyên tố không (code: kiemtrasnt.cpp)
1.6 Một số quy tắc cần nhớ khi viết chương trình
- Chương trình nên ược tách thành nhiều ơn thể
(mô-un), mỗi ơn thể thực hiện một công việc
càng ộc lập với nhau.
- Cách trình bày chương trình càng nhất quán sẽ
càng dễ ọc và dễ hiểu ( ịnh hướng về phong
cách lập trình).
- Mỗi câu lệnh có thể viết trên một hay nhiều
dòng nhưng phải ược kết thúc bằng dấu ;
- Quy tắc viết lời giải thích, lời giải thích không
có tác dụng với sự làm việc của chương trình
trên máy tính, chỉ có tác dụng với người ọc
- Sử dụng các hàm chuẩn: sử dụng #include -
Hàm chính main ….
1.7 Các vấn ề tìm hiểu mở rộng
- GV có thể giới thiệu thêm (như Các hệ ếm trên
máy tính, Chuyển ổi giữa các hệ ếm, Công nghệ
lập trình hiện ại và triển vọng tương lai,
…)
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
6
2
Chương 2. Thuật toán
2.1 Khái niệm về vấn ề/bài toán. Cho ví d
2.2 Các bước giải quyết vấn ề/bài toán bằng máy tính
LO 2
Dạy: GV thuyết
giảng, trình
chiếu, ặt vấn ề và
trao ổi; Hướng
dẫn giải
A1, A2
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
2.3 Khái niệm về thuật toán
2.4 Sự cần thiết của thuật toán
2.5 Các tiêu chuẩn của thuật toán
2.6 Các phương pháp biểu diễn thuật toán. -
Dùng ngôn ngữ tự nhiên.
- Dùng lưu ồ (GV tập trung chủ yếu là lưu ồ)
- Dùng mã giả
- So sánh ưu nhược iểm của các phương pháp
2.7 Một số ví dụ về thuật toán
- Ví dụ 1: Vẽ lưu ồ thuật toán Kiểm tra tính chẵn
lẻ của một số nguyên
- Ví dụ 2: Vẽ lưu ồ thuật toán Tính tổng các số
nguyên dương lẻ từ 1 ến n
- Ví dụ 3: Vẽ lưu ồ thuật toán Tìm nghiệm của
phương trình bậc hai một ẩn
- Ví dụ 4: Vẽ lưu ồ thuật toán Liệt kê tất cả ước số
của số nguyên dương n
2.8 Lập bảng trên giấy ể theo dõi hoạt ộng của một
thuật toán
- Chuẩn bị các bộ dữ liệu kiểm thử: dữ liệu nhập
và kết quả mong ợi
- Chạy thử, ghi nhận kết quả, ánh giá úng sai
2.9 Độ phức tạp thuật toán:
- Phần này chỉ giới thiệu ở mức ộ ơn giản nếu có
thời gian hoặc bỏ qua.
Bài tập chương bắt buộc (có hướng dẫn hay sửa): Vẽ
lưu ồ
1. Giải phương trình bậc nhất ax+b=0
2. Kiểm tra một số nguyên n là số nguyên tố
không?
3. Tính giá trị biểu thức: S 1 2 ... n
4. Nhập vào số nguyên dương n. Tính tổng các
chữ số của số ó.
5. Tìm số lớn nhất trong 3 số
bài tập trên lớp
về biểu diễn
thuật toán ( ặc
biệt chú ý lưu ồ
khối); Cho bài
tập về nhà,
hướng dẫn cách
thức làm và nộp
bài tập.
Học ở lớp: SV
nghe giảng, thảo
luận nhóm và
làm bài tập trên
lớp
Học ở nhà: Làm
bài tập về nhà
của chương 2 và
nộp qua hệ
thống website
môn học.
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
8
Bài tập chương (bắt buộc khác và làm thêm): xem
trong thư mục Buoi02
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
3
Chương 2. Thuật toán (tt)
2.10. Các bài tập về thuật toán
Các bài tập liên quan ến: các ước số của một số
nguyên, các chữ số, kiểm tra tính ối xứng của một tập
hợp, tìm kiếm trong một tập hợp.
Dạy: giảng viên
yêu cầu sinh
viên giải bài tập
Học: sinh viên
làm bài tập theo
yêu cầu của GV
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
10
4
Chương 3. Các kiểu dữ liệu cơ sở và phép toán
trong C++
3.1 Cấu trúc một chương trình máy tính
- Các thành phần chính của chương trình
- Ví dụ và giải thích một vài chương trình ơn
giản: khai báo biến, nhập, xuất, tính toán, chạy
thử, bắt lỗi, sử dụng một số hàm trong thư viện.
Chẳng hạn GV có thể lấy ví dụ tính diện tích
hình chữ nhật và giải thích.
3.2 Các kiểu dữ liệu cơ sở
- Khái niệm Kiểu dữ liệu (KDL)
- Trình bày các kiểu dữ liệu cơ bản có trong ngôn
ngữ lập C++, cho ví dụ minh họa về giá trị của
KDLơng ứng.
3.3 Biến
- Khái niệm biến
- Làm rõ sự khác nhau giữa khái niệm biến trong
toán học và biến trong lập trình
- Khai báo biến
- Các (khái niệm) yếu tố liên quan ến biến:
+Tên biến: Các lưu ý về cách ặt tên biến như
không có khoảng trắng, không bắt ầu bằng
chữ số, không trùng tên với từ khóa, không
trùng tên với hàm
+ Kiểu dữ liệu của biến
+ Giá trị của biến
+ Địa chỉ của biến.
+ Vị trí khai báo và phạm vi hoạt ộng của biến:
biến toàn cục, biến cục bộ (sẽ diễn giải chi
tiết hơn trong phần hàm)
+ Khái niệm về bộ nhớ và kích thước lưu trữ
biến (lưu ý: kích thước này phụ thuộc vào
môi trường biên dịch)
LO 1,
LO 2,
LO 3,
LO 4
Dạy: trình bày
trên lớp, dùng
slide minh họa
cho bài tập
viết các chương
trình ơn giản,
khai báo biến,
hằng
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: Làm
và nộp bài tập
về nhà của
chương 3
A1, A2,
A3, A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
- Các loại biến: biến thường, biến con trỏ (con trỏ
chỉ là 1 biến và giá trị của nó là ịa chỉ), biến
tham chiếu (biến này cũng chỉ là 1 biến nhưng
nó không ược cấp phát ô nhớ riêng và dung
chung ô nhớ với biến gốc) (phần biến con trỏ và
biến tham chiếu sẽ nói chi tiết thêm trong các
phần sau)
- Khai báo biến và khởi tạo giá trị biến: cho ví dụ
và giải thích giá trị của biến trong các trường
hợp: int x; int y=5; int z=y; x=y; int*p=&x; int
&m=x;
- Biến và toán tử gán. Chú ý phân biệt toán tử gán
với khái niệm ẳng thức trong toán học. Cho ví
dụ và diễn giải.
3.4 Hằng:
- Khái niệm về hằng
- Cách khai báo hằng: dùng #define và const (biến
hằng), cho ví dụ minh họa và chỉ ra phân biệt sự
khác nhau giữa hai cách.
- Một số loại hằng: Hằng dấu phẩy ộng (float,
double) như 213.45, 1E8, -49.5e-2, hằng int,
hằng long như -489L, hằng int hệ 8 hệ 16, hằng
ký tự, hằng chuỗi ký tự
- Lưu ý về sử dụng #define: ây là một
“Preprocessor definition”, nghĩa là nó sẽ thay
thế vào chương trình khi biên dịch. Cho ví dụ
minh họa.
3.5 Các phép toán
- Phép toán số học, quan hệ và logic, phép thao
tác bit, phép toán tăng giảm một ơn vị, toán tử
iều kiện, chuyển ổi kiểu dữ liệu, ép kiểu. Cho
dụ minh họa
- Thứ tự ưu tiên của các phép toán. Cho ví dụ
minh họa.
3.6 Biểu thức
- Khái niệm biểu thức.
- Phân biệt: câu lệnh gán và biểu thức gán.
(lưu ý: mọi biểu thức ều có giá trị kết quả)
3.7 Những vấn ề liên quan ến ký tự và chuỗi
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
12
3.8 Nhập xuất dữ liệu
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
- Trình bày nhập xuất: dùng cin/cout
- Trình bày nhập xuất dùng printf/scanf
- Khuyến cáo SV nên dùng cin/cout
3.9 Một số ví dụ về chương trình liên quan ến nhập
xuất, các phép toán …
- Ví dụ 1: Chương trình nhập vào Họ tên sinh
viên (chuỗi ký tự), năm sinh (số nguyên) và iểm
trung bình (số thực). Sau ó in các thông tin này
ra màn hình.
- Ví dụ 2: Chương trình nhập vào 2 số nguyên x
và y, tính và in ra giá trị của tổng, tích, thương,
ép kiểu khi tính thương và tính phần dư của x
và y.
- Ví dụ 3: Chương trình nhập vào 3 cạnh của tam
giác, tính toán và in ra chu vi và diện tích của
tam giác (mục ích là có sử dụng hàm sqrt và
include thư viện)
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình nhập vào giá trị
F(Fahreneit), chuyển ổi từ nhiệt ộ F sang nhiệt
ộ C (Selsius) theo công thức: C = 5*(F - 32) /
9
2. Viết chương trình nhập vào 2 số nguyên, sau ó
in ra tổng bình phương của chúng.
3. Viết chương trình nhập vào bán kính R của
ường tròn. Tính và in ra chu vi và diện tích.
4. Viết chương trình nhập vào một số nguyên 3
chữ số (từ 100 - 999), sau ó in ra các chữ số
thuộc hàng trăm, hàng chục, hàng ơn vị.
5. Giải thích kết quả các câu lệnh sau:
int i = 5, j = 4; double f ;
f = (double)i / j; f = i / (double)j;
f = (double)i / (double)j; f = (double)(i / j);
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
14
Bài tập chương (bắt buộc khác làm thêm): xem
trong thư mục Buoi04
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
5
Chương 4. Các cấu trúc iều khiển
LO 2,
LO 3,
Dạy: trình bày
trên lớp, dùng
A1, A2,
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
16
4.1 Khái niệm câu lệnh và khối lệnh trong lập trình.
4.2 Phạm vi hoạt ộng của biến (trong các khối lệnh) và
ví dụ minh họa
4.3 Cấu trúc rẽ nhánh if, if-else
4.4 Cấu trúc rẽ nhánh switch-case
4.5 Một số ví dụ minh họa về cấu trúc rẽ nhánh (có
hướng dẫn vẽ lưu ồ)
- Ví dụ 1: Viết chương trình Kiểm tra tính chẵn, lẻ
của một số nguyên
- Ví dụ 2: Viết chương trình Tính max của 2 số
thực
- Ví dụ 3: Viết chương trình Giải phương trình bậc
nhất
- Ví dụ 4: Viết chương trình Xác ịnh học lực của
SV dựa trên iểm trung bình dùng switch-case
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình Nhập vào 3 số thực a, b, c.
In ra theo thứ tự tăng dần.
2. Viết chương trình Giải phương trình bậc hai
ax
2
+bx+c=0
3. Viết chương trình Nhập ba số dương a, b, c, rồi
kiểm tra xem chúng có thể là ộ dài của các cạnh
của một tam giác hay không. Nếu có thì cho
biết ó là tam giác gì?
4. Viết chương trình Tính tiền i taxi từ số km nhập
vào. Biết: 1 km ầu giá 15000 , từ km thứ 2 ến
km thứ 5 giá 13500 , từ km thứ 6 trở i giá
11000 , nếu trên 120km ược giảm 10% trên
tổng số tiền.
5. Viết chương trình Nhập vào tháng và năm (năm
> 1975), kiểm tra tính hợp lệ của tháng, năm và
cho biết tháng ó có bao nhiêu ngày.
LO 4,
LO 5,
LO 6
slide minh họa,
cho bài tập sử
dụng các lệnh if,
switch, hướng
dẫn vẽ lưu ồ
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: làm
và nộp bài tập
về nhà của
chương 4 về cấu
trúc rẽ nhánh
A3, A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
Bài tập chương (bắt buộc khác và làm thêm): xem
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
18
trong thư mục Buoi05
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
6
Chương 4. Các cấu trúc iều khiển (tt)
4.6 Cấu trúc lặp for
4.7 Cấu trúc lặp while
4.8 Cấu trúc lặp do-while
Lưu ý giải thích cách thức vận hành và iều kiện dừng
của vòng lặp
4.9 Câu lệnh break, continue
4.10 Một số ví dụ minh họa về cấu trúc lặp (có hướng
dẫn vẽ lưu ồ)
- Ví dụ 1: Viết chương trình Nhập một số nguyên
dương n (có kiểm tra iều kiện nhập) và tính tổng
S=1+2+…+ n
- Ví dụ 2: Viết chương trình Liệt kê tất cả các ước
số của số nguyên dương n
- Ví dụ 3: Viết chương trình Đếm số lượng chữ số
của số nguyên dương n
- Ví dụ 4: Viết chương trình Kiểm tra số nguyên
tố (có dùng break)
- Ví dụ 5: Viết chương trình In tất cả các số lẻ nhỏ
hơn 50 trừ các số 3,9,31 (có dùng continue) Bài
tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình nhập vào số nguyên dương n.
Tính tổng:
S
1 1
...
1
2 4 2n
2. Viết chương trình nhập vào số nguyên dương n.
Tính tổng:
S= 1 + 1.2 + . . . . + 1.2.3….n
3. Viết chương trình liệt kê tất cả các số nguyên t
nhỏ hơn giá trị N nhập từ bàn phím (N < 100).
4. Viết chương trình tính tổng các chữ số trong 1
số
Ví dụ: số 1234 có tổng S = 1 + 2 + 3 + 4 = 10
5. Tìm ước số chung lớn nhất của 2 số nguyên
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Dạy: trình bày
trên lớp, dùng
slide minh họa,
cho các bài tập
sử dụng các lệnh
lặp for, while
do while, hướng
dẫn vẽ lưu ồ
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: làm
và nộp bài tập
về nhà của
chương 4 về cấu
trúc lặp
A1, A2,
A3, A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
20
dương a và b
Bài tập chương (bắt buộc khác và làm thêm): xem
trong thư mục Buoi06
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
7
Chương 5. Hàm và tham số của hàm
5.1 Khái niệm Hàm
- Phân biệt khái niệm hàm trong toán học và trong
lập trình
- Ví dụ về viết hàm trong lập trình
- Một số quy ước liên quan ến hàm
5.2 Vai trò và lợi ích của việc sử dụng hàm. Cho ví dụ
minh họa sự cần thiết của việc sử dụng hàm
5.3 Cấu trúc của hàm, quy tắc xây dựng và sử dụng
hàm
- Các khái niệm (yếu tố) liên quan ến ặc tả
hàm: tên hàm, kiểu giá trị của hàm, ối hay tham
số hình thức, thân hàm, khai báo nguyên mẫu
(prototype) của hàm, lời gọi hàm, tham số hình
thức, tham số thực.
- Quy tắc quan trọng liên quan ến việc xây dựng
và sử dụng hàm
- Biến toàn cục và biến cục bộ
- Nguyên tắc hoạt ộng của hàm.
5.4 Tham số và cách truyền tham số cho hàm:
- Truyền tham trị
- Truyền tham chiếu
(lưu ý cần giải thích cho sinh viên hiểu tại sao
không thay ổi và thay ổi ược giá trị của tham s
thực)
5.5 Kết quả trả về của hàm (lưu ý trường hợp sử dụng
tham chiếu ể trả về giá trị cho hàm: phần này khó và
OOP sẽ dạy rõ hơn)
- Câu lệnh return: cho ví dụ minh họa và giải
thích cơ chế lệnh return
5.6 Giới thiệu qua một số trường hợp ặc biệt: hàm
main, hàm không cho giá trị, hàm không ối, …
5.7 Một số ví dụ về ứng dụng hàm trong lập trình và
minh họa cách truyền tham số
- Ví dụ 1: Viết chương trình Hoán vị hai số
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Dạy: trình bày
trên lớp, dùng
slide minh họa,
giải thích
nguyên tắc hoạt
ộng của hàm,
cho bài tập về
hàm và các
trường hợp
truyền tham số
cho hàm
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: Làm
và nộp bài tập
về nhà của
chương 5
A1, A2,
A3,
A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
22
nguyên
- Ví dụ 2: Viết chương trình Tính tổng của 2 số
nguyên theo nhiều cách trả về giá trị của hàm
- Ví dụ 3: Viết chương trình nhập n và tính tổng
S(n) = x+x
2
+…+x
n
bằng kỹ thuật lập trình hàm
- Ví dụ 4: Viết chương trình liệt kê tất cả các số
nguyên tố nhỏ hơn giá trị N nhập từ bàn phím.
5.8 Giới thiệu một số hàm thông dụng có sẵn trong
thư viện
Bài tập chương bắt buộc (có hướng dẫn hay sửa): Sử
dụng kỹ thuật lập trình hàm
1. Viết chương trình tính tổng các số nguyên tố
nhỏ hơn số nguyên dương n.
2. Tìm ước số chung lớn nhất và bội số chung nhỏ
nhất của 2 số nguyên dương a và b.
3. Viết chương trình giải phương trình bậc 2,
trong ó có sử dụng hàm tính delta.
4. Viết chương trình tìm nghiệm của phương trình
trùng phương trong ó có xây dựng hàm tìm
nghiệm của phương trình bậc 2. VD: 4x
4
3x
2
-
1=0
5. Viết chương trình xác ịnh tính chất của 1 tam
giác (thường, cân, vuông, ều) dựa trên tọa ộ của
3 ỉnh, trong ó xây dựng hàm xác ịnh khỏang
cách giữa 2 iểm trên mặt phẳng
Bài tập chương (bắt buộc khác và làm thêm): xem
trong thư mục Buoi07
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
8
Chương 5. Hàm và tham số của hàm (tt)
5.9 Khái niệm Hàm ệ quy
5.10 Các loại ệ quy
5.11 Quy tắc xây dựng hàm ệ quy
5.12. Nguyên tắc hoạt ộng của Hàm ệ quy 5.13
Một số ví dụ minh họa về ệ quy
- Ví dụ 1: Viết hàm ệ quy Tính tổng
S 12 ... n
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Dạy: trình bày
trên lớp, dùng
slide minh họa,
cho bài tập về ệ
quy
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
A1, A2,
A3, A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
24
- Ví dụ 2: Viết hàm ệ quy Tính lũy thừa x
n
- Ví dụ 3: Viết chương trình Tính giai thừa của
n. 5.14 Ưu khuyết iểm của phương pháp ệ quy
5.15 Một số phương pháp khử ệ quy: dung vòng lặp,
stack, …
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình Tính số hạng thứ n của dãy
Fibonaci. Biết rằng:
f(0) = f(1) = 1
f(n) = f(n – 1) + f(n – 2)
2. Tính giá trị biểu thức:
S 1 1*2 1*2*3... 1*2*...* n
3. Viết chương trình tìm ước số chung lớn nhất
của 2 số nguyên dương x và y bằng kỹ thuật ệ
quy.
USCLN (x, y) = x nếu x=y
USCLN (x, y) = USCLN (x-y, y) nếu x>y
USCLN (x, y) = USCLN (x, y- x) nếu x<y
4. Viết hàm tính C (n, k) biết rằng :
C (n, k) = 1 nếu k=0 hoặc k=n
C (n, k) = 0 nếu k>n
C (n, k) = C(n-1, k) + C(n-1, k-1) nếu 0<k<n
Bài tập chương (bắt buộc khác và làm thêm): xem
trong thư mục Buoi08
Học ở nhà: Làm
và nộp bài tập
về nhà của
chương 5 về ệ
quy
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
9
Chương 6. Mảng
6.1 Giới thiệu về mảng trong lập trình, lợi ích của
việc sử dụng mảng
6.2 Khái niệm mảng và hình ảnh của mảng (1 chiều,
ma trận)
6.3 Các yếu tố ể xác ịnh mảng: tên mảng, kiểu mảng,
số chiều và kích thước mỗi chiều. Cho ví dụ và
diễn giải ý nghĩa các thành phần
6.4 Mảng 1 chiều
- Chỉ số mảng và truy xuất phần tử mảng
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Dạy: trình bày
trên lớp, dùng
slide minh họa,
cho bài tập về
mảng 1 chiều
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: làm
A1, A2,
A3, A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
26
- Lấy ịa chỉ phần tử mảng
- Khai báo, khởi tạo và sử dụng mảng
- Truyền mảng cho hàm và lời gọi hàm
6.5 Các tác vụ trên mảng 1 chiều, một số kỹ thuật cơ
bản (như ặt lính canh, cờ hiệu, …) và ví dụ minh
họa
- Ví dụ 1: Nhập, xuất mảng
- Ví dụ 2: Kiểm tra tính chất mảng
- Ví dụ 3: Tìm kiếm trên mảng
- Ví dụ 4: Đếm số lượng phần tử
- Ví dụ 5: Tính toán có iều kiện
Khác: Thêm, xóa, sửa, tách, ghép, sắp xếp mảng
(phần này GV có thể tùy chọn ể hướng dẫn thêm)
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình nhập vào một dãy tăng dần,
không cần sắp xếp. Nếu nhập sai yêu cầu s
phải nhập lại và xuất các số nguyên tố có trong
mảng.
2. Kiểm tra mảng có ối xứng hay không?
3. Liệt kê các giá trị xuất hiện trong mảng úng 1
lần.
4. Tìm vị trí của phần tử có giá trị âm lớn nhất
trong mảng số nguyên.
5. Viết hàm xóa phần tử có chỉ số k trong mảng s
nguyên a có n phần tử. Nếu giá trị của k<0 hoặc
k>=n thì không xóa và hàm trả về giá trị 0.
Ngược lại ta xóa giá trị phần tử a[k] và hàm tr
về giá trị 1.
Bài tập chương (bắt buộc khác và làm thêm): xem
trong thư mục Buoi09
và nộp bài tập
về nhà của
chương 6 về
mảng 1 chiều
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
10
Chương 6. Mảng (tt)
6.6 Mảng hai chiều:
- Chỉ số mảng và truy xuất phần tử mảng
LO 2,
LO 3,
LO 4,
LO 5,
Dạy: trình bày
trên lớp, dùng
slide minh họa,
cho bài tập về
A1, A2,
A3,
A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
28
- Lấy ịa chỉ phần tử mảng
- Khai báo, khởi tạo và sử dụng mảng
- Một số khái niệm liên quan: ường chéo chính,
ường chéo phụ, nửa trên/nửa dưới ường chéo
chính, …
- Truyền mảng cho hàm và lời gọi hàm
6.7 Các tác vụ trên mảng 2 chiều và ví dụ minh họa
- Ví dụ 1: Nhập, xuất mảng
- Ví dụ 2: Kiểm tra tính chất mảng: ối xứng qua
ường chéo chính, phụ,…)
- Ví dụ 3: In ra các phần tử lớn/nhỏ nhất của từng
dòng/cột
6.8 Chuỗi ký tự
- Khái niệm
- Khai báo, khởi tạo
- Nhập xuất chuỗi và một số hàm thông dụng
trong thư viện
6.9 Các thao tác trên chuỗi ký tự và ví dụ minh họa
- Ví dụ 1: Nhập chuỗi s và ếm số lượng ký tự có
trong chuỗi
- Ví dụ 2 Chuẩn hóa chuỗi họ tên bằng cách
chuyển ổi chữ in/thường
- Ví dụ 3: Nhập hai chuỗi, nối hai chuỗi lại và in
ra màn hình chuỗi kết quả.
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
Ma trận
1. Cộng 2 ma trận
2. Nhân 2 ma trận
3. Tính tổng các giá trị lớn nhất trên mỗi dòng.
Chuỗi ký tự
4. Đếm số từ trong 1 chuỗi
5. Đổi kí tự ầu tiên của mỗi từ thành chữ in hoa
LO 6
mảng 2 chiều
chuỗi.
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: làm
và nộp bài tập
về nhà của
chương 6 về
mảng 2 chiều và
chuỗi
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
6. Bỏ các ký tự khoảng trắng thừa
Bài tập chương (bắt buộc khác và làm thêm): xem
trong thư mục Buoi10
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
30
11
Chương 7: Cấu trúc
7.1 Đặt vấn ề: Ví dụ về Bài toán quản lý sinh viên, và
diễn giải sự cần thiết của kiểu cấu trúc
7.2 Khái niệm Cấu trúc
7.3 Định nghĩa kiểu cấu trúc
7.4 Khai báo, khởi tạo và sử dụng biến cấu trúc
7.5 Nhập xuất biến dữ liệu cấu trúc
7.6 Cấu trúc phức hợp (thành phần là mảng) và Mảng
cấu trúc
7.7 Một số vấn ề liên quan khác: Phép gán, truyền
cấu trúc cho hàm, kích thước của cấu trúc, … 7.8
Một số ví dụ minh họa
- Ví dụ 1: Khai báo kiểu dữ liệu ể biểu diễn
thông tin của một Phân số, nhập/xuất phân số
và mảng phân số, rút gọn phân số, tính
tổng/hiệu hai phân số, …
- Ví dụ 2: Quản lý sinh viên (hay nhân viên): khai
báo, nhập/xuất danh sách, tìm kiếm, sắp xếp ơn
giản, ….
Bài tập bắt buộc (có hướng dẫn hay sửa):
1. Khai báo kiểu dữ liệu Đơn thức, nhập/xuất ơn
thức, tính tổng/hiệu/tích/thương hai ơn thức,
tính giá trị ơn thức, tính ạo hàm cấp 1 của ơn
thức, …
2. Khai báo kiểu dữ liệu iểm trong mặt phẳng
Oxy, nhập/xuất tọa ộ iểm/mảng iểm, Tính
khoảng cách giữa hai iểm, tìm 1 iểm trong
mảng gần/ xa gốc toạ ộ nhất, …
3. Hãy khai báo kiểu dữ liệu ể biểu diễn thông tin
của 1 tỉnh gồm mã tỉnh, tên tỉnh, dân số, diện
tích; nhập xuất thông tin 1 tỉnh và danh
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Dạy: trình bày
trên lớp, dùng
slide minh họa,
cho bài tập
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: làm
và nộp bài tập
về nhà của
chương
A1, A2,
A3,
A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
sách tỉnh; xuất tỉnh có dân số lớn hơn 1 triệu,
tìm tỉnh có diện tích lớn nhất, …
Bài tập chương (bắt buộc khác làm thêm): xem trong
thư mục Buoi11
12
Chương 8: Con trỏ
8.1 Tổ chức quản lý lưu trữ trong bộ nhớ
8.2 Khái niệm con trỏ
8.3 Vai trò, tầm quan trọng của con trỏ
8.4 Khai báo biến con trỏ
8.5 Các phép toán trên con trỏ
8.6 Cấp phát và giải phóng ô nhớ
8.6 Con trỏ và mảng một chiều
8.7 Một số ví dụ minh họa về con trỏ và cách sử dụng
- Ví dụ 1: Con trỏ chứa ịa chỉ của 1 biến và có thể
thay ổi giá trị của biến: minh họa và giải thích
- Ví dụ 2: Con trỏ và mảng 1 chiều: cấp phát, truy
xuất các phần tử, giải phóng.
- Ví dụ 3: Liên quan ến cấp phát và giải phóng ô
nhớ; minh họa trường hợp hai biến con trỏ cùng
chứa 1 ịa chỉ và gỏi lệnh hủy 1 biến, khi ó giá trị
biến còn lại sẽ bị sai.
8.8 Con trỏ và mảng nhiều chiều
8.9 Con trỏ và hàm số
8.10 Con trỏ và cấu trúc
8.11 Các vấn ề khác liên quan (mở rộng)
8.12 Một số ví dụ minh họa về con trỏ và cách sử
dụng (t.t)
- Ví dụ 1: Sử dụng con trỏ và cấp phát mảng 2
chiều. Thao tác nhập và xuất ma trận sử dụng
con trò
- Ví dụ 2: Con trỏ ược sử dụng trong tham số hàm
- Ví dụ 3: Con trỏ và cấu trúc: trường hợp cấu trúc
tự trỏ hoặc dùng con trỏ ể truy xuất các thuộc
tính.
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Dạy: trình bày
trên lớp, dùng
slide minh họa,
cho bài tập, GV
minh họa các ví
dụ có sử dụng
con trỏ và yêu
cầu sinh viên
giải thích các
tình huống
tương ứng.
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: làm
và nộp bài tập
về nhà của
chương 8
A1, A2,
A3, A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
32
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Cho biết ý nghĩa của các khai báo và câu lệnh;
Tìm lỗi sai trong oạn code và giải thích
2. Cho mảng 1 chiều a có 10 phần tử, biến con tr
p trỏ tới mảng 1 chiều a. Hãy dùng con trỏ p ể
gán giá trị 100 cho phần tử thứ 5 của mảng.
Hãy viết chương trình nhập và xuất mảng 1
chiều thông qua con trỏ p.
3. Tạo biến str lưu chuỗi “hello class”, sau ó tạo
biến con trỏ p lưu trữ ịa chỉ ầu tiên của chuỗi.
Hãy thực hiện chuyển chuỗi str thành chuỗi ký
tự in hoa “HELLO CLASS” thông qua sử dụng
con trỏ p.
4. Viết hàm nhập một dãy số thực A tùy ý trong ó
có sự cấp phát ộng. Viết hàm sao chép dãy số
thực A ( ược nhập bởi hàm trên) sang một dãy
B trong ó có sự giải phóng vùng nhớ cấp phát
ộng và cấp phát lại ở dãy B.
5. Làm lại các bài tập về mảng dùng con trỏ
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
13
Chương 9. Lập trình với tập tin
9.1 Khái niệm về tập tin dạng văn bản
9.2 Lợi ích của việc sử dụng tập tin văn bản thô ể lưu
dữ liệu của chương trình
9.3 Hệ thống nhập xuất trong lập trình
- Qui trình chung và cơ chế ọc ghi dữ liệu
- Các ối tượng và thao tác nhập xuất
9.4 Một số thao tác trên tập tin văn bản thô
- Đọc nội dung tập tin có sẵn
-Tạo tập tin ể ghi dữ liệu
- Ghi thêm dữ liệu vào tập tin có sẵn
- Ghép nối nội dung các tập tin
9.4 Một số ví dụ minh họa việc sử dụng tập tin văn
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Dạy: trình bày
trên lớp, dùng
slide minh họa,
cho bài tập
Học ở lớp: nghe
giảng, thảo luận,
làm và sửa bài
tập
Học ở nhà: làm
và nộp bài tập
về nhà của
chương 9
A1, A2,
A3, A4
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
34
bản thô ể lưu dữ liệu của chương trình
- Ví dụ 1: Nhập và xuất mảng số nguyên sử dụng
tập tin
- Ví dụ 2: Nhập và xuất mảng cấu trúc (danh sách
sinh viên) sử dụng tập tin.
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Nhập một dãy số nguyên và ghi thành file
TEXT trên ĩa với tên file là “Integer.txt” theo yêu
cầu sau : Dòng ầu ghi dòng chữ: “Begin Day”,
dòng thứ hai ghi số phần tử của dãy, các phần t
của dãy ược ghi ở các dòng tiếp theo, mỗi dòng
gồm 20 phần tử (dòng cuối cùng có thể ít hơn 20
phần tử), cuối cùng ghi thêm 1 dòng chữ: “End
Day”. Viết hàm ọc dữ liệu của dãy từ file và tìm
phần tử lớn nhất của dãy. 2. Nhập một ma trận
vuông và ghi thành file TEXT trên ĩa với tên file là
“matran.txt” theo yêu cầu sau :ng ầu ghi cấp
của ma trận, các dòng tiếp theo là mỗi dòng của
ma trận. Hai số kề nhau ược lưu bởi khoảng trắng.
Sau ó ọc file “matran.txt” ể tìm phần tử lớn nhất,
phần tử nhỏ nhất trong ma trận, và xuất ra dòng có
tổng số các phần tử là lớn nhất, …
3. Nhập một danh sách sinh viên (mỗi sinh viên có
mã, họ tên, năm sinh, iểm trung bình) và ghi
lên ĩa thành một tập tin. Viết hàm ọc file và
xuất ra danh sách, nhập thêm dữ liệu cho mẫu
tin của một sinh viên vào cuối tập tin, tìm kiếm
sinh viên theo mã, …
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
14
Chương 10. Một số phương pháp giải bài toán trên
máy tính 10.1 Vét cạn
a. Bài toán minh họa: tìm giá trị x trên dãy
a có n phần tử
b. Bài toán nâng cao: cho dãy a = (a1, a2,
…, an) là 1 hoán vị của dãy (1, 2, …, n).
Tìm 1 hoán vị b=(b1, b2, …, bn) thỏa
(a!=b) && (|ai – bi| ≤ 1, 0<I ≤n)
10.2 Chia ể trị
c. Bài toán minh họa: tìm kiếm nhị phân
d. Bài toán nâng cao 10.3 Qui hoạch ộng:
e. Bài toán minh họa: Tính số fibonacci thứ
n
f. Bài toán nâng cao
10.4 Giải thuật gần úng (heuristics)
g. Bài toán minh họa
h. Bài toán nâng cao
15
Ôn tập
LO 1,
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Dạy: trình bày
tóm tắt các nội
dung chính và
hướng dẫn giải
bài tập
Học ở lớp: nghe
giảng, làm bài
tập và trao ổi với
giảng viên.
A1, A2,
A3, A4
b. Thực hành
Bảng 4.
Buổi
học
(5 tiết)
Nội dung
CĐRMH
Hoạt ộng dạy và học
Thành
phần ánh
giá
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
36
1
(5 tiết)
Bài tập 1:
Làm quen với công cụ lập
trình.
Viết và biên dịch một
chương trình ơn giản.
Biên dịch và khắc phục một
số lỗi thường gặp.
LO 1,
LO 2,
LO 3,
LO 5,
LO 6
Dạy: GV hướng dẫn cho
sinh viên sử dụng công cụ
lập trình viết chương
trình ơn giản.
Học: Sinh viên thực hiện
theo hướng dẫn
A2
2 (5
tiết)
Bài tập 2:
Viết chương trình tính toán
ơn giản.
Viết chương trình sử dụng
if, if-else
LO 3,
LO 4,
LO 5,
LO 6
Dạy: GV hướng dẫn cho
sinh viên theo nội dung bài
tập.
Học: Sinh viên thực hiện
theo hướng dẫn
A2
3 (5
tiết)
Bài tập 3:
Viết chương trình sử dụng
cấu trúc iều kiện phức tạp
Viết chương trình sử dụng
cấu trúc vòng lặp for, while,
do while
LO 3,
LO 4,
LO 5,
LO 6
Dạy: GV hướng dẫn cho
sinh viên theo nội dung bài
tập.
Học: Sinh viên thực hiện
theo hướng dẫn
A2
4 (5
tiết)
Bài tập 4:
Viết chương trình sử dụng hàm
số.
LO 3,
LO 4,
LO 5,
LO 6
Dạy: GV hướng dẫn cho
sinh viên theo nội dung bài
tập.
Học: Sinh viên thực hiện
theo hướng dẫn
A2
5 (5
tiết)
Bài tập 5:
Viết chương trình liên quan
ến mảng một chiều
LO 3,
LO 4,
LO 5,
LO 6
Dạy: GV hướng dẫn cho
sinh viên theo nội dung bài
tập.
Học: Sinh viên thực hiện
theo hướng dẫn
A2
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
6 (5
tiết)
Bài tập 6:
Viết chương trình sử dụng
mảng một chiều và chuỗi
Viết chương trình sử dụng
cấu trúc
LO 3,
LO 4,
LO 5,
LO 6
Dạy: GV hướng dẫn cho
sinh viên theo nội dung bài
tập.
Học: Sinh viên thực hiện
theo hướng dẫn
A2
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
6. ĐÁNH GIÁ MÔN HỌC (Course assessment)
10.5 Khung thông tin về kiểm tra ánh giá kết quả học tp
Thành
phần
Thời
iểm
kiểm tra
Hình thức
KTĐG
Công cụ
TĐG
Trọng
số
Thang
iểm
CĐR
MH
Tiêu chí ánh giá hệ
ại trà
Tiêu chí ánh giá hệ
chất lượng cao
Tiêu chí ánh giá hệ tài
năng
A1
Quá trình
Làm bài trên
bảng, trên
giấy; Trả lời
câu hỏi;
Bài tập
trên lớp;
Câu hỏi
kiểm tra
kiến thức.
10%
10
LO 2,
LO 3,
LO 4
Nội dung thông tin
trong câu trả lời thể
hiện ược các thông
tin phù hợp với yêu
cầu của câu hỏi. Bài
làm ảm bảo tính
chính xác, ầy
úng theo phương
pháp ược yêu cầu.
(thang iểm tối a
10/10);
Nội dung thông tin
trong câu trả lời thể
hiện ược các thông tin
phù hợp với yêu cầu
của câu hỏi.
Bài làm ảm bảo tính
chính xác, ầy ủ và úng
theo phương pháp ược
yêu cầu.
(thang iểm tối a 10/10);
Nội dung thông tin
trong câu trả lời thể
hiện ược các thông tin
phù hợp với yêu cầu
của câu hỏi.
Bài làm ảm bảo tính
chính xác, ầy ủ và úng
theo phương pháp ược
yêu cầu.
(thang iểm tối a
10/10);
A2
Giữa kỳ
Làm bài trên
giấy;
Thời gian 60
phút
Câu hỏi
kiểm tra
kiến thức
và tư duy
về lập
trình.
20%
LO 1,
LO 2,
LO 3,
LO 4,
LO 6
Nội dung thông tin
trong câu trả lời thể
hiện ược các thông tin
phù hợp với yêu cầu
của câu hỏi.
Nội dung thông tin
trong câu trả lời thể
hiện ược các thông tin
phù hợp với yêu cầu
của câu hỏi.
Nội dung thông tin
trong câu trả lời thể
hiện ược các thông tin
phù hợp với yêu cầu
của câu hỏi.
Bảng 5.
Downloaded by Mai Le Thi Nguyet (hoathanvu729@gmail.com)
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
A3
Thực
hành
Chương trình
máy tính có
khả năng
thực hiện các
yêu cầu của
bài tập
Bài tập lập
trình;
20%
10
LO 3,
LO 4,
LO 5,
LO 6
Chương trình phải
thực hiện ược các
chức năng mà bài
tập yêu cầu (thang
iểm tối a 8/10);
Quản lý code và
phương pháp code
hiệu quả (thang iểm
tối a 2/10);
Chương trình phải thực
hiện ược các chức năng
mà bài tập yêu cầu
(thang iểm tối a
8/10);
Quản lý code và
phương pháp code hiệu
quả (thang iểm tối a
2/10);
Chương trình phải thực
hiện ược các chức năng
mà bài tập yêu cầu
(thang iểm tối a
8/10);
Quản lý code và
phương pháp code hiệu
quả (thang iểm tối a
2/10);
A4
Cuối kỳ
50%
23
A4.2
Lý thuyết
Làm bài viết
trên Giấy thi
kết hợp trắc
nghiệm.
Thời gian 90
phút, căn cứ
trên nội
dung giảng
dạy theo
cương bài
giảng chi tiết
các bài
tập bắt buộc.
Câu hỏi tự
luận; Câu
hỏi có tính
toán;
40%
10
LO 1,
LO 2,
LO 3,
LO 4,
LO 5,
LO 6
Nội dung trong bài
làm ảm bảo tính
chính xác, ầy
phù hợp với yêu cầu
của nội dung câu hỏi.
Nội dung trong bài làm
ảm bảo tính chính xác,
ầy ủ và phù hợp với
yêu cầu của nội dung
câu hỏi.
Nội dung trong bài làm
ảm bảo tính chính xác,
ầy ủ và phù hợp với
yêu cầu của nội dung
câu hỏi.
A4.2
Thực
hành
Chương trình
máy tính;
Đồ án môn
học
10%
10
LO 3,
LO 4,
LO 5,
LO 6
Chương trình phải
thực hiện ược các
chức năng mà bài
tập yêu cầu (thang
iểm tối a 8/10);
Quản lý code và
phương pháp code
hiệu quả (thang iểm
tối a 2/10);
24
Downloaded by Mai Le Thi Nguyet (hoathanvu729@gmail.com)
lOMoARcPSD| 40425501
[Mẫu ĐCMH-2015-1]
7. QUY ĐỊNH CỦAN HỌC (Course requirements and expectations)
Hoàn thành bài tập theo yêu cầu của giảng viên.
8. TÀI LIỆU THAM KHẢO
1. C++ Programming, 5th Edition, DS Malik, 2011
(https://docs.google.com/file/d/0BxbayAAcS8IiMWxuN3pJLTlpUHM/edit )
2. Thinking in C++, Bruce Eckel, ebook.
(http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html )
3. Theory and Problems of Fundamentals of Computing with C++, John R.Hubbard,
Schaum’s Outlines Series, McGraw-Hill, 1998.
4. http://www.cplusplus.com/doc/tutorial/
9. PHẦN MỀM HAY CÔNG CỤ HỖ TRỢ THỰC HÀNH
- Sử dụng phần mềm Code::Blocks (http://www.codeblocks.org/) -
Hệ thống nộp bài tập thực hành wecode online judge.
Tp.HCM, ngày 24 tháng 08 năm 2018
Trưởng khoa/bộ môn Giảng viên biên soạn (Ký và ghi rõ họ tên) (Ký và ghi rõ
họ tên)
25
Downloaded by Mai Le Thi Nguyet (hoathanvu729@gmail.com)
| 1/43

Preview text:

lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG MÔN HỌC
IT001 – NHẬP MÔN LẬP TRÌNH
1. THÔNG TIN CHUNG (General information)
Tên môn học (tiếng Việt):
Nhập môn lập trình................................................
Tên môn học (tiếng Anh):
Introduction to Programming ................................ Mã môn học:
IT001 ..................................................................... Thuộc khối kiến thức:
Đại cương ; Cơ sở nhóm ngành ;
Cơ sở ngành ; Chuyên ngành ; Tốt nghiệp  Khoa/Bộ môn phụ trách:
Khoa Khoa học máy tính.......................................
Giảng viên phụ trách biên soạn: TS. Mai Tiến Dũng; Ths Huỳnh Thị Thanh Thương
Email: dungmt@uit.edu.vn; thuonghtt@uit.edu.vn Số tín chỉ: 4 Lý thuyết:
45 ........................................................................... Thực hành:
30 ........................................................................... Tự học:
30 ........................................................................... Môn học tiên quyết:
............................................................................... Môn học trước:
...............................................................................
2. MÔ TẢ MÔN HỌC (Course description)
Môn học sẽ cung cấp các kiến thức nền tảng về máy tính, tư duy và các kỹ năng căn
bản lập trình cho tất cả sinh viên các ngành Công nghệ thông tin.
Đối với hệ tài năng: sinh viên sẽ ược trang bị các kiến thức nâng cao về tư duy và
các kỹ năng lập trình thông qua một số bài toán có ộ phức tạp cao.
3. MỤC TIÊU MÔN HỌC (Course goals) Mục tiêu của môn học ược
thể hiện trong Bảng 1. Bảng 1. lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
Mục tiêu môn học hiệu Chuẩn ầu ra cấp ộ 3 trong CTĐT G1
Trang bị cho người học các khái niệm cơ bản về máy tính. 1.2.1
Trang bị cho người học khả năng tư duy và kỹ năng lập trình 1.2.1 G2
ể giải một số bài toán trên máy tính. G3
Trang bị cho người học khả năng sử dụng ngôn ngữ lập trình 2.1.2,
C++ ể viết chương trình giải một số bài toán trên máy tính. 2.1.3
4. CHUẨN ĐẦU RA MÔN HỌC (Course learning outcomes)
Sau khi hoàn thành môn học này, sinh viên có thể: Bảng 2. CĐRMH
Mô tả CĐRMH (Mục tiêu cụ thể)
Mức ộ giảng dạy T
Trình bày và giải thích ược các khái niệm cơ bản LO1
về lập trình trên máy tính. T
Áp dụng lưu ồ hay mã giả ể mô tả một số thuật LO 2
toán ơn giản; Diễn tả quá trình thực hiện thuật
toán trên bộ dữ liệu cụ thể T
Hiểu và áp dụng ược các quy ước của ngôn ngữ
lập trình (C++) như kiểu dữ liệu, các phép toán, LO 3
cấu trúc iều khiển, hàm, mảng, cấu trúc, con
trỏ, tập tin ể viết chương trình trên máy tính. TU
Sử dụng ược ngôn ngữ lập trình (C++) ể viết LO 4
chương trình trên máy tính giải một số bài toán cơ bản 2 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] TU
Có khả năng phát hiện lỗi và khắc phục lỗi khi LO 5 lập trình. U
Có khả năng ọc hiểu một số thuật ngữ tiếng Anh LO 6
chuyên ngành của môn học.
5. NỘI DUNG MÔN HỌC, KẾ HOẠCH GIẢNG DẠY (Course content, lesson plan)
- Thời lượng: Mỗi buổi học lý thuyết là 3 tiết. Mỗi buổi học thực hành là 5 tiết.
- 15 tuần lý thuyết và 6 buổi thực hành a. Lý thuyết Bảng 3. Buổi
Nội dung giảng dạy
CĐR Hoạt ộng dạy và Thành học MH học phần ánh (3 tiết) giá lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 1
Giới thiệu môn học và kế hoạch học tập LO 1, Dạy: A2
Giảng viên giới thiệu về môn học, số tín chỉ, cách LO 4 + Giới thiệu ề
ánh giá, tài liệu tham khảo, phần mềm thực hành cương môn học,
Chương 1. Giới thiệu tổng quan về máy tính và lập hình thức ánh trình giá môn học,
1.1 Tổng quan về máy tính - phổ biến các Máy tính là gì? quy ịnh của môn học, nội dung và
- Cấu trúc tổng quan của máy tính và các thiết bị kế hoạch học tập ngoại vi + GV thuyết - Phần mềm máy tính giảng, dùng slide minh họa.
- Thông tin ược biểu diễn và o lường như thế nào? Đặt câu hỏi thảo
Làm sao máy tính xử lý ược thông tin? luận trên lớp và ... trao ổi với SV
1.2 Các khái niệm cơ bản về lập trình: Học ở lớp: SV
- Lập trình máy tính, lập trình viên nghe giảng; Suy
- Chương trình máy tính, mã nguồn, mã máy - nghĩ và thảo Ngôn ngữ lập trình. luận nhằm hiểu rõ hơn vấn ề GV
- Chương trình dịch: Trình biên dịch, trình thông ặt ra. dịch, … Học ở nhà: Đọc
1.3 Các ngôn ngữ lập trình tài liệu và chuẩn
- Vai trò của NNLT ối với công nghệ lập trình. bị các câu hỏi
- Ngôn ngữ lập trình cấp thấp thảo luận trước buổi lên lớp
- Ngôn ngữ lập trình cấp cao
- Một vài ngôn ngữ lập trình thông dụng
1.4 Giới thiệu bước ầu về ngôn ngữ C++, chương trình C++ và công cụ
- Giới thiệu tổng quan về ngôn ngữ C++ (chưa i
vào chi tiết): Bộ từ vựng trong C++ như ký tự, từ
khóa, dấu, chú thích … quy ước ặt tên, cú 4 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
pháp, quy ước về kiểu dữ liệu và câu lệnh…
- Giới thiệu sơ lược về cấu trúc chương trình
- Giới thiệu môi trường, công cụ hỗ trợ việc lập
trình và cách sử dụng (như Visual Studio, Code: Blocks, Eclipse)
- Qui trình tổng quát viết, dịch, chạy thử chương trình
1.5 Một số ví dụ minh họa về chương trình C++ và chạy thử.
- Ví dụ 1: Nhập xuất ơn giản như “Hello World” (code: hello.cpp)
- Ví dụ 2: Chương trình có nhập xuất dữ liệu và
tính toán xử lý ơn giản như “Nhập ộ dài 2 cạnh
của hình chữ nhật, xuất diện tích của hình” (code: tinhdientich.cpp)
- Ví dụ 3: Chương trình phức tạp hơn, có sử dụng
vòng lặp: kiểm tra một số nguyên n có phải là số
nguyên tố không (code: kiemtrasnt.cpp)
1.6 Một số quy tắc cần nhớ khi viết chương trình
- Chương trình nên ược tách thành nhiều ơn thể
(mô-un), mỗi ơn thể thực hiện một công việc và càng ộc lập với nhau.
- Cách trình bày chương trình càng nhất quán sẽ
càng dễ ọc và dễ hiểu ( ịnh hướng về phong cách lập trình).
- Mỗi câu lệnh có thể viết trên một hay nhiều
dòng nhưng phải ược kết thúc bằng dấu ;
- Quy tắc viết lời giải thích, lời giải thích không
có tác dụng với sự làm việc của chương trình
trên máy tính, chỉ có tác dụng với người ọc
- Sử dụng các hàm chuẩn: sử dụng #include - Hàm chính main ….
1.7 Các vấn ề tìm hiểu mở rộng
- GV có thể giới thiệu thêm (như Các hệ ếm trên
máy tính, Chuyển ổi giữa các hệ ếm, Công nghệ
lập trình hiện ại và triển vọng tương lai, …) lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 2
Chương 2. Thuật toán LO 2 Dạy: GV thuyết A1, A2
2.1 Khái niệm về vấn ề/bài toán. Cho ví dụ giảng, trình
2.2 Các bước giải quyết vấn ề/bài toán bằng máy tính chiếu, ặt vấn ề và trao ổi; Hướng dẫn giải 6 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
2.3 Khái niệm về thuật toán bài tập trên lớp
2.4 Sự cần thiết của thuật toán về biểu diễn thuật toán ( ặc
2.5 Các tiêu chuẩn của thuật toán biệt chú ý lưu ồ
2.6 Các phương pháp biểu diễn thuật toán. - khối); Cho bài tập về nhà,
Dùng ngôn ngữ tự nhiên. hướng dẫn cách
- Dùng lưu ồ (GV tập trung chủ yếu là lưu ồ) thức làm và nộp bài tập. - Dùng mã giả
- So sánh ưu nhược iểm của các phương pháp Học ở lớp: SV
2.7 Một số ví dụ về thuật toán nghe giảng, thảo luận nhóm và
- Ví dụ 1: Vẽ lưu ồ thuật toán Kiểm tra tính chẵn làm bài tập trên lẻ của một số nguyên lớp
- Ví dụ 2: Vẽ lưu ồ thuật toán Tính tổng các số
nguyên dương lẻ từ 1 ến n Học ở nhà: Làm bài tập về nhà
- Ví dụ 3: Vẽ lưu ồ thuật toán Tìm nghiệm của của chương 2 và
phương trình bậc hai một ẩn nộp qua hệ
- Ví dụ 4: Vẽ lưu ồ thuật toán Liệt kê tất cả ước số thống website của số nguyên dương n môn học.
2.8 Lập bảng trên giấy ể theo dõi hoạt ộng của một thuật toán
- Chuẩn bị các bộ dữ liệu kiểm thử: dữ liệu nhập và kết quả mong ợi
- Chạy thử, ghi nhận kết quả, ánh giá úng sai
2.9 Độ phức tạp thuật toán:
- Phần này chỉ giới thiệu ở mức ộ ơn giản nếu có thời gian hoặc bỏ qua.
Bài tập chương bắt buộc (có hướng dẫn hay sửa): Vẽ lưu ồ
1. Giải phương trình bậc nhất ax+b=0
2. Kiểm tra một số nguyên n là số nguyên tố không?
3. Tính giá trị biểu thức: S 1 2 ... n
4. Nhập vào số nguyên dương n. Tính tổng các chữ số của số ó.
5. Tìm số lớn nhất trong 3 số lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
Bài tập chương (bắt buộc khác và làm thêm): xem trong thư mục Buoi02 8 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 3
Chương 2. Thuật toán (tt) Dạy: giảng viên
2.10. Các bài tập về thuật toán yêu cầu sinh viên giải bài tập
Các bài tập liên quan ến: các ước số của một số
nguyên, các chữ số, kiểm tra tính ối xứng của một tập Học: sinh viên
hợp, tìm kiếm trong một tập hợp. làm bài tập theo yêu cầu của GV lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 4
Chương 3. Các kiểu dữ liệu cơ sở và phép toán LO 1, Dạy: trình bày A1, A2, trong C++ LO 2, trên lớp, dùng A3, A4
3.1 Cấu trúc một chương trình máy tính slide minh họa LO 3, LO 4 và cho bài tập -
Các thành phần chính của chương trình viết các chương
- Ví dụ và giải thích một vài chương trình ơn trình ơn giản,
giản: khai báo biến, nhập, xuất, tính toán, chạy khai báo biến,
thử, bắt lỗi, sử dụng một số hàm trong thư viện. hằng
Chẳng hạn GV có thể lấy ví dụ tính diện tích
hình chữ nhật và giải thích. Học ở lớp: nghe giảng, thảo luận,
3.2 Các kiểu dữ liệu cơ sở làm và sửa bài
- Khái niệm Kiểu dữ liệu (KDL) tập
- Trình bày các kiểu dữ liệu cơ bản có trong ngôn Học ở nhà: Làm
ngữ lập C++, cho ví dụ minh họa về giá trị của và nộp bài tập KDL tương ứng. về nhà của 3.3 Biến chương 3 - Khái niệm biến
- Làm rõ sự khác nhau giữa khái niệm biến trong
toán học và biến trong lập trình - Khai báo biến
- Các (khái niệm) yếu tố liên quan ến biến:
+Tên biến: Các lưu ý về cách ặt tên biến như
không có khoảng trắng, không bắt ầu bằng
chữ số, không trùng tên với từ khóa, không trùng tên với hàm
+ Kiểu dữ liệu của biến + Giá trị của biến + Địa chỉ của biến.
+ Vị trí khai báo và phạm vi hoạt ộng của biến:
biến toàn cục, biến cục bộ (sẽ diễn giải chi
tiết hơn trong phần hàm)
+ Khái niệm về bộ nhớ và kích thước lưu trữ
biến (lưu ý: kích thước này phụ thuộc vào môi trường biên dịch) 10 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
- Các loại biến: biến thường, biến con trỏ (con trỏ
chỉ là 1 biến và giá trị của nó là ịa chỉ), biến
tham chiếu (biến này cũng chỉ là 1 biến nhưng
nó không ược cấp phát ô nhớ riêng và dung
chung ô nhớ với biến gốc) (phần biến con trỏ và
biến tham chiếu sẽ nói chi tiết thêm trong các phần sau)
- Khai báo biến và khởi tạo giá trị biến: cho ví dụ
và giải thích giá trị của biến trong các trường
hợp: int x; int y=5; int z=y; x=y; int*p=&x; int &m=x;
- Biến và toán tử gán. Chú ý phân biệt toán tử gán
với khái niệm ẳng thức trong toán học. Cho ví dụ và diễn giải. 3.4 Hằng: - Khái niệm về hằng
- Cách khai báo hằng: dùng #define và const (biến
hằng), cho ví dụ minh họa và chỉ ra phân biệt sự khác nhau giữa hai cách.
- Một số loại hằng: Hằng dấu phẩy ộng (float,
double) như 213.45, 1E8, -49.5e-2, hằng int,
hằng long như -489L, hằng int hệ 8 hệ 16, hằng
ký tự, hằng chuỗi ký tự
- Lưu ý về sử dụng #define: ây là một
“Preprocessor definition”, nghĩa là nó sẽ thay
thế vào chương trình khi biên dịch. Cho ví dụ minh họa. 3.5 Các phép toán
- Phép toán số học, quan hệ và logic, phép thao
tác bit, phép toán tăng giảm một ơn vị, toán tử
iều kiện, chuyển ổi kiểu dữ liệu, ép kiểu. Cho ví dụ minh họa
- Thứ tự ưu tiên của các phép toán. Cho ví dụ minh họa. 3.6 Biểu thức - Khái niệm biểu thức.
- Phân biệt: câu lệnh gán và biểu thức gán.
(lưu ý: mọi biểu thức ều có giá trị kết quả)
3.7 Những vấn ề liên quan ến ký tự và chuỗi lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 3.8 Nhập xuất dữ liệu 12 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
- Trình bày nhập xuất: dùng cin/cout
- Trình bày nhập xuất dùng printf/scanf
- Khuyến cáo SV nên dùng cin/cout
3.9 Một số ví dụ về chương trình liên quan ến nhập xuất, các phép toán …
- Ví dụ 1: Chương trình nhập vào Họ tên sinh
viên (chuỗi ký tự), năm sinh (số nguyên) và iểm
trung bình (số thực). Sau ó in các thông tin này ra màn hình.
- Ví dụ 2: Chương trình nhập vào 2 số nguyên x
và y, tính và in ra giá trị của tổng, tích, thương,
ép kiểu khi tính thương và tính phần dư của x và y.
- Ví dụ 3: Chương trình nhập vào 3 cạnh của tam
giác, tính toán và in ra chu vi và diện tích của
tam giác (mục ích là có sử dụng hàm sqrt và include thư viện)
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình nhập vào giá trị ộ
F(Fahreneit), chuyển ổi từ nhiệt ộ F sang nhiệt
ộ C (Selsius) theo công thức: C = 5*(F - 32) / 9
2. Viết chương trình nhập vào 2 số nguyên, sau ó
in ra tổng bình phương của chúng.
3. Viết chương trình nhập vào bán kính R của
ường tròn. Tính và in ra chu vi và diện tích.
4. Viết chương trình nhập vào một số nguyên 3
chữ số (từ 100 - 999), sau ó in ra các chữ số
thuộc hàng trăm, hàng chục, hàng ơn vị.
5. Giải thích kết quả các câu lệnh sau: int i = 5, j = 4; double f ;
f = (double)i / j; f = i / (double)j;
f = (double)i / (double)j; f = (double)(i / j); lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
Bài tập chương (bắt buộc khác và làm thêm): xem trong thư mục Buoi04 14 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 5
Chương 4. Các cấu trúc iều khiển LO 2, Dạy: trình bày A1, A2, LO 3, trên lớp, dùng lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
4.1 Khái niệm câu lệnh và khối lệnh trong lập trình. LO 4, slide minh họa, A3, A4 LO 5, cho bài tập sử
4.2 Phạm vi hoạt ộng của biến (trong các khối lệnh) và LO 6 dụng các lệnh if, ví dụ minh họa switch, hướng
4.3 Cấu trúc rẽ nhánh if, if-else dẫn vẽ lưu ồ
4.4 Cấu trúc rẽ nhánh switch-case Học ở lớp: nghe
4.5 Một số ví dụ minh họa về cấu trúc rẽ nhánh (có giảng, thảo luận, hướng dẫn vẽ lưu ồ) làm và sửa bài tập -
Ví dụ 1: Viết chương trình Kiểm tra tính chẵn, lẻ của một số nguyên Học ở nhà: làm
- Ví dụ 2: Viết chương trình Tính max của 2 số và nộp bài tập thực về nhà của
- Ví dụ 3: Viết chương trình Giải phương trình bậc chương 4 về cấu nhất trúc rẽ nhánh
- Ví dụ 4: Viết chương trình Xác ịnh học lực của
SV dựa trên iểm trung bình dùng switch-case
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình Nhập vào 3 số thực a, b, c.
In ra theo thứ tự tăng dần.
2. Viết chương trình Giải phương trình bậc hai ax2+bx+c=0
3. Viết chương trình Nhập ba số dương a, b, c, rồi
kiểm tra xem chúng có thể là ộ dài của các cạnh
của một tam giác hay không. Nếu có thì cho biết ó là tam giác gì?
4. Viết chương trình Tính tiền i taxi từ số km nhập
vào. Biết: 1 km ầu giá 15000 , từ km thứ 2 ến
km thứ 5 giá 13500 , từ km thứ 6 trở i giá
11000 , nếu trên 120km ược giảm 10% trên tổng số tiền.
5. Viết chương trình Nhập vào tháng và năm (năm
> 1975), kiểm tra tính hợp lệ của tháng, năm và
cho biết tháng ó có bao nhiêu ngày. 16 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
Bài tập chương (bắt buộc khác và làm thêm): xem lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] trong thư mục Buoi05 18 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 6
Chương 4. Các cấu trúc iều khiển (tt) LO 2, Dạy: trình bày A1, A2, 4.6 Cấu trúc lặp for LO 3, trên lớp, dùng A3, A4 LO 4, slide minh họa, 4.7 Cấu trúc lặp while LO 5, cho các bài tập
4.8 Cấu trúc lặp do-while LO 6 sử dụng các lệnh lặp for, while và
Lưu ý giải thích cách thức vận hành và iều kiện dừng do while, hướng của vòng lặp dẫn vẽ lưu ồ
4.9 Câu lệnh break, continue Học ở lớp: nghe
4.10 Một số ví dụ minh họa về cấu trúc lặp (có hướng giảng, thảo luận, dẫn vẽ lưu ồ) làm và sửa bài
- Ví dụ 1: Viết chương trình Nhập một số nguyên tập
dương n (có kiểm tra iều kiện nhập) và tính tổng S=1+2+…+ n Học ở nhà: làm - và nộp bài tập
Ví dụ 2: Viết chương trình Liệt kê tất cả các ước
số của số nguyên dương n về nhà của chương 4 về cấu
- Ví dụ 3: Viết chương trình Đếm số lượng chữ số trúc lặp của số nguyên dương n
- Ví dụ 4: Viết chương trình Kiểm tra số nguyên tố (có dùng break)
- Ví dụ 5: Viết chương trình In tất cả các số lẻ nhỏ
hơn 50 trừ các số 3,9,31 (có dùng continue) Bài
tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình nhập vào số nguyên dương n. Tính tổng: 1 S 1 1 ... 2 4 2n
2. Viết chương trình nhập vào số nguyên dương n. Tính tổng:
S= 1 + 1.2 + . . . . + 1.2.3….n
3. Viết chương trình liệt kê tất cả các số nguyên tố
nhỏ hơn giá trị N nhập từ bàn phím (N < 100).
4. Viết chương trình tính tổng các chữ số trong 1 số
Ví dụ: số 1234 có tổng S = 1 + 2 + 3 + 4 = 10
5. Tìm ước số chung lớn nhất của 2 số nguyên lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] dương a và b
Bài tập chương (bắt buộc khác và làm thêm): xem trong thư mục Buoi06 20 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 7
Chương 5. Hàm và tham số của hàm LO 2, Dạy: trình bày A1, A2, 5.1 Khái niệm Hàm LO 3, trên lớp, dùng A3, LO 4, slide minh họa, A4
- Phân biệt khái niệm hàm trong toán học và trong LO 5, giải thích lập trình LO 6 nguyên tắc hoạt
- Ví dụ về viết hàm trong lập trình ộng của hàm, cho bài tập về
- Một số quy ước liên quan ến hàm hàm và các
5.2 Vai trò và lợi ích của việc sử dụng hàm. Cho ví dụ trường hợp
minh họa sự cần thiết của việc sử dụng hàm truyền tham số cho hàm 5.3
Cấu trúc của hàm, quy tắc xây dựng và sử dụng hàm Học ở lớp: nghe
- Các khái niệm (yếu tố) liên quan ến ặc tả giảng, thảo luận,
hàm: tên hàm, kiểu giá trị của hàm, ối hay tham làm và sửa bài
số hình thức, thân hàm, khai báo nguyên mẫu tập
(prototype) của hàm, lời gọi hàm, tham số hình thức, tham số thực. Học ở nhà: Làm - và nộp bài tập
Quy tắc quan trọng liên quan ến việc xây dựng và sử dụng hàm về nhà của chương 5
- Biến toàn cục và biến cục bộ
- Nguyên tắc hoạt ộng của hàm.
5.4 Tham số và cách truyền tham số cho hàm: - Truyền tham trị - Truyền tham chiếu
(lưu ý cần giải thích cho sinh viên hiểu tại sao
không thay ổi và thay ổi ược giá trị của tham số thực)
5.5 Kết quả trả về của hàm (lưu ý trường hợp sử dụng
tham chiếu ể trả về giá trị cho hàm: phần này khó và OOP sẽ dạy rõ hơn)
- Câu lệnh return: cho ví dụ minh họa và giải
thích cơ chế lệnh return
5.6 Giới thiệu qua một số trường hợp ặc biệt: hàm
main, hàm không cho giá trị, hàm không ối, …
5.7 Một số ví dụ về ứng dụng hàm trong lập trình và
minh họa cách truyền tham số
- Ví dụ 1: Viết chương trình Hoán vị hai số lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] nguyên
- Ví dụ 2: Viết chương trình Tính tổng của 2 số
nguyên theo nhiều cách trả về giá trị của hàm
- Ví dụ 3: Viết chương trình nhập n và tính tổng
S(n) = x+x2+…+xn bằng kỹ thuật lập trình hàm
- Ví dụ 4: Viết chương trình liệt kê tất cả các số
nguyên tố nhỏ hơn giá trị N nhập từ bàn phím.
5.8 Giới thiệu một số hàm thông dụng có sẵn trong thư viện
Bài tập chương bắt buộc (có hướng dẫn hay sửa): Sử
dụng kỹ thuật lập trình hàm
1. Viết chương trình tính tổng các số nguyên tố
nhỏ hơn số nguyên dương n.
2. Tìm ước số chung lớn nhất và bội số chung nhỏ
nhất của 2 số nguyên dương a và b.
3. Viết chương trình giải phương trình bậc 2,
trong ó có sử dụng hàm tính delta.
4. Viết chương trình tìm nghiệm của phương trình
trùng phương trong ó có xây dựng hàm tìm
nghiệm của phương trình bậc 2. VD: 4x43x2- 1=0
5. Viết chương trình xác ịnh tính chất của 1 tam
giác (thường, cân, vuông, ều) dựa trên tọa ộ của
3 ỉnh, trong ó xây dựng hàm xác ịnh khỏang
cách giữa 2 iểm trên mặt phẳng
Bài tập chương (bắt buộc khác và làm thêm): xem trong thư mục Buoi07 22 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 8
Chương 5. Hàm và tham số của hàm (tt) LO 2, Dạy: trình bày A1, A2, 5.9 Khái niệm Hàm ệ quy LO 3, trên lớp, dùng A3, A4 LO 4, slide minh họa, 5.10 Các loại ệ quy LO 5, cho bài tập về ệ
5.11 Quy tắc xây dựng hàm ệ quy LO 6 quy
5.12. Nguyên tắc hoạt ộng của Hàm ệ quy 5.13 Học ở lớp: nghe
Một số ví dụ minh họa về ệ quy giảng, thảo luận,
- Ví dụ 1: Viết hàm ệ quy Tính tổng làm và sửa bài tập S 12 ... n lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
- Ví dụ 2: Viết hàm ệ quy Tính lũy thừa xn Học ở nhà: Làm - và nộp bài tập
Ví dụ 3: Viết chương trình Tính giai thừa của về nhà của
n. 5.14 Ưu khuyết iểm của phương pháp ệ quy chương 5 về ệ
5.15 Một số phương pháp khử ệ quy: dung vòng lặp, quy stack, …
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình Tính số hạng thứ n của dãy Fibonaci. Biết rằng: f(0) = f(1) = 1
f(n) = f(n – 1) + f(n – 2)
2. Tính giá trị biểu thức:
S 1 1*2 1*2*3... 1*2*...* n
3. Viết chương trình tìm ước số chung lớn nhất
của 2 số nguyên dương x và y bằng kỹ thuật ệ quy. USCLN (x, y) = x nếu x=y
USCLN (x, y) = USCLN (x-y, y) nếu x>y
USCLN (x, y) = USCLN (x, y- x) nếu x4. Viết hàm tính C (n, k) biết rằng :
C (n, k) = 1 nếu k=0 hoặc k=n C (n, k) = 0 nếu k>n
C (n, k) = C(n-1, k) + C(n-1, k-1) nếu 0
Bài tập chương (bắt buộc khác và làm thêm): xem trong thư mục Buoi08 24 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 9 Chương 6. Mảng LO 2, Dạy: trình bày A1, A2,
6.1 Giới thiệu về mảng trong lập trình, lợi ích của LO 3, trên lớp, dùng A3, A4 việc sử dụng mảng LO 4, slide minh họa, cho bài tập về
6.2 Khái niệm mảng và hình ảnh của mảng (1 chiều, LO 5, mảng 1 chiều ma trận) LO 6
6.3 Các yếu tố ể xác ịnh mảng: tên mảng, kiểu mảng, Học ở lớp: nghe
số chiều và kích thước mỗi chiều. Cho ví dụ và giảng, thảo luận,
diễn giải ý nghĩa các thành phần làm và sửa bài 6.4 Mảng 1 chiều tập
- Chỉ số mảng và truy xuất phần tử mảng Học ở nhà: làm lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
- Lấy ịa chỉ phần tử mảng và nộp bài tập - về nhà của
Khai báo, khởi tạo và sử dụng mảng chương 6 về
- Truyền mảng cho hàm và lời gọi hàm mảng 1 chiều
6.5 Các tác vụ trên mảng 1 chiều, một số kỹ thuật cơ
bản (như ặt lính canh, cờ hiệu, …) và ví dụ minh họa
- Ví dụ 1: Nhập, xuất mảng
- Ví dụ 2: Kiểm tra tính chất mảng
- Ví dụ 3: Tìm kiếm trên mảng
- Ví dụ 4: Đếm số lượng phần tử
- Ví dụ 5: Tính toán có iều kiện
Khác: Thêm, xóa, sửa, tách, ghép, sắp xếp mảng
(phần này GV có thể tùy chọn ể hướng dẫn thêm)
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Viết chương trình nhập vào một dãy tăng dần,
không cần sắp xếp. Nếu nhập sai yêu cầu sẽ
phải nhập lại và xuất các số nguyên tố có trong mảng.
2. Kiểm tra mảng có ối xứng hay không?
3. Liệt kê các giá trị xuất hiện trong mảng úng 1 lần.
4. Tìm vị trí của phần tử có giá trị âm lớn nhất trong mảng số nguyên.
5. Viết hàm xóa phần tử có chỉ số k trong mảng số
nguyên a có n phần tử. Nếu giá trị của k<0 hoặc
k>=n thì không xóa và hàm trả về giá trị 0.
Ngược lại ta xóa giá trị phần tử a[k] và hàm trả về giá trị 1.
Bài tập chương (bắt buộc khác và làm thêm): xem trong thư mục Buoi09 26 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 10
Chương 6. Mảng (tt) LO 2, Dạy: trình bày A1, A2, 6.6 Mảng hai chiều: LO 3, trên lớp, dùng A3,
- Chỉ số mảng và truy xuất phần tử mảng LO 4, A4 slide minh họa, LO 5, cho bài tập về lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
- Lấy ịa chỉ phần tử mảng LO 6 mảng 2 chiều - chuỗi.
Khai báo, khởi tạo và sử dụng mảng
- Một số khái niệm liên quan: ường chéo chính, Học ở lớp: nghe
ường chéo phụ, nửa trên/nửa dưới ường chéo giảng, thảo luận, chính, … làm và sửa bài - tập
Truyền mảng cho hàm và lời gọi hàm
6.7 Các tác vụ trên mảng 2 chiều và ví dụ minh họa Học ở nhà: làm
- Ví dụ 1: Nhập, xuất mảng và nộp bài tập về nhà của
- Ví dụ 2: Kiểm tra tính chất mảng: ối xứng qua
ường chéo chính, phụ,…) chương 6 về mảng 2 chiều và
- Ví dụ 3: In ra các phần tử lớn/nhỏ nhất của từng chuỗi dòng/cột 6.8 Chuỗi ký tự - Khái niệm - Khai báo, khởi tạo
- Nhập xuất chuỗi và một số hàm thông dụng trong thư viện
6.9 Các thao tác trên chuỗi ký tự và ví dụ minh họa
- Ví dụ 1: Nhập chuỗi s và ếm số lượng ký tự có trong chuỗi
- Ví dụ 2 Chuẩn hóa chuỗi họ tên bằng cách
chuyển ổi chữ in/thường
- Ví dụ 3: Nhập hai chuỗi, nối hai chuỗi lại và in
ra màn hình chuỗi kết quả.
Bài tập chương bắt buộc (có hướng dẫn hay sửa): Ma trận 1. Cộng 2 ma trận 2. Nhân 2 ma trận
3. Tính tổng các giá trị lớn nhất trên mỗi dòng. Chuỗi ký tự
4. Đếm số từ trong 1 chuỗi
5. Đổi kí tự ầu tiên của mỗi từ thành chữ in hoa 28 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
6. Bỏ các ký tự khoảng trắng thừa
Bài tập chương (bắt buộc khác và làm thêm): xem trong thư mục Buoi10 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 11
Chương 7: Cấu trúc LO 2, Dạy: trình bày A1, A2,
7.1 Đặt vấn ề: Ví dụ về Bài toán quản lý sinh viên, và LO 3, trên lớp, dùng A3,
diễn giải sự cần thiết của kiểu cấu trúc LO 4, slide minh họa, A4 LO 5, cho bài tập 7.2 Khái niệm Cấu trúc LO 6
7.3 Định nghĩa kiểu cấu trúc Học ở lớp: nghe giảng, thảo luận,
7.4 Khai báo, khởi tạo và sử dụng biến cấu trúc làm và sửa bài
7.5 Nhập xuất biến dữ liệu cấu trúc tập
7.6 Cấu trúc phức hợp (thành phần là mảng) và Mảng Học ở nhà: làm cấu trúc và nộp bài tập
7.7 Một số vấn ề liên quan khác: Phép gán, truyền về nhà của
cấu trúc cho hàm, kích thước của cấu trúc, … 7.8 chương
Một số ví dụ minh họa
- Ví dụ 1: Khai báo kiểu dữ liệu ể biểu diễn
thông tin của một Phân số, nhập/xuất phân số
và mảng phân số, rút gọn phân số, tính
tổng/hiệu hai phân số, …
- Ví dụ 2: Quản lý sinh viên (hay nhân viên): khai
báo, nhập/xuất danh sách, tìm kiếm, sắp xếp ơn giản, ….
Bài tập bắt buộc (có hướng dẫn hay sửa):
1. Khai báo kiểu dữ liệu Đơn thức, nhập/xuất ơn
thức, tính tổng/hiệu/tích/thương hai ơn thức,
tính giá trị ơn thức, tính ạo hàm cấp 1 của ơn thức, …
2. Khai báo kiểu dữ liệu iểm trong mặt phẳng
Oxy, nhập/xuất tọa ộ iểm/mảng iểm, Tính
khoảng cách giữa hai iểm, tìm 1 iểm trong
mảng gần/ xa gốc toạ ộ nhất, …
3. Hãy khai báo kiểu dữ liệu ể biểu diễn thông tin
của 1 tỉnh gồm mã tỉnh, tên tỉnh, dân số, diện
tích; nhập xuất thông tin 1 tỉnh và danh 30 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
sách tỉnh; xuất tỉnh có dân số lớn hơn 1 triệu,
tìm tỉnh có diện tích lớn nhất, …
Bài tập chương (bắt buộc khác và làm thêm): xem trong thư mục Buoi11 12 Chương 8: Con trỏ LO 2, Dạy: trình bày A1, A2,
8.1 Tổ chức quản lý lưu trữ trong bộ nhớ LO 3, trên lớp, dùng A3, A4 LO 4, slide minh họa, 8.2 Khái niệm con trỏ LO 5, cho bài tập, GV
8.3 Vai trò, tầm quan trọng của con trỏ LO 6 minh họa các ví
8.4 Khai báo biến con trỏ dụ có sử dụng con trỏ và yêu
8.5 Các phép toán trên con trỏ cầu sinh viên
8.6 Cấp phát và giải phóng ô nhớ giải thích các tình huống
8.6 Con trỏ và mảng một chiều tương ứng.
8.7 Một số ví dụ minh họa về con trỏ và cách sử dụng - Học ở lớp: nghe
Ví dụ 1: Con trỏ chứa ịa chỉ của 1 biến và có thể
thay ổi giá trị của biến: minh họa và giải thích giảng, thảo luận, làm và sửa bài
- Ví dụ 2: Con trỏ và mảng 1 chiều: cấp phát, truy tập
xuất các phần tử, giải phóng.
- Ví dụ 3: Liên quan ến cấp phát và giải phóng ô Học ở nhà: làm
nhớ; minh họa trường hợp hai biến con trỏ cùng và nộp bài tập
chứa 1 ịa chỉ và gỏi lệnh hủy 1 biến, khi ó giá trị về nhà của
biến còn lại sẽ bị sai. chương 8
8.8 Con trỏ và mảng nhiều chiều 8.9 Con trỏ và hàm số
8.10 Con trỏ và cấu trúc
8.11 Các vấn ề khác liên quan (mở rộng)
8.12 Một số ví dụ minh họa về con trỏ và cách sử dụng (t.t)
- Ví dụ 1: Sử dụng con trỏ và cấp phát mảng 2
chiều. Thao tác nhập và xuất ma trận sử dụng con trò
- Ví dụ 2: Con trỏ ược sử dụng trong tham số hàm
- Ví dụ 3: Con trỏ và cấu trúc: trường hợp cấu trúc
tự trỏ hoặc dùng con trỏ ể truy xuất các thuộc tính. lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Cho biết ý nghĩa của các khai báo và câu lệnh;
Tìm lỗi sai trong oạn code và giải thích
2. Cho mảng 1 chiều a có 10 phần tử, biến con trỏ
p trỏ tới mảng 1 chiều a. Hãy dùng con trỏ p ể
gán giá trị 100 cho phần tử thứ 5 của mảng.
Hãy viết chương trình nhập và xuất mảng 1
chiều thông qua con trỏ p.
3. Tạo biến str lưu chuỗi “hello class”, sau ó tạo
biến con trỏ p lưu trữ ịa chỉ ầu tiên của chuỗi.
Hãy thực hiện chuyển chuỗi str thành chuỗi ký
tự in hoa “HELLO CLASS” thông qua sử dụng con trỏ p.
4. Viết hàm nhập một dãy số thực A tùy ý trong ó
có sự cấp phát ộng. Viết hàm sao chép dãy số
thực A ( ược nhập bởi hàm trên) sang một dãy
B trong ó có sự giải phóng vùng nhớ cấp phát
ộng và cấp phát lại ở dãy B.
5. Làm lại các bài tập về mảng dùng con trỏ 32 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 13
Chương 9. Lập trình với tập tin LO 2, Dạy: trình bày A1, A2,
9.1 Khái niệm về tập tin dạng văn bản LO 3, trên lớp, dùng A3, A4 LO 4, slide minh họa,
9.2 Lợi ích của việc sử dụng tập tin văn bản thô ể lưu LO 5, cho bài tập
dữ liệu của chương trình LO 6
9.3 Hệ thống nhập xuất trong lập trình Học ở lớp: nghe
- Qui trình chung và cơ chế ọc ghi dữ liệu giảng, thảo luận, làm và sửa bài
- Các ối tượng và thao tác nhập xuất tập
9.4 Một số thao tác trên tập tin văn bản thô Học ở nhà: làm
- Đọc nội dung tập tin có sẵn và nộp bài tập
-Tạo tập tin ể ghi dữ liệu về nhà của
- Ghi thêm dữ liệu vào tập tin có sẵn chương 9
- Ghép nối nội dung các tập tin
9.4 Một số ví dụ minh họa việc sử dụng tập tin văn lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
bản thô ể lưu dữ liệu của chương trình
- Ví dụ 1: Nhập và xuất mảng số nguyên sử dụng tập tin
- Ví dụ 2: Nhập và xuất mảng cấu trúc (danh sách
sinh viên) sử dụng tập tin.
Bài tập chương bắt buộc (có hướng dẫn hay sửa):
1. Nhập một dãy số nguyên và ghi thành file
TEXT trên ĩa với tên file là “Integer.txt” theo yêu
cầu sau : Dòng ầu ghi dòng chữ: “Begin Day”,
dòng thứ hai ghi số phần tử của dãy, các phần tử
của dãy ược ghi ở các dòng tiếp theo, mỗi dòng
gồm 20 phần tử (dòng cuối cùng có thể ít hơn 20
phần tử), cuối cùng ghi thêm 1 dòng chữ: “End
Day”. Viết hàm ọc dữ liệu của dãy từ file và tìm
phần tử lớn nhất của dãy. 2. Nhập một ma trận
vuông và ghi thành file TEXT trên ĩa với tên file là
“matran.txt” theo yêu cầu sau : Dòng ầu ghi cấp
của ma trận, các dòng tiếp theo là mỗi dòng của
ma trận. Hai số kề nhau ược lưu bởi khoảng trắng.
Sau ó ọc file “matran.txt” ể tìm phần tử lớn nhất,
phần tử nhỏ nhất trong ma trận, và xuất ra dòng có
tổng số các phần tử là lớn nhất, …
3. Nhập một danh sách sinh viên (mỗi sinh viên có
mã, họ tên, năm sinh, iểm trung bình) và ghi
lên ĩa thành một tập tin. Viết hàm ọc file và
xuất ra danh sách, nhập thêm dữ liệu cho mẫu
tin của một sinh viên vào cuối tập tin, tìm kiếm sinh viên theo mã, … 34 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 14
Chương 10. Một số phương pháp giải bài toán trên máy tính 10.1 Vét cạn
a. Bài toán minh họa: tìm giá trị x trên dãy a có n phần tử
b. Bài toán nâng cao: cho dãy a = (a1, a2,
…, an) là 1 hoán vị của dãy (1, 2, …, n).
Tìm 1 hoán vị b=(b1, b2, …, bn) thỏa
(a!=b) && (|ai – bi| ≤ 1, 010.2 Chia ể trị
c. Bài toán minh họa: tìm kiếm nhị phân
d. Bài toán nâng cao 10.3 Qui hoạch ộng:
e. Bài toán minh họa: Tính số fibonacci thứ n f. Bài toán nâng cao
10.4 Giải thuật gần úng (heuristics) g. Bài toán minh họa
h. Bài toán nâng cao 15 Ôn tập LO 1, Dạy: trình bày A1, A2, LO 2, tóm tắt các nội A3, A4 LO 3, dung chính và LO 4, hướng dẫn giải LO 5, bài tập LO 6 Học ở lớp: nghe giảng, làm bài tập và trao ổi với giảng viên. b. Thực hành Bảng 4. Buổi Nội dung CĐRMH
Hoạt ộng dạy và học Thành học phần ánh (5 tiết) giá lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 1 Bài tập 1: LO 1,
Dạy: GV hướng dẫn cho A2 (5 tiết)
sinh viên sử dụng công cụ • LO 2,
Làm quen với công cụ lập LO 3,
lập trình và viết chương trình. LO 5, trình ơn giản.
Học: Sinh viên thực hiện • LO 6
Viết và biên dịch một theo hướng dẫn chương trình ơn giản.
• Biên dịch và khắc phục một số lỗi thường gặp. 2 (5 Bài tập 2: LO 3, Dạy: GV hướng dẫn cho A2 tiết)
sinh viên theo nội dung bài • LO 4,
Viết chương trình tính toán LO 5, tập. ơn giản. LO 6
Học: Sinh viên thực hiện theo hướng dẫn
• Viết chương trình sử dụng if, if-else 3 (5 Bài tập 3: LO 3, Dạy: GV hướng dẫn cho A2 tiết)
sinh viên theo nội dung bài • LO 4,
Viết chương trình sử dụng LO 5, tập.
cấu trúc iều kiện phức tạp LO 6
Học: Sinh viên thực hiện theo hướng dẫn
• Viết chương trình sử dụng
cấu trúc vòng lặp for, while, do while 4 (5 Bài tập 4: LO 3, Dạy: GV hướng dẫn cho A2 tiết) LO 4,
sinh viên theo nội dung bài
Viết chương trình sử dụng hàm LO 5, tập. số. LO 6
Học: Sinh viên thực hiện theo hướng dẫn 5 (5 Bài tập 5: LO 3, Dạy: GV hướng dẫn cho A2 tiết) LO 4,
sinh viên theo nội dung bài
Viết chương trình liên quan LO 5, tập. ến mảng một chiều LO 6
Học: Sinh viên thực hiện theo hướng dẫn 36 lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 6 (5 Bài tập 6: LO 3, Dạy: GV hướng dẫn cho A2 tiết)
sinh viên theo nội dung bài • LO 4,
Viết chương trình sử dụng LO 5, tập.
mảng một chiều và chuỗi LO 6
Học: Sinh viên thực hiện theo hướng dẫn
• Viết chương trình sử dụng cấu trúc lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
6. ĐÁNH GIÁ MÔN HỌC (Course assessment)
10.5 Khung thông tin về kiểm tra ánh giá kết quả học tập Thành Thời Hình thức Công cụ Trọng Thang CĐR
Tiêu chí ánh giá hệ
Tiêu chí ánh giá hệ
Tiêu chí ánh giá hệ tài iểm phần kiểm tra KTĐG TĐG số iểm MH ại trà chất lượng cao năng
Nội dung thông tin Nội dung thông tin Nội dung thông tin
trong câu trả lời thể trong câu trả lời thể trong câu trả lời thể
hiện ược các thông hiện ược các thông tin hiện ược các thông tin Bài tập Làm bài trên
tin phù hợp với yêu phù hợp với yêu cầu phù hợp với yêu cầu trên lớp;
LO 2, cầu của câu hỏi. Bài của câu hỏi. của câu hỏi. bảng, trên A1 Quá trình Câu hỏi 10%
LO 3, làm ảm bảo tính Bài làm ảm bảo tính Bài làm ảm bảo tính giấy; Trả lời 10 kiểm tra
chính xác, ầy ủ và chính xác, ầy ủ và úng
chính xác, ầy ủ và úng câu hỏi; LO 4 kiến thức.
úng theo phương theo phương pháp ược theo phương pháp ược
pháp ược yêu cầu. yêu cầu. yêu cầu. (thang iểm tối a
(thang iểm tối a 10/10); (thang iểm tối a 10/10); 10/10); Câu hỏi LO 1, Nội dung thông tin Nội dung thông tin Nội dung thông tin Làm bài trên kiểm tra
LO 2, trong câu trả lời thể trong câu trả lời thể trong câu trả lời thể giấy; kiến thức
hiện ược các thông tin hiện ược các thông tin hiện ược các thông tin A2 Giữa kỳ LO 3, Thời gian 60 20% và tư duy
LO 4, phù hợp với yêu cầu phù hợp với yêu cầu phù hợp với yêu cầu phút về lập LO 6 của câu hỏi. của câu hỏi. của câu hỏi. trình. Chương trình phải
Chương trình phải thực Chương trình phải thực thực hiện ược các
hiện ược các chức năng hiện ược các chức năng Chương trình chức năng mà bài mà bài tập yêu cầu mà bài tập yêu cầu máy tính có LO 3, tập yêu cầu (thang (thang iểm tối a (thang iểm tối a Thực khả năng Bài tập lập LO 4, A3 20% iểm tối a 8/10); 8/10); 8/10); hành 10 thực hiện các trình; LO 5, Quản lý code và Quản lý code và Quản lý code và yêu cầu của LO 6 phương pháp code
phương pháp code hiệu phương pháp code hiệu bài tập hiệu quả (thang iểm quả (thang iểm tối a quả (thang iểm tối a 2/10); tối a 2/10); 2/10); A4 Cuối kỳ 50% Bảng 5.
Downloaded by Mai Le Thi Nguyet (hoathanvu729@gmail.com) lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1] 23 Làm bài viết trên Giấy thi kết hợp trắc nghiệm. Thời gian 90
LO 1, Nội dung trong bài Nội dung trong bài làm Nội dung trong bài làm
phút, căn cứ Câu hỏi tự
LO 2, làm ảm bảo tính ảm bảo tính chính xác, ảm bảo tính chính xác, luận; Câu LO 3, A4.2 Lý thuyết trên nội 40%
chính xác, ầy ủ và ầy ủ và phù hợp với ầy ủ và phù hợp với hỏi có tính 10 dung giảng
LO 4, phù hợp với yêu cầu yêu cầu của nội dung yêu cầu của nội dung toán; dạy theo ề
LO 5, của nội dung câu hỏi. câu hỏi. câu hỏi. cương bài LO 6 giảng chi tiết và các bài tập bắt buộc. Chương trình phải thực hiện ược các LO 3, chức năng mà bài tập yêu cầu (thang Thực
Chương trình Đồ án môn LO 4, A4.2 10% iểm tối a 8/10); hành 10 máy tính; học LO 5, Quản lý code và LO 6 phương pháp code hiệu quả (thang iểm tối a 2/10); 24
Downloaded by Mai Le Thi Nguyet (hoathanvu729@gmail.com) lOMoAR cPSD| 40425501
[Mẫu ĐCMH-2015-1]
7. QUY ĐỊNH CỦA MÔN HỌC (Course requirements and expectations)
Hoàn thành bài tập theo yêu cầu của giảng viên.
8. TÀI LIỆU THAM KHẢO
1. C++ Programming, 5th Edition, DS Malik, 2011
(https://docs.google.com/file/d/0BxbayAAcS8IiMWxuN3pJLTlpUHM/edit )
2. Thinking in C++, Bruce Eckel, ebook.
(http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html )
3. Theory and Problems of Fundamentals of Computing with C++, John R.Hubbard,
Schaum’s Outlines Series, McGraw-Hill, 1998.
4. http://www.cplusplus.com/doc/tutorial/
9. PHẦN MỀM HAY CÔNG CỤ HỖ TRỢ THỰC HÀNH
- Sử dụng phần mềm Code::Blocks (http://www.codeblocks.org/) -
Hệ thống nộp bài tập thực hành wecode online judge.
Tp.HCM, ngày 24 tháng 08 năm 2018
Trưởng khoa/bộ môn
Giảng viên biên soạn (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) 25
Downloaded by Mai Le Thi Nguyet (hoathanvu729@gmail.com)