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

