Đề cương môn học Nhập môn lập trình

FIT-HCMUS  
CDIO  
ĐỀ CƯƠNG MÔN HỌC  
CTT003 – Nhập môn lập trình  
1. THÔNG TIN CHUNG  
Tên môn học (tiếng Việt):  
Tên môn học (tiếng Anh):  
Mã môn học:  
Nhập môn lập trình....................................................  
Introduction to Programming.....................................  
CTT003.....................................................................  
Giáo dục đại cương ...................................................  
BCN Khoa ................................................................  
..................................................................................  
Thuộc khối kiến thức:  
Bộ môn phụ trách:  
Giảng viên phụ trách:  
Giảng viên tham gia giảng dạy: Giảng viên các bộ môn (đã được chuẩn bị) ................  
Số tín chỉ:  
Lý thuyết:  
4 tín chỉ.....................................................................  
45 tiết........................................................................  
30 tiết........................................................................  
90 tiết........................................................................  
Thực hành:  
Tự học:  
Tính chất của môn (bắt buộc Bắt buộc....................................................................  
hay tự chọn):  
Điều kiện đăng ký:  
Học song hành với Nhập môn công nghệ thông tin 1 .  
2. MỤC TIÊU MÔN HỌC  
Sau khi học xong môn học, sinh viên có khả năng:  
-
-
-
-
Hiểu các khái niệm cơ bản như thuật toán, lưu đồ, mã giả, ngôn ngữ lập trình, chương trình,  
trình dịch, chương trình thực thi, phần mềm máy tính ;  
Hiểu và ứng dụng được các kiểu dữ liệu cơ sở, các phép toán và những cấu trúc điều khiển  
cơ bản của một ngôn ngữ lập trình (NNLT) cụ thể ;  
Chạy thử trên giấy các thuật toán đã được mô tả sẵn bằng lưu đồ hay mã giả, ứng dụng lưu  
đồ hay mã giả để mô tả một số thuật toán đơn giản ;  
Viết chương trình cài đặt các thuật toán bằng NNLT nói trên, dịch, chạy thử, bắt lỗi và sửa  
chữa những chương trình đã viết ;  
Đề cương môn học Nhập môn lập trình  
Trang 1  
FIT-HCMUS  
CDIO  
-
Ứng dụng các hàm (hay thủ tục, chương trình con) để tổ chức chương trình thành các đơn thể  
có thể dùng lại nhiều lần trong các đồ án phần mềm ;  
-
Vận dụng được một vài kỹ thuật cơ bản (xử lý lặp, tính toán truy hồi, duyệt mảng, dùng cờ  
hiệu…) để xây dựng thuật toán và cài đặt chương trình giải quyết một số vấn đề thông dụng  
và không quá phức tạp ;  
-
Sử dụng được tập tin dạng văn bản ASCII để lưu trữ dữ liệu của chương trình.  
3. NỘI DUNG MÔN HỌC  
Chuẩn đầu ra  
môn học  
Nội dung  
Chương 1. Giới thiệu tổng quan về lập trình  
1.1. Khái niệm về chương trình máy tính  
1.1.1. Chương trình mã thực thi  
L5, L10, L17  
1.1.2. Chương trình nguồn  
1.1.3. Dịch chương trình  
1.2. Các ngôn ngữ lập trình  
1.2.1. Ngôn ngữ lập trình cấp thấp  
1.2.2. Ngôn ngữ lập trình cấp cao  
1.2.3. Một vài ngôn ngữ lập trình thông dụng  
1.3. Các khái niệm cơ bản về lập trình  
1.3.1. Nghề lập trình: mã nguồn và lập trình viên  
1.3.2. Minh họa bằng một chương trình đơn giản  
1.3.3. Qui trình tổng quát viết, dịch, chạy thử chương trình  
1.3.4. Các môi trường hỗ trợ công việc lập trình  
1.4. Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  
1.4.1. Công nghệ lập trình hiện đại và triển vọng tương lai  
1.4.2. Cài đặt một môi trường hỗ trợ lập trình  
1.4.3. Thuật ngữ chuyên ngành liên quan đến lập trình  
L16  
Đề cương môn học Nhập môn lập trình  
Trang 2  
FIT-HCMUS  
CDIO  
Chuẩn đầu ra  
Nội dung  
môn học  
1.5. Thuật ngữ tiếng Anh và bài đọc thêm tiếng Anh  
L1, L2  
-
-
Tự đọc, hiểu và tóm tắt, trình bày lại các bài viết, bài báo ở mức độ  
tổng quan về công nghệ lập trình ;  
Cài đặt được một môi trường hỗ trợ lập trình (bao gồm trình soạn  
thảo mã nguồn, trình dịch, chạy thử, chạy bắt lỗi) ;  
Kỹ năng cá nhân  
L5, L6  
-
-
Chạy thử được chương trình đơn giản đã viết sẵn ;  
Chạy theo dõi từng dòng lệnh (chế độ bắt lỗi) các chương trình đơn  
giản đã viết sẵn.  
-
Hỗ trợ các sinh viên trong nhóm về việc cài đặt môi trường lập  
trình, chạy thử chương trình, liên lạc với trợ giảng hay quản trị viên  
để nhận phần mềm hay các tài liệu hướng dẫn việc thiết lập, cài đặt  
công cụ và môi trường thực hành.  
Kỹ năng nhóm  
L14, L27  
Chương 2. Sử dụng những kiểu dữ liệu cơ sở trong chương trình  
2.1. Cấu trúc một chương trình máy tính  
2.1.1. Các thành phần chính của chương trình  
2.1.2. Kiểu dữ liệu, hằng và biến trong chương trình  
2.1.3. Qui ước đặt tên các thực thể trong chương trình  
2.1.4. Khái niệm về bộ nhớ và kích thước lưu trữ biến  
2.2. Chương trình đơn giản  
L5, L10, L18  
2.2.1. Khai báo biến  
2.2.2. Nhập, xuất, tính toán  
2.2.3. Chạy thử, bắt lỗi, đóng gói, giao nộp  
2.3. Các kiểu dữ liệu cơ sở và phép toán  
2.3.1. Giới thiệu các loại dữ liệu cùng với phép toán, hàm  
2.3.2. Phép gán và lệnh viết ngắn  
2.3.3. Định dạng dữ liệu nhập xuất  
2.3.4. Độ lớn, độ chính xác, vấn đề tràn số (overflow)  
2.4. Những vấn đề liên quan đến ký tự và chuỗi  
2.4.1. Các kiểu ký tự: ASCII và UNICODE  
Đề cương môn học Nhập môn lập trình  
Trang 3  
FIT-HCMUS  
CDIO  
Chuẩn đầu ra  
Nội dung  
môn học  
2.4.2. Chuỗi ký tự 8-bit  
2.4.3. Chuỗi ký tự nhiều byte  
2.5. Các hàm thông dụng có sẵn trong thư viện  
2.5.1. Hàm toán học  
2.5.2. Hàm về ký tự và chuỗi  
2.6. Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  
2.6.1. Lịch sử phát triển dữ liệu cơ sở theo NNLT  
2.6.2. Chuẩn lưu trữ vật lý của các loại dữ liệu cơ sở  
2.6.3. Lỗ hổng bảo mật trong mã nguồn  
L16  
2.6.4. Sự khác biệt, tương đồng giữa các NNLT  
2.7. Thuật ngữ tiếng Anh và bài đọc thêm tiếng Anh  
L1, L2  
Sử dụng thuần thục các kiểu dữ liệu cơ sở trong lập trình, hiểu rõ và  
Kỹ năng cá nhân kiểm soát được các trường hợp tràn số, vượt quá biên cho phép của từng  
kiểu dữ liệu cụ thể.  
Đọc mã nguồn của các thành viên trong nhóm và có thể phát hiện được  
Kỹ năng nhóm  
các lỗi tràn số, vượt quá biên, các nguy cơ về lỗ hổng bảo bảo mật trong  
chương trình.  
L14, L27  
Chương 3. Giới thiệu về các cấu trúc điều khiển  
3.1. Khối lệnh trong lập trình  
L5, L10, L19  
3.1.1. Ví dụ về khối lệnh  
3.1.2. Khái niệm namespace  
3.1.3. Phạm vi sử dụng của biến  
3.1.4. Biến cục bộ, toàn cục, nguyên tắc sử dụng  
3.2. Dùng cấu trúc rẽ nhánh trong lập trình  
3.2.1. Các dạng cấu trúc rẽ nhánh (if else và switch case)  
3.2.2. Bảng quyết định và cấu trúc rẽ nhánh  
3.3. Xử lý lặp trong lập trình  
3.3.1. Các dạng cấu trúc lặp (while, do while, for)  
Đề cương môn học Nhập môn lập trình  
Trang 4  
FIT-HCMUS  
CDIO  
Chuẩn đầu ra  
Nội dung  
môn học  
3.3.2. Điều kiện dừng vòng lặp  
3.3.3. Các chỉ thị can thiệp vào vòng lặp  
3.4. Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  
3.4.1. Tránh sự nhập nhằng và khó hiểu trong mã nguồn  
3.4.2. Các chỉ thị đặc biệt bao hàm cấu trúc điều khiển  
3.4.3. Cấu trúc điều khiển cấp cao trong các NNLT  
3.4.4. Sự khác biệt, tương đồng giữa các NNLT  
L16  
3.5. Thuật ngữ tiếng Anh và bài đọc thêm tiếng Anh  
L1, L2  
-
Nắm vững bản chất của các cấu trúc điều khiển trong lập trình để  
cài đặt các thuật toán. Kiểm soát chặt chẽ được điều kiện dừng của  
các cấu trúc lặp;  
Kỹ năng cá nhân  
Kỹ năng nhóm  
-
Hiểu rõ và biết cách dùng thích hợp biến cục bộ, biến toàn cục khi  
viết chương trình.  
Chương 4. Hàm và kỹ thuật tổ chức chương trình  
L5, L10, L11,  
L20  
4.1. Giới thiệu  
- Khái niệm về hàm, chương trình con trong chương trình  
- Ví dụ về viết hàm trong lập trình  
4.2. Truyền tham số cho hàm  
- Tham số giá trị  
- Tham số dạng tham chiếu  
- Lời gọi hàm và kết quả trả về của hàm  
4.3. Biến toàn cục và biến cục bộ  
- Sử dụng biến cục bộ  
- Trường hợp biến cục bộ tĩnh  
- Dữ liệu nhập, dữ liệu xuất, dữ liệu trung gian  
4.4. Các ví dụ về ứng dụng hàm trong lập trình  
4.5. Hàm trong chương trình nhiều tập tin mã nguồn  
- Tổ chức chương trình nhiều tập tin mã nguồn  
Đề cương môn học Nhập môn lập trình  
Trang 5  
FIT-HCMUS  
CDIO  
Chuẩn đầu ra  
Nội dung  
môn học  
- Ví dụ về chương trình nhiều tập tin nguồn  
- Phạm vi dùng của hàm và biến toàn cục  
4.6. Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  
- Vấn đề hàm trùng tên  
L16  
- Hàm với giá trị mặc định của tham số  
- Hàm có tham số kiểu dữ liệu  
- Hàm có tham số là hàm  
- Khái niệm về hàm đệ qui  
- Sự khác biệt, tương đồng giữa các NNLT  
4.7. Thuật ngữ tiếng Anh và bài đọc thêm tiếng Anh  
L1, L2  
-
Bước đầu áp dụng hàm, thủ tục để viết các chương trình giải quyết  
một số bài toán thông thường.  
Kỹ năng cá nhân  
-
-
Hiểu rõ về vấn đề hiệu ứng lề của biến toàn cục  
L24, L25  
Biết cách phân chia, tổ chức chương trình thành các đơn thể có thể  
tái sử dụng.  
-
Kỹ năng làm việc cộng tác trong một nhóm nhỏ thông qua việc:  
phân chia công việc lập trình giải một bài toán, vấn đề nào đó thành  
các việc nhỏ hơn để giao cho các thành viên trong nhóm thực hiện,  
sau đó ghép nối lại.  
Kỹ năng nhóm  
L14, L26, L27  
Chương 5. Giới thiệu về thuật toán  
L5, L10, L11,  
L21  
5.1. Khái niệm về thuật toán  
5.1.1. Bài toán và thuật giải  
5.1.2. Mô tả thuật giải bằng lưu đồ  
5.1.3. Mô tả thuật giải bằng mã giả  
5.1.4. Lập bảng trên giấy để theo dõi hoạt động của một  
thuật toán  
5.2. Chương trình cài đặt thuật toán  
5.2.1. Tổ chức dữ liệu cho mỗi hàm chương trình  
-
-
-
Dữ liệu nhập  
Dữ liệu xuất  
Dữ liệu tính toán trung gian  
5.2.2. Tổ chức các hàm cho chương trình  
Hàm về nhập, xuất  
-
Đề cương môn học Nhập môn lập trình  
Trang 6  
FIT-HCMUS  
CDIO  
Chuẩn đầu ra  
Nội dung  
môn học  
-
-
Hàm xử lý: cài đặt các thuật toán  
Chương trình chính và kết nối  
5.2.3. Chạy thử nghiệm 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  
5.3. Độ phức tạp thuật toán  
5.3.1. Khái niệm về độ phức tạp tính toán  
5.3.2. Một vài ví dụ trực quan về độ phức tạp thuật toán  
5.4. Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  
L16  
5.4.1.  
5.5. Thuật ngữ tiếng Anh và bài đọc thêm tiếng Anh  
L1, L2  
-
-
Hiểu rõ khái niệm về thuật toán.  
Kỹ năng cá nhân  
Biết cách vận dụng tư duy thuật toán để lập trình giải quyết một số  
bài toán đơn giản.  
L11  
Kỹ năng nhóm  
Chương 6. Kỹ thuật cài đặt các thuật toán cơ bản  
L5, L10, L11,  
L21  
6.1. Thuật giải rẽ nhánh và kỹ thuật cài đặt  
6.1.1. Bảng quyết định cho bài toán  
L7, L9, L11  
6.1.2. Viết chương trình cài đặt các bảng quyết định  
6.1.3. Những ví dụ áp dụng điển hình để giải quyết một số  
bài toán thực tế  
6.1.4. Cài đặt đệ qui cho thuật giải rẽ nhánh  
6.1.5. Đồ án lập trình  
6.2. Tính toán lặp và kỹ thuật cài đặt  
L7, L9, L11  
6.2.1. Ví dụ về tính toán lặp và cài đặt chương trình  
6.2.2. Áp dụng thuật toán lặp để tính toán trong toán học  
và vật lý  
6.2.3. Kỹ thuật sử dụng cờ hiệu trong xử lý lặp  
6.2.4. Khái niệm về bất biến của vòng lặp  
6.2.5. Cài đặt đệ qui cho tính toán lặp  
6.2.6. Đồ án lập trình  
Đề cương môn học Nhập môn lập trình  
Trang 7  
FIT-HCMUS  
CDIO  
Chuẩn đầu ra  
Nội dung  
môn học  
6.3. Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  
L16  
6.3.1. Các phương pháp tính và ứng dụng trong khoa học  
kỹ thuật  
6.3.2. Các thuật toán lặp trong số học (giới thiệu về số  
học thuật toán)  
6.3.3. Một số bài toán xử lý lặp chưa có lời giải về điều  
kiện dừng  
6.3.4. Những nỗ lực để giảm độ phức tạp tính toán  
6.4. Thuật ngữ tiếng Anh và bài đọc thêm tiếng Anh  
L1, L2  
-
-
Suy nghĩ một cách sáng tạo trong việc kết hợp những kiến thức  
toán học và vật lý với kỹ thuật lập trình.  
Kỹ năng cá nhân  
Hướng đến hoạt động nghề nghiệp (làm phần mềm) thông qua việc  
ứng dụng kiến thức đã học để giải quyết một số vấn đề trong các  
nghiệp vụ thực tế.  
L7, L9, L11, L16  
Kỹ năng nhóm  
Kỹ năng làm việc cộng lực trong một nhóm nhỏ thông qua việc thực  
hiện các đồ án lập trình khởi đầu.  
L14, L26, L27  
Chương 7. Dữ liệu dạng mảng và dữ liệu có cấu trúc  
L5, L10, L11,  
L22  
7.1. Dữ liệu có cấu trúc  
7.1.1. Khai báo và sử dụng kiểu dữ liệu cấu trúc  
7.1.2. Nhập xuất biến dữ liệu cấu trúc  
7.1.3. Hàm và phép toán trên biến dữ liệu có cấu trúc  
7.1.4. Các ví dụ minh họa  
7.2. Dữ liệu mảng với kích thước cố định  
7.2.1. Cách khai báo và sử dụng  
7.2.2. Nhập xuất biến dữ liệu mảng  
7.2.3. Hàm có tham số là biến mảng  
7.2.4. Mảng nhiều chiều  
7.2.5. Mảng các biến dữ liệu cấu trúc  
7.3. Ứng dụng mảng trong lập trình  
7.3.1. Kỹ thuật dùng bảng tra cứu trong bộ nhớ để cải tiến  
tính toán và xử lý  
7.3.2. Kỹ thuật dùng cờ hiệu khi xử lý mảng  
7.3.3. Thuật toán tìm kiếm và tính toán trên mảng  
Đề cương môn học Nhập môn lập trình  
Trang 8  
FIT-HCMUS  
CDIO  
Chuẩn đầu ra  
Nội dung  
môn học  
7.3.4. Thuật toán xáo trộn, sắp xếp các phần tử của mảng  
7.3.5. Đồ án lập trình  
7.4. Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  
7.4.1. Vấn đề sử dụng mảng kích thước biến động  
L16  
7.4.2. Giới thiệu về qui hoạch động và ứng dụng để giải  
các bài toán tối ưu  
7.4.3. Giới thiệu về các thuật toán chia để trị  
7.5. Thuật ngữ tiếng Anh và bài đọc thêm tiếng Anh  
L1, L2  
-
-
Khởi đầu việc suy nghĩ một cách sáng tạo, chuyên sâu về các thuật  
toán và các giải pháp tính toán để giải quyết vấn đề.  
Kỹ năng cá nhân  
L6, L11, L16  
Thuyết trình ngắn bằng tiếng Việt về đồ án lập trình của nhóm.  
Kỹ năng nhóm  
Kỹ năng làm việc cộng lực trong một nhóm nhỏ thông qua việc thực  
hiện các đồ án lập trình ở mức độ vừa phải, không quá phức tạp.  
L14, L26, L27  
Chương 8. Lập trình với tập tin văn bản thô  
8.1. Giới thiệu về các dạng tập tin  
L5, L10, L11,  
L23  
8.1.1. Tập tin văn bản thô (ASCII text hay ANSI text)  
8.1.2. Các dạng tập tin văn bản thô có cấu trúc  
8.1.3. Tập tin văn bản thô mở rộng (Unicode, UTF-8)  
8.1.4. Tập tin nhị phân  
8.2. Hệ thống nhập xuất trong lập trình  
8.2.1. Qui trình chung và cơ chế đọc ghi dữ liệu  
8.2.2. Các đối tượng và thao tác nhập xuất  
8.3. Lập trình thao tác trên tập tin văn bản thô  
8.3.1. Đọc nội dung tập tin có sẵn  
8.3.2. Tạo tập tin để ghi dữ liệu  
8.3.3. Ghi thêm dữ liệu vào tập tin có sẵn  
8.3.4. Ghép nối nội dung các tập tin  
8.4. Sử dụng tập tin văn bản thô để lưu dữ liệu của chương trình  
8.4.1. Lưu dữ liệu chuỗi và văn bản  
8.4.2. Cấu trúc tập tin văn bản để lưu dữ liệu số  
8.4.3. Cấu trúc tập tin văn bản để lưu dữ liệu phức hợp  
Đề cương môn học Nhập môn lập trình  
Trang 9  
FIT-HCMUS  
CDIO  
Chuẩn đầu ra  
Nội dung  
môn học  
8.4.4. Đồ án lập trình cuối môn học  
8.5. Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp  
8.5.1. Cấu trúc của tập tin HTML  
L16  
8.5.2. Các dạng khác về tập tin văn bản thô có cấu trúc  
(RTF, TEX, XML…)  
8.5.3. Cấu trúc tập tin văn bản thô mở rộng  
8.6. Thuật ngữ tiếng Anh và bài đọc thêm tiếng Anh  
L1, L2  
-
-
Suy nghĩ sáng tạo một cách có hệ thống để tổ chức công việc và  
hiện thực đồ án lập trình cuối môn học.  
Kỹ năng cá nhân  
L6, L11, L16  
Thuyết trình ngắn bằng tiếng Việt về đồ án lập trình cuối môn học.  
Kỹ năng nhóm  
Kỹ năng làm việc cộng lực trong một nhóm nhỏ thông qua việc thực  
hiện các đồ án lập trình cuối môn học.  
L14, L26, L27  
Mô tả tóm tắt kỹ năng cá nhân, kỹ năng nhóm ở cấp độ môn học  
Kỹ năng cá nhân  
Kỹ năng nhóm  
4. TÀI LIỆU THAM KHẢO  
Giáo trình Nhập môn lập trình Khoa CNTT – Trường ĐHKHTN Tp.HCM, Nhiều tác giả,  
Nhà xuất bản Khoa học và Kỹ thuật, 2011.  
Thinking in C, Bruce Eckel, E-book, 2006.  
Theory and Problems of Fundamentals of Computing with C++, John R.Hubbard,  
Schaum’s Outlines Series, McGraw-Hill, 1998.  
Đề cương môn học Nhập môn lập trình  
Trang 10  
pdf 10 trang myanh 25240 Free
Bạn đang xem tài liệu "Đề cương môn học Nhập môn lập trình", để 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_hoc_nhap_mon_lap_trinh.pdf