Đề 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. 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
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:
de_cuong_mon_nhap_mon_ve_lap_trinh_introduction_to_computer.pdf

