Đề cương môn Nhập môn về lập trình (Introduction to computer programming)

Đại Học Quốc Gia TP.HCM  
Trường Đại Học Bách Khoa  
Khoa KH&KT Máy Tính  
Vietnam National University – HCMC  
Ho Chi Minh City University of Technology  
Faculty of Computer Science and Engineering  
Đề cương môn học  
NHẬP MÔN VỀ LẬP TRÌNH  
(Introduction to computer programming)  
Số tín chỉ  
Số tiết  
3 (3.2.7)  
Tổng: 60  
MSMH CO1003  
LT: 30  
TH:  
KT:  
TN: 30  
BTL/TL: Y  
Môn ĐA, TT, LV  
Tỉ lệ đánh giá  
BT:  
TN: 30%  
BTL/TL: 30% Thi: 40%  
Hình thức đánh giá  
- Thí nghiệm: sinh viên làm trước các bài thí nghiệm ở nhà; các bài thí  
nghiệm được chấm theo cách được nêu trong cột cuối cùng của bảng  
danh mục các thí nghiệm, được trình bày ở phần sau, gần cuối bản đề  
cương. Điểm tổng kết phần thí nghiệm là điểm trung bình của các bài  
thí nghiệm và điểm bài kiểm tra tổng hợp ở buổi thí nghiệm cuối  
cùng.  
- Bài tập lớn: Sinh viên phải hoàn thành 01 bài tập lớn theo nhóm, từ 3-5  
sinh viên. Đề bài tập lớn được phổ biến ngay từ đầu. Sinh viên trao đổi  
cách làm bài với giảng viên trong các buổi Lý thuyết và Thí nghiệm.  
Giảng viên sẽ sử dụng hệ thống kiểm tra sự trùng mã nguồn ở mức cú  
pháp từ Đại Học Standford, Mỹ để kiểm tra việc copy của sinh viên.  
Nếu vi phạm các nhóm có copy đều bị 0 điểm môn này.  
- Thi: viết và trắc nghiệm, 90 phút  
Môn tiên quyết  
Môn học trước  
Môn song hành  
Không  
Không  
Không  
CTĐT ngành  
Trình độ đào tạo  
Đại học  
Cấp độ môn học  
Cấp độ 1 (dạy cho sinh viên năm 1)  
Sinh viên không được vắng quá 40% số buổi thì nghiệm. Sinh viên sẽ  
Ghi chú khác  
nhận điểm 0 cho cột điểm tổng kết môn học nếu vi phạm quy định này.  
1. 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, dành cho sinh viên chưa có kiến thức nào về lập trình  
trước đó. Môn học giúp sinh viên có kiến thức về máy tính và lập trình C, cũng như giúp sinh viên  
rèn luyện kỹ năng lập trình với ngôn ngữ C.  
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 on computer and  
1/13  
computer programming with C. It also helps students to practise programming skills for using C  
language.  
2. Nội dung tóm tắt môn học  
• Kiến thức tổng quan về máy tính và lập trình  
• Kiểu dữ liệu trong C, bao gồm, số, ký tự, chuỗi, enum, mảng, con trỏ và tập tin.  
• Nhập và xuất dữ liệu trong C  
• Các cấu trúc điều khiển  
• Tổ chức chương trình  
Course outline:  
• Overview knowledge on computer and computer programming  
• Data types in C, including number, character, string, enum, array, pointer and file.  
• Input and output in C  
• Control structures  
• Program organization  
3. Tài liệu học tập  
Sách, Giáo trình chính:  
[1] “C: How to Program”, 7th Ed. – Paul Deitel and Harvey Deitel, Prentice Hall, 2012.  
Sách tham khảo:  
[1] “The C Programming Language”, 2nd Ed. – Brian W. Kernighan and Dennis M. Ritchie,  
Prentice Hall, 1988  
[2] “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.  
[4] CodingUnit.com, Online at http://www.codingunit.com/  
4. 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  
Hiểu tổng quan về Máy tính, lập trình, các bước trong lập trình, và một  
chương trình C điển hình  
CDIO  
L.O.1  
L.O.1.1 – Biết được cấu trúc cơ bản về phần cứng của máy tính.  
L.O.1.2 – Giải thích được các bước trong quá trình quy trình phát triển  
chương trình máy tính.  
L.O.1.3 – Liệt kê được các công cụ phần mềm hổ trợ các bước trong quá  
trình nói trên.  
L.O.1.4 – Biết được cấu trúc và hiểu được các thành phần của một chương  
trình viết bằng ngôn ngữ lập trình C.  
L.O.1.5 – Vận dụng được các nguyên tắc trong phong cách lập trình để  
viết được các chương trình trong sáng và dễ đọc.  
L.O.1.6 – Liệt kê được các kiểu dữ liệu cơ bản trong C và ghi ra giá trị  
điển hình của các kiểu đó trong mã nguồn.  
L.O.1.7 – Sử dụng được các hàm để đọc dữ liệu từ bàn phím và xuất dữ  
2/13  
liệu ra màn hình.  
L.O.1.8 – Biết được những nguyên tắc để viết ra mã giả mô tả giải thuật.  
L.O.1.9 – Liệt kê được tên của các cấu trúc điều khiển trong lập trình có  
cấu trúc.  
L.O.2  
Sử dụng các kiểu dữ liệu trong C  
L.O.2.1 – Biết được tên và các thuộc tính của các kiểu dữ liệu cơ bản về  
số, ký tự, enum và logic (logic trong mở rộng của C, C++).  
L.O.2.2 – Khai báo được các biến và hằng.  
L.O.2.3 – Xác định và giải thích rõ các kiểu lưu trữ biến.  
L.O.2.4 – Sử dụng được các toán tử có thể thực hiện được với các kiểu dữ  
liệu để thành lập biểu thức.  
L.O.2.5 – Nhập được giá trị của các biến từ bàn phím và xuất được giá trị  
của các biến ra màn hình (nhắc lại có nâng cao).  
L.O.2.6 – Định nghĩa được các kiểu có cấu trúc và sử dụng chúng.  
Mô tả và hiện thực được giải thuật  
L.O.3  
L.O.3.1 – Liệt kê được các kiểu điều khiển và vẽ sơ đồ mô tả chúng.  
L.O.3.2 – Mô tả được được nguyên tắc kết hợp các kiểu điều khiển để mô  
tả các giải thuật.  
L.O.3.3 – Hiện thực được các kiểu điều khiển bằng ngôn ngữ C.  
L.O.3.4 – Sử dụng các cấu trúc điều khiển để giải quyết bài toán thực tế.  
L.O.3.5 – Hiện thực được các giải thuật đệ quy bằng ngôn ngữ C và hiểu  
được nguyên tắc hoạt động của nó.  
L.O.4  
L.O.5  
Tổ chức được các chương trình lớn viết bằng ngôn ngữ lập trình C  
L.O.4.1 – Xác định được thành phần của một hàm.  
L.O.4.2 – Hiện thực được giải thuật dưới dạng hàm.  
L.O.4.3 – Giải thích được các kiểu truyền tham số trong C.  
L.O.4.4 – Tổ chức được các chương trình lớn, gồm nhiều hàm.  
Sử dụng được kiểu dữ liệu mảng (dữ liệu nâng cao)  
L.O.5.1 – Khai báo được mảng các giá trị.  
L.O.5.2 – Mô tả được cách tổ chức bộ nhớ của các phần tử trong mảng.  
L.O.5.3 – Truy xuất được các phần tử của mảng và dùng nó trong biểu  
thức.  
L.O.5.4 – Hiểu được cách truyền một mảng vào hàm.  
Sử dụng được kiểu dữ liệu con trỏ (dữ liệu nâng cao)  
L.O.6  
L.O.7  
L.O.6.1 – Khai báo được con trỏ.  
L.O.6.2 – Truy xuất được dữ liệu qua con trỏ.  
L.O.6.3 – Giải thích được cách cấp phát bộ nhớ động.  
L.O.6.4 – Sử dụng được các phép toán trên con trỏ.  
L.O.6.5 – Sử dụng được con trỏ của con trỏ khác.  
L.O.6.6 – Dùng được con trỏ với kiểu cấu trúc.  
L.O.6.7 – Hiểu được sự liên quan giữa con trỏ và mảng.  
Sử dụng được file để lưu trữ dữ liệu  
L.O.7.1 – Khai báo được kiểu tập tin.  
L.O.7.2 – Giải thích được các kiểu mở và đóng tập tin.  
L.O.7.3 – Giải thích được nguyên tắc làm việc với tập tin.  
L.O.7.4 – Hiện thực được bằng C để lấy dữ liệu từ tập tin hay để ghi dữ  
liệu vào tập tin.  
L.O.7.5 – Sử dụng được C để giải quyết bài toán trong thực tế.  
L.O.7.6 – Sử dụng được macro.  
Index  
Course Learning Outcomes  
CDIO  
L.O.1  
Comprehensive understanding about computer, computer programming,  
3/13  
programming’s tasks, and a typical C program.  
L.O.1.1 – List basic components of computers and describe their  
functionality.  
L.O.1.2 – Explain tasks for creating computer programs.  
L.O.1.3 – List supporting tools for creating computer programs  
L.O.1.4 – Describe basic components of C programs.  
L.O.1.5 – Utilize guidelines in coding styles to make C programs clear and  
readable.  
L.O.1.6 – List fundamental data types of C, and write their literal constants  
in source code.  
L.O.1.7 – Use library functions to read data from keyboard and to write  
data to screen.  
L.O.1.8 – Identity basic components of algorithms described by  
pseudocode.  
L.O.1.9 – List all control structures used in structural programming.  
Use data types supported in C  
L.O.2  
L.O.2.1 – Identify fundamental data types and their attributes in C  
L.O.2.2 – Declare variables and constants.  
L.O.2.3 – Identify and explain the storage location of variables.  
L.O.2.4 – Formulate expressions from variables, literal constants and  
operators supported for the data type of the variables.  
L.O.2.5 – Read the value of variables from keyboard and write the  
variables’ value to screen.  
L.O.2.6 – Define new data types using “struct” and use them in C  
programs.  
L.O.3  
L.O.4  
Describe and implement algorithms  
L.O.3.1 – List all control structures and draw their flowchart.  
L.O.3.2 – Describe principles for combining different control structures in  
algorithms.  
L.O.3.3 – Implement control structures in C.  
L.O.3.4 – Use control structures to solve problems in real-life.  
L.O.3.5 – Implement recursive algorithms in C and explain the principle  
under their working.  
Organize large problems written in C.  
L.O.4.1 – Identify basic components of functions in C.  
L.O.4.2 – Write algorithms using C function  
L.O.4.3 – Explain different types of parameter passing in C.  
L.O.4.4 – Organize large programs, composed of a large number of  
functions.  
L.O.5  
L.O.6  
Use array data type  
L.O.5.1 – Declare variable with array.  
L.O.5.2 – Explain memory layout of array variables.  
L.O.5.3 – Access elements in arrays and use them in expressions.  
L.O.5.4 – Explain the method to pass arrays to functions.  
Use pointer data type  
L.O.6.1 – Declare pointers.  
L.O.6.2 – Access data via pointers.  
L.O.6.3 – Explain dynamic memory allocation.  
L.O.6.4 – Use pointer’s operators.  
L.O.6.5 – Use pointer to other pointers.  
L.O.6.6 – Use pointer with struct data type.  
L.O.6.7 – Explain the relationship between pointer and array.  
Use file data type and other combination skills  
L.O.7  
4/13  
L.O.7.1 – Declare files.  
L.O.7.2 – Explain file’s opening modes.  
L.O.7.3 – Explain the principle for working with files.  
L.O.7.4 – Implement C functions to read data from files and to write data  
to files.  
L.O.7.5 – Use C to solve problems in real-life.  
L.O.7.6 – Use macro in C.  
5. 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 học tập bao gồm: đề cương môn học, slide bài giảng, bài thí nghiệm, và bài tập lớn  
được lưu trữ trên máy chủ quản lý tư liệu học tập của khoa (trường). Sinh viên tải về, in ra  
và mang theo khi lên lớp học.  
• Cho mỗi chương hay mỗi bài thí nghiệm, sinh viên cần đọc qua “chuẩn đầu ra của môn học”  
cho phần đó. Sinh viên phải đạt hết các chuẩn đó thì phần học hay thí nghiệm mới được xem  
như đạt. Sinh viên nên trao đổi với giảng viên và các TA về các chuẩn chưa đạt được.  
• Sinh viên cần đọc bài học (sách), slide và làm bài thí nghiệm (bắt buộc) trước khi đến lớp .  
Sinh viên nộp bài thí nghiệm lên máy chủ, và có thể chỉnh sửa trên lớp và nộp lại sau.  
• Sinh viê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ỳ. Đặc biệt, sinh viên không được vắng quá 40% số buổi thí nghiệm.  
Sinh viên sẽ nhận điểm 0 cho môn học này nếu vi phạm quy định này.  
Chi tiết cách đánh giá môn học:  
• Thí nghiệm: sinh viên làm trước các bài thí nghiệm ở nhà; các bài thí nghiệm được chấm  
theo cách được nêu trong cột cuối cùng của bảng danh mục các thí nghiệm, được trình bày ở  
phần sau, gần cuối bản đề cương. Điểm tổng kết phần thí nghiệm là điểm trung bình của các  
bài thí nghiệm và điểm bài kiểm tra tổng hợp ở buổi thí nghiệm cuối cùng.  
• Bài tập lớn: Sinh viên phải hoàn thành 01 bài tập lớn theo nhóm, từ 3-5 sinh viên. Đề bài  
tập lớn được phổ biến ngay từ đầu. Sinh viên trao đổi cách làm bài với giảng viên và TA  
trong các buổi Lý thuyết và Thí nghiệm. Giảng viên sẽ sử dụng hệ thống kiểm tra sự trùng  
mã nguồn ở mức cú pháp từ Đại Học Standford, Mỹ, để kiểm tra việc copy của sinh viên.  
Nếu vi phạm các nhóm có copy đều bị 0 điểm môn này.  
• Thi cuối kỳ: viết và trắc nghiệm, 90 phút  
6. Dự kiến danh sách Cán bộ tham gia giảng dạy  
7. Nội dung chi tiết  
Nội dung phần lý thuyết  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy và học  
Hoạt động  
đánh giá  
L.O.1.1 – Biết được - Giảng lý thuyết  
cấu trúc cơ bản về phần - Bài tập trên lớp  
cứng của máy tính.  
L.O.1.2 – Giải thích  
được các bước trong  
quá trình quy trình phát  
triển chương trình máy  
tính.  
- Bài thí nghiệm  
- Bài tập lớn  
- Thi cuối kỳ  
1
Chương 1. Giới thiệu về máy tính và  
lập trình  
1.1. Tổ chức máy tính  
1.2. Ngôn ngữ lập trình  
1.3. Các công việc trong lập trình  
1.4. Giải thuật và dữ liệu  
1.5. Bài tập  
5/13  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy và học  
Hoạt động  
đánh giá  
Yêu cầu tự học đ/v sinh viên: 8 giờ  
L.O.1.3 – Liệt kê được  
các công cụ phần mềm  
hổ trợ các bước trong  
quá trình nói trên.  
L.O.1.8 – Biết được  
những nguyên tắc để  
viết ra mã giả mô tả  
giải thuật.  
L.O.1.9 – Liệt kê được  
tên của các cấu trúc  
điều khiển trong lập  
trình có cấu trúc.  
L.O.1.4 – Biết được - Giảng lý thuyết  
cấu trúc và hiểu được - Bài tập trên lớp  
các thành phần của một  
chương trình viết bằng  
ngôn ngữ lập trình C.  
- Bài thí nghiệm  
- Bài tập lớn  
- Thi cuối kỳ  
2
Chương 2. Cấu trúc và thành phần  
của chương trình C  
2.1. Chương trình C đơn giản  
2.2. Phong cách lập trình  
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
2.3. Dữ liệu và kết xuất trong C  
2.4. Dữ liệu và đọc dữ liệu trong C  
2.5. Xử lý dữ liệu đơn giản  
2.6. Bài tập  
Yêu cầu tự học đ/v sinh viên: 8 giờ  
L.O.1.6 – Liệt kê được  
các kiểu dữ liệu cơ bản  
trong C và ghi ra giá trị  
điển hình của các kiểu  
đó trong mã nguồn.  
L.O.1.7 – Sử dụng  
được các hàm để đọc  
dữ liệu từ bàn phím và  
xuất dữ liệu ra màn  
hình.  
L.O.2.1 – Biết được - Giảng lý thuyết  
tên và các thuộc tính - Bài tập trên lớp  
của các kiểu dữ liệu cơ  
bản về số, ký tự, enum  
và logic (logic trong  
mở rộng của C, C++).  
L.O.2.2 – Khai báo  
được các biến và hằng.  
L.O.2.3 – Xác định và  
giải thích rõ các kiểu  
lưu trữ biến.  
- Bài thí nghiệm  
- Bài tập lớn  
- Thi cuối kỳ  
3-4  
Chương 3. Tổ chức dữ liệu trong  
chương trình  
3.1. Dữ liệu và kiểu dữ liệu  
3.2. Biến và khai báo biến  
3.3. Lưu trữ biến, stack  
3.4. Định nghĩa hằng  
3.5. Phép toán và biểu thức  
3.6. Kiểu cấu trúc  
3.7. Bài tập  
L.O.2.4 – Sử dụng  
được các toán tử có thể  
thực hiện được với các  
kiểu dữ liệu để thành  
lập biểu thức.  
Yêu cầu tự học đ/v sinh viên: 16 giờ  
L.O.2.5 – Nhập được  
giá trị của các biến từ  
bàn phím và xuất được  
giá trị của các biến ra  
màn hình (nhắc lại có  
nâng cao).  
L.O.2.6 – Định nghĩa  
được các kiểu có cấu  
trúc và sử dụng chúng.  
L.O.3.1 – Liệt kê được - Giảng lý thuyết  
các kiểu điều khiển và - Bài tập trên lớp  
vẽ sơ đồ mô tả chúng.  
L.O.3.2 – Mô tả được  
được nguyên tắc kết  
hợp các kiểu điều khiển  
- Bài thí nghiệm  
- Bài tập lớn  
- Thi cuối kỳ  
5
Chương 4. Cấu trúc rẽ nhánh  
4.1. Cấu trúc if và if-else  
4.2. Cấu trúc if lồng nhau  
4.3. Cấu trúc switch  
6/13  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy và học  
Hoạt động  
đánh giá  
4.4. Bài tập  
để mô tả các giải thuật.  
L.O.3.3 – Hiện thực  
được các kiểu điều  
khiển bằng ngôn ngữ  
C.  
Yêu cầu tự học đ/v sinh viên: 8 giờ  
L.O.3.4 – Sử dụng các  
cấu trúc điều khiển để  
giải quyết bài toán thực  
tế.  
L.O.3.1 – Liệt kê được - Giảng lý thuyết  
các kiểu điều khiển và - Bài tập trên lớp  
vẽ sơ đồ mô tả chúng.  
L.O.3.2 – Mô tả được  
được nguyên tắc kết  
hợp các kiểu điều khiển  
để mô tả các giải thuật.  
L.O.3.3 – Hiện thực  
được các kiểu điều  
khiển bằng ngôn ngữ  
C.  
- Bài thí nghiệm  
- Bài tập lớn  
- Thi cuối kỳ  
6-7  
Chương 5. Các cấu trúc lặp  
5.1. Cấu trúc while  
5.2. Cấu trúc for  
5.3. Cấu trúc do-while  
5.4. Sự lồng nhau của các cấu trúc  
5.5. Bài tập  
Yêu cầu tự học đ/v sinh viên: 16 giờ  
L.O.3.4 – Sử dụng các  
cấu trúc điều khiển để  
giải quyết bài toán thực  
tế.  
8, 9 Kiểm tra giữa kỳ  
L.O.4.1 – Xác định - Giảng lý thuyết  
được thành phần của - Bài tập trên lớp  
một hàm.  
L.O.4.2 – Hiện thực  
được giải thuật dưới  
dạng hàm.  
L.O.4.3 – Giải thích  
được các kiểu truyền  
tham số trong C.  
- Bài thí nghiệm  
- Bài tập lớn  
- Thi cuối kỳ  
10-  
11  
Chương 6. Tổ chức chương trình  
6.1. Dùng các hàm thư viện  
6.2. Một hàm đơn giản  
6.3. Các thành phần của hàm  
6.4. Truyền tham số bằng trị  
6.5. Đệ quy  
6.6. Tổ chức chương trình  
6.7. Bài tập  
L.O.4.4  
– Tổ chức  
được các chương trình  
lớn, gồm nhiều hàm.  
Yêu cầu tự học đ/v sinh viên: 16 giờ  
L.O.3.5 – Hiện thực  
được các giải thuật đệ  
quy bằng ngôn ngữ C  
và hiểu được nguyên  
tắc hoạt động của nó.  
L.O.5.1 – Khai báo - Giảng lý thuyết  
- Bài thí nghiệm  
- Bài tập lớn  
- Thi cuối kỳ  
12-  
13  
Chương 7. Sử dụng mảng (array)  
7.1. Khai báo mảng một chiều  
7.2. Tổ chức bộ nhớ  
được mảng các giá trị.  
L.O.5.2 – Mô tả được  
cách tổ chức bộ nhớ  
của các phần tử trong  
mảng.  
- Bài tập trên lớp  
7.3. Truy xuất các phần tử  
7.4. Mảng ký tự (chuỗi)  
7.5. Mảng nhiều chiều  
L.O.5.3 – Truy xuất  
được các phần tử của  
mảng và dùng nó trong  
biểu thức.  
7.6. Truyền mảng như tham số  
7.7. Bài tập  
L.O.5.4 – Hiểu được  
cách truyền một mảng  
vào hàm.  
Yêu cầu tự học đ/v sinh viên: 16 giờ  
L.O.6.1 – Khai báo  
được con trỏ.  
L.O.6.2 – Truy xuất  
được dữ liệu qua con  
trỏ.  
L.O.6.3 – Giải thích  
được cách cấp phát bộ  
nhớ động.  
14-  
16  
Chương 8. Sử dụng con trỏ  
8.1. Khai báo và gán trị cho con trỏ  
8.2. Lưu trữ biến, heap  
8.3. Cấp phát và thu hồi bộ nhớ  
8.4. Các phép toán với con trỏ  
8.5. Truyền con trỏ vào hàm  
7/13  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy và học  
Hoạt động  
đánh giá  
8.6. Con trỏ và cấu trúc  
8.7. Con trỏ và mảng  
L.O.6.4 – Sử dụng  
được các phép toán  
trên con trỏ.  
L.O.6.5 – Sử dụng  
được con trỏ của con  
trỏ khác.  
8.8. Con trỏ hàm (tự đọc)  
8.9. Bài tập  
Yêu cầu tự học đ/v sinh viên: 16 giờ  
L.O.6.6 – Dùng được  
con trỏ với kiểu cấu  
trúc.  
L.O.6.7 – Hiểu được  
sự liên quan giữa con  
trỏ và mảng.  
L.O.7.1 – Khai báo - Giảng lý thuyết  
- Bài thí nghiệm  
- Bài tập lớn  
- Thi cuối kỳ  
17  
Chương 9. Sử dụng tập tin  
9.1. Khai báo tập tin  
được kiểu tập tin.  
- Bài tập trên lớp  
L.O.7.2 – Giải thích  
được các kiểu mở và  
đóng tập tin.  
L.O.7.3 – Giải thích  
được nguyên tắc làm  
việc với tập tin.  
L.O.7.4 – Hiện thực  
được bằng C để lấy dữ  
liệu từ tập tin hay để  
ghi dữ liệu vào tập tin.  
L.O.7.5 – Sử dụng  
được C để giải quyết  
bài toán trong thực tế.  
L.O.7.6 – Sử dụng  
được macro.  
9.2. Mở và đóng tập tin  
9.3. Lưu trữ và trích xuất dữ liệu  
9.4. Sử dụng macro  
9.5. Bài tập  
Yêu cầu tự học đ/v sinh viên: 16 giờ  
18  
**  
Review  
Nội dung giới hạn cho kiểm tra giữa  
kỳ (tập trung)  
Chương 1 – 5  
Ứơc tính số giờ SV cần chuẩn bị để  
kiểm tra giữa kỳ: 16  
**  
Nội dung thi cuối kỳ (tập trung)  
Chương 6 – 9  
Ứơc tính số giờ SV cần chuẩn bị để thi  
cuối kỳ: 16  
Nội dung phần thí nghiệm  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy/học  
Hoạt động  
đánh giá  
1
L.O.1.2 – Giải thích  
được các bước trong  
quá trình quy trình phát  
triển chương trình máy  
tính.  
L.O.1.3 – Liệt kê được  
các công cụ phần mềm  
hổ trợ các bước trong  
quá trình nói trên.  
L.O.1.4 – Biết được  
cấu trúc và hiểu được  
các thành phần của một  
chương trình viết bằng  
ngôn ngữ lập trình C.  
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 1  
1.1. Làm quen với IDE  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
1.2. Luyện tập các công việc trong  
lập trình: tạo tập tin mã nguồn,  
biên dịch, v.v.  
chuyên cần,  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
1.3. Luyện tập việc in ra các hằng số  
thuộc các kiểu khác nhau.  
1.4. Luyện tập việc đọc giá trị từ bàn  
➢
Sinh viên:  
phím.  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
(đề lấy từ hệ thống  
máy chủ quản lý tư  
1.5. Luyện tập sử dụng một số hàm  
thư viện  
1.6. Luyện tập phong cách lập trình  
Yêu cầu tự học đ/v sinh viên:  
8/13  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy/học  
Hoạt động  
đánh giá  
trình để viết được các liệu học tập).  
chương trình trong - Trình bày lời giải  
sáng và dễ đọc.  
cho giảng viên.  
L.O.1.6 – Liệt kê được - Nộp lời giải cho  
các kiểu dữ liệu cơ bản giảng viên ở cuối  
trong C và ghi ra giá trị buổi hay nộp trên hệ  
điển hình của các kiểu thống máy chủ.  
đó trong mã nguồn.  
L.O.1.7 – Sử dụng  
được các hàm để đọc  
dữ liệu từ bàn phím và  
xuất dữ liệu ra màn  
hình.  
2
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
L.O.2.1 – Biết được  
tên và các thuộc tính  
của các kiểu dữ liệu cơ  
bản về số, ký tự, enum  
và logic (logic trong  
mở rộng của C, C++).  
L.O.2.2 – Khai báo  
được các biến và hằng.  
L.O.2.3 – Xác định và  
giải thích rõ các kiểu  
lưu trữ biến.  
L.O.2.4 – Sử dụng  
được các toán tử có thể  
thực hiện được với các  
kiểu dữ liệu để thành  
lập biểu thức.  
L.O.2.5 – Nhập được  
giá trị của các biến từ  
bàn phím và xuất được  
giá trị của các biến ra  
màn hình (nhắc lại có  
nâng cao).  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 2  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
2.1. Luyện tập khai báo biến và hằng  
với các kiểu dữ liệu cơ bản  
chuyên cần,  
2.2. Đọc và xuất giá trị của biến  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
2.3. Phát triển việc xử lý dữ liệu đơn  
giản  
2.4. Luyện tập phong cách lập trình  
Yêu cầu tự học đ/v sinh viên:  
➢
Sinh viên:  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
(đề lấy từ hệ thống  
máy chủ quản lý tư  
liệu học tập).  
- Trình bày lời giải  
cho giảng viên.  
- Nộp lời giải cho  
giảng viên ở cuối  
buổi hay nộp trên hệ  
thống máy chủ.  
3
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
L.O.2.6 – Định nghĩa  
được các kiểu có cấu  
trúc và sử dụng chúng.  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 3  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
3.1. Định nghĩa kiểu dữ liệu có cấu  
trúc  
chuyên cần,  
3.2. Khai báo biến với kiểu mới  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
3.3. Truy xuất các thành phần của cấu  
trúc  
3.4. Luyện tập phong cách lập trình  
Yêu cầu tự học đ/v sinh viên:  
➢
Sinh viên:  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
(đề lấy từ hệ thống  
máy chủ quản lý tư  
liệu học tập).  
- Trình bày lời giải  
cho giảng viên.  
- Nộp lời giải cho  
9/13  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy/học  
Hoạt động  
đánh giá  
giảng viên ở cuối  
buổi hay nộp trên hệ  
thống máy chủ.  
4
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
L.O.3.2 – Mô tả được  
được nguyên tắc kết  
hợp các kiểu điều khiển  
để mô tả các giải thuật.  
L.O.3.3 – Hiện thực  
được các kiểu điều  
khiển bằng ngôn ngữ  
C.  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 4  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
4.1. Luyện tập sử dụng cấu trúc if, if-  
else, và switch  
chuyên cần,  
4.2. Luyện tập việc lồng nhau giữa  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
các cấu trúc rẽ nhánh  
4.3. Luyện tập phong cách lập trình  
Yêu cầu tự học đ/v sinh viên:  
➢
Sinh viên:  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
(đề lấy từ hệ thống  
máy chủ quản lý tư  
liệu học tập).  
L.O.3.4 – Sử dụng các  
cấu trúc điều khiển để  
giải quyết bài toán thực  
tế.  
- Trình bày lời giải  
cho giảng viên.  
- Nộp lời giải cho  
giảng viên ở cuối  
buổi hay nộp trên hệ  
thống máy chủ.  
5
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
L.O.3.2 – Mô tả được  
được nguyên tắc kết  
hợp các kiểu điều khiển  
để mô tả các giải thuật.  
L.O.3.3 – Hiện thực  
được các kiểu điều  
khiển bằng ngôn ngữ  
C.  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 5  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
5.1. Luyện tập sử dụng các cấu trúc  
lặp: for, while, và do-while  
chuyên cần,  
5.2. Luyện tập việc lồng nhau giữa  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
các cấu trúc rẽ nhánh  
5.3. Luyện tập phong cách lập trình  
Yêu cầu tự học đ/v sinh viên:  
➢
Sinh viên:  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
(đề lấy từ hệ thống  
máy chủ quản lý tư  
liệu học tập).  
L.O.3.4 – Sử dụng các  
cấu trúc điều khiển để  
giải quyết bài toán thực  
tế.  
- Trình bày lời giải  
cho giảng viên.  
- Nộp lời giải cho  
giảng viên ở cuối  
buổi hay nộp trên hệ  
thống máy chủ.  
6
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
L.O.4.1 – Xác định  
được thành phần của  
một hàm.  
L.O.4.2 – Hiện thực  
được giải thuật dưới  
dạng hàm.  
L.O.4.3 – Giải thích  
được các kiểu truyền  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 6  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
6.1. Sử dụng hàm thư viện  
6.2. Định nghĩa hàm và gọi hàm  
chuyên cần,  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
6.3. Truyển tham số vào hàm, bằng  
kiểu truyển bằng trị  
6.4. Luyện tập phong cách lập trình  
Yêu cầu tự học đ/v sinh viên:  
➢
Sinh viên:  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
10/13  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy/học  
Hoạt động  
đánh giá  
tham số trong C.  
(đề lấy từ hệ thống  
L.O.4.4  
– Tổ chức máy chủ quản lý tư  
được các chương trình liệu học tập).  
lớn, gồm nhiều hàm.  
- Trình bày lời giải  
cho giảng viên.  
- Nộp lời giải cho  
giảng viên ở cuối  
buổi hay nộp trên hệ  
thống máy chủ.  
7
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
L.O.3.5 – Hiện thực  
được các giải thuật đệ  
quy bằng ngôn ngữ C  
và hiểu được nguyên  
tắc hoạt động của nó.  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 7  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
7.1. Luyện tập sử dụng hàm đệ quy  
7.2. Luyện tập phong cách lập trình  
Yêu cầu tự học đ/v sinh viên:  
chuyên cần,  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
➢
Sinh viên:  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
(đề lấy từ hệ thống  
máy chủ quản lý tư  
liệu học tập).  
- Trình bày lời giải  
cho giảng viên.  
- Nộp lời giải cho  
giảng viên ở cuối  
buổi hay nộp trên hệ  
thống máy chủ.  
8
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
L.O.5.1 – Khai báo  
được mảng các giá trị.  
L.O.5.2 – Mô tả được  
cách tổ chức bộ nhớ  
của các phần tử trong  
mảng.  
L.O.5.3 – Truy xuất  
được các phần tử của  
mảng và dùng nó trong  
biểu thức.  
L.O.5.4 – Hiểu được  
cách truyền một mảng  
vào hàm.  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 8  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
8.1. Khai báo mảng  
8.2. Truy xuất các phần tử của màng  
8.3. Kết hợp mảng và array  
chuyên cần,  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
8.4. Luyện tập truyền mảng vào/ra  
hàm  
8.5. Luyện tập phong cách lập trình  
➢
Sinh viên:  
Yêu cầu tự học đ/v sinh viên:  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
(đề lấy từ hệ thống  
máy chủ quản lý tư  
liệu học tập).  
- Trình bày lời giải  
cho giảng viên.  
- Nộp lời giải cho  
giảng viên ở cuối  
buổi hay nộp trên hệ  
thống máy chủ.  
9
L.O.1.5 – Vận dụng  
được các nguyên tắc  
trong phong cách lập  
trình để viết được các  
chương trình trong  
sáng và dễ đọc.  
➢
Bài thực hành số 9  
9.1. Khai báo con trỏ  
9.2. Luyện tập sử dụng con trỏ trong  
tổ chức dữ liệu  
9.3. Luyện tập phong cách lập trình  
L.O.6.1 – Khai báo  
được con trỏ.  
11/13  
Tuần  
Nội dung  
Chuẩn đầu ra chi tiết  
Hoạt động  
dạy/học  
Hoạt động  
đánh giá  
L.O.6.2 – Truy xuất  
được dữ liệu qua con  
trỏ.  
L.O.6.3 – Giải thích  
được cách cấp phát bộ  
nhớ động.  
L.O.6.4 – Sử dụng  
được các phép toán  
trên con trỏ.  
L.O.6.5 – Sử dụng  
được con trỏ của con  
trỏ khác.  
L.O.6.6 – Dùng được  
con trỏ với kiểu cấu  
trúc.  
L.O.6.7 – Hiểu được  
sự liên quan giữa con  
trỏ và mảng.  
10  
L.O.7.1 – Khai báo  
được kiểu tập tin.  
L.O.7.2 – Giải thích  
được các kiểu mở và  
đóng tập tin.  
L.O.7.3 – Giải thích  
được nguyên tắc làm  
việc với tập tin.  
L.O.7.4 – Hiện thực  
được bằng C để lấy dữ  
liệu từ tập tin hay để  
ghi dữ liệu vào tập tin.  
L.O.7.5 – Sử dụng  
được C để giải quyết  
bài toán trong thực tế.  
L.O.7.6 – Sử dụng  
được macro.  
➢
Thầy/Cô:  
Đánh giá trên  
thái độ tham gia  
thí nghiệm,  
Bài thực hành số 10  
- Hướng dẫn làm bài  
tiêu biểu.  
- Phân tích và chỉnh  
sửa bài giải của sinh  
viên làm trước ở nhà  
(lấy ngẫu nhiên)  
10.1.Luyện tập sử dụng file để lưu trữ  
dữ liệu của một bài toán thực  
chuyên cần,  
10.2.Luyện tập sử dụng macro  
coding style, và  
bài giải của sinh  
viên trên file nộp  
ở máy chủ hay  
file nộp trực tiếp  
tại lớp.  
➢
Sinh viên:  
- Làm trước bài tập ở  
nhà và chép file mang  
theo, cũng như nộp  
lên hệ thống máy chủ  
(đề lấy từ hệ thống  
máy chủ quản lý tư  
liệu học tập).  
- Trình bày lời giải  
cho giảng viên.  
- Nộp lời giải cho  
giảng viên ở cuối  
buổi hay nộp trên hệ  
thống máy chủ.  
Review  
**  
Nội dung báo cáo tiểu luận/thực  
hành  
Yêu cầu đ/v sinh viên: Sinh viên làm  
trước ở nhà và nộp lên máy chủ, cũng  
như có thể chỉnh sửa và nộp trực tiếp  
cho giảng viên  
**  
**  
Nội dung giới hạn cho kiểm tra giữa  
kỳ (tập trung)  
Không có  
Nội dung thi cuối kỳ (tập trung)  
(Uớc tính số giờ SV cần để chuẩn bị  
cho kỳ thi: )  
8. Thông tin liên hệ  
Bộ môn/Khoa phụ trách Bộ Môn Khoa Học Máy Tính – Khoa KH&KT Máy Tính  
Văn phòng  
12/13  
Điện thoại  
38647256 - 5839  
Giảng viên phụ trách  
Email  
Lê Thành Sách  
Tp. Hồ Chí Minh, ngày 05 tháng 08 năm 2014  
TRƯỞNG KHOA  
CHỦ NHIỆM BỘ MÔN  
CB PHỤ TRÁCH LẬP ĐỀ CƯƠNG  
13/13  
pdf 13 trang myanh 26360 Free
Bạn đang xem tài liệu "Đề cương môn Nhập môn về lập trình (Introduction to computer programming)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfde_cuong_mon_nhap_mon_ve_lap_trinh_introduction_to_computer.pdf