Mục tiêu của học phần - Kiến thức: Lập trình cơ bản là một trong các môn học cơ sở của học viên các ngành kỹ thuật.. Môn học nhằm trang bị cho sinh viên những kiến thức cơ bản về CNTT, t
Trang 1ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN
LẬP TRÌNH CƠ BẢN
1 Thông tin về giáo viên
TT Họ tên giáo viên Học
hàm
Học vị Đơn vị công tác (Bộ môn)
Thời gian, địa điểm làm việc: văn phòng Bộ môn Công nghệ phần mềm
Địa chỉ liên hệ: Bộ môn CNPM – Khoa CNTT
Điện thoại, email: 0984709262, phannguyenhai@yahoo.com
Các hướng nghiên cứu chính: Kỹ nghệ phần mềm, tối ưu hóa
2 Thông tin chung về học phần
- Tên học phần: LẬP TRÌNH CƠ BẢN
- Mã học phần:
- Số tín chỉ: 3
- Cấu trúc học phần: 3(2,2): 60 tiết (34 - 14 – 4 – 8)
- Học phần (bắt buộc hay lựa chọn): bắt buộc
- Các học phần tiên quyết: không
- Các yêu cầu đối với học phần (nếu có):
- Giờ tín chỉ đối với các hoạt động:
Nghe giảng lý thuyết: 34
Làm bài tập trên lớp: 14
Thảo luận: 4
Thực hành, thực tập (ở PTN, nhà máy, thực tập ): 8
Hoạt động theo nhóm:
Tự học: 90
- Khoa/Bộ môn phụ trách học phần, địa chỉ: Khoa CNTT
3 Mục tiêu của học phần
- Kiến thức: Lập trình cơ bản là một trong các môn học cơ sở của học viên các ngành kỹ thuật Môn học nhằm trang bị cho sinh viên những kiến thức
cơ bản về CNTT, tin học, phần mềm, máy tính điện tử, về những vẫn đề
Trang 2liên quan đến an toàn thông tin, các vấn đề về ứng dụng CNTT và những kiến thức cơ bản về lập trình
- Kỹ năng: Sử dụng ngôn ngữ lập trình C, biết gỡ rối chương trình
- Thái độ, chuyên cần: lên lớp đầy đủ và chuẩn bị bài theo yêu cầu của giáo viên
4 Tóm tắt nội dung học phần (khoảng 150 từ)
Cung cấp những kiến thức cơ bản về:
1 Lịch sử phát triển ngành CNTT, các lĩnh vực ứng dụng của CNTT, làm việc máy tính điện tử, sử dụng các phần mềm tin học văn phòng, Internet
2 Cách lưu trữ thông tin, xử lý thông tin trong máy tính điện tử
3 Vấn đề an toàn thông tin và bảo đảm an toàn thông tin
4 Những vấn đề về ứng dụng và bảo đảm CNTT
5 Những kiến thức cơ bản, về lập trình trên ngôn ngữ lập trình C:
Các khái niệm cơ bản của C
Các cấu trúc điều khiển
Cách làm việc với mảng, con trỏ, ký tự, cấu trúc dữ liệu, file,…
5 Nội dung chi tiết học phần (tên các chương, mục, tiểu mục)
Chương,
mục, tiểu
mục
tiết
Giáo trình, Tài liệu tham khảo (Ghi TT của
TL ở mục 6)
Ghi chú
Phần I: Cơ sở CNTT và ứng dụng CNTT
Chương 1
-Giới thiệu
chung về
CNTT và
máy tính
điện tử
1.1 Kiến thức cơ bản về máy tính và mạng máy tính (Phần cứng, Phần mềm, Hiệu năng, Mạng máy tính)
1.2 Các ứng dụng của CNTT – TT
1.3 An toàn lao động và bảo vệ môi trường trong sử dụng CNTT – TT
1.4 Các hiểu biết cơ bản khi làm việc với máy tính, làm việc với
Hệ điều hành, quản lý thư mục
và tệp 1.5 Một số phần mềm tiện ích,
Trang 3sử dụng Tiếng Việt, in ấn
Chương 2
-Ứng dụng
CNTT
2.1 Tin học văn phòng 2.1.1 Xử lý văn bản 2.1.2 Sử dụng bảng tính 2.1.3 Sử dụng phần mềm trình chiếu
2.1.4 Sử dụng Internet 2.2 Các ứng dụng khác trong các ngành kỹ thuật (cơ khí, xây dựng, điều khiển, vẽ kỹ thuật, ), quản trị nội dung
Chương 3
-Ứng dụng
CNTT
trong tự
động hóa,
mô phỏng
3.1 Hệ thống tự động hóa điều khiển bằng máy tính
3.2 Các công cụ và hệ thống hỗ trợ tự động hóa (SCADA, giao diện người máy, )
3.3 Các ứng dụng tự động hóa điều khiển bằng máy tính
3.4 Ứng dụng CNTT trong mô phỏng
Chương 4 –
Một số kiến
thức về bảo
đảm CNTT
4.1 Linh kiện máy tính và các lỗi có thể
4.2 Một số kiến thức về sửa chữa thiết bị CNTT
4.3 Một số kiến thức về cài đặt phần mềm điều khiển các thiết bị CNTT
Chương 5
-Những vấn
đề về an
toàn thông
tin, tội
phạm tin
học và an
ninh mạng
5.1 Tổng quan về an toàn thông tin
5.2 Các loại hình tấn công và nguy cơ mất ATTT hiện nay 5.3 Mục tiêu của an toàn thông tin
5.4 Giải pháp đảm bảo an toàn thông tin
5.5 Cơ bản về an ninh mạng 5.6 Pháp luật về an toàn thông tin
5.7 Tin tặc, tội phạm kỹ thuật 5.8 Một số tội phạm tin học liên quan đến lạm dụng Internet với mục đích xấu
5.9 Vấn đề sở hữu trí tuệ và bản quyền
Trang 45.10 Luật tội phạm tin học ở Việt Nam
5.11 Các phần mềm độc hại
Phần II: Xử lý thông tin, Giải thuật và ngôn ngữ lập trình
Chương 6
-Các hệ đếm
thường
dùng trong
tin học và
biểu diễn
thông tin
trong máy
tính
6.1 Các hệ đếm thường dùng trong tin học
6.1.1 Khái niệm hệ đếm 6.1.2 Tìm biểu diễn số trong các
hệ đếm 6.1.3 Số học nhị phân 6.2 Biểu diễn và lưu trữ thông tin trong máy tính
Chương 7
-Giải thuật
xử lý thông
tin và ngôn
ngữ lập
trình
7.1 Bài toán và giải thuật 7.1.1 Khái niệm bài toán và giải thuật
7.1.2 Yêu cầu của giải thuật 7.1.3 Các phương pháp diễn đạt giải thuật
7.1.4 Sơ lược về đánh giá giải thuật
7.2 Vấn đề cài đặt thuật toán và ngôn ngữ lập trình
7.2.1 Cài đặt thuật toán cho máy tính
7.2.2 Khái niệm ngôn ngữ lập trình
7.2.3 Các mức độ ngôn ngữ lập trình
7.2.4 Quá trình xây dựng chương trình
Trang 5Chương 8
-Ngôn ngữ
lập trình C,
các khái
niệm cơ
bản
8.1 Giới thiệu ngôn ngữ lập trình C, các từ khóa
8.2 Các kiểu dữ liệu cơ bản 8.3 Biến, hằng và biểu thức 8.4 Các phép toán
8.5 Cấu trúc chương trình 8.6 Hàm main và các tham số có thể
8.7 Khai báo biến 8.8 Từ khóa include 8.9 Câu lệnh
8.10 Nhập xuất dữ liệu với bàn phím và màn hình
8.11 Môi trường Dev C++
Thực hành
Chương 9
-Các cấu
trúc điều
khiển
9.1 Cấu trúc tuần tự 9.2 Cấu trúc rẽ nhánh (if, switch)
9.3 Cấu trúc lặp (for, while, do while)
Bài tập và thực hành
Chương 10
- Mảng,
con trỏ và
xâu ký tự
10.1 Mảng một chiều và nhiều chiều
10.2 Con trỏ và địa chỉ 10.3 Xâu ký tự và các hàm làm việc với xâu ký tự
Bài tập
Chương 11
– Lập trình
với hàm
11.1 Khái niệm 11.2 Prototype, định nghĩa và các kiểu của hàm
11.3 Biến cục bộ 11.4 Truyền tham số cho hàm 11.5 Đệ quy
Bài tập
Chương 12
– Kiểu dữ
liệu cấu
trúc, file
12.1 Khái niệm về cấu trúc dữ liệu, định nghĩa kiểu dữ liệu người dùng với từ khóa struct 12.2 Từ khóa typedef
12.3 Khái niệm file 12.4 Các thao tác với file Bài tập
4
Trang 66 Giáo trình, tài liệu tham khảo
TT Tên giáo trình, tài liệu Tình trạng giáo trình, tài liệu
1 Giáo trình tin học cơ sở, Hồ Sỹ
Đàm, Đào Kiến Quốc, Hồ Đắc
Phương Đại học Sư phạm, 2004
Giáo viên
có
2 Kỹ thuật lập trình C: cơ sở và nâng
cao, Phạm Văn Ất
Thư viện có
3 Computing Essentials, Tim and
Linda O’Leary, McGraw-Hill, 2012
Giáo viên có
4 The C programming language 2nd
Edition, Brian Kernighan and
Dennis Ritchie, Prentice Hall
Software Series
Giáo viên có
Fundamentals, Thomas R Peltier,
Justin Peltier, John Blackley,
AUERBACH, 2004
Giáo viên có
6 Computer-Controlled Systems:
Theory and Design (3rd Edition).
Karl Johan Astrom, Bjorn
Wittenmark Prentice Hall; 1996
Giáo viên có
7 The Fundamentals of SCADA.
Bentley System, Incorporated , 2006
8 Science in the Age of Computer
Simulation E. Winsberg
Chicago: University of Chicago
Press, 2010
7 Hình thức tổ chức dạy học
7.1 Lịch trình chung: (Ghi tổng số giờ cho mỗi cột)
Nội dung
Hình thức tổ chức dạy học
môn học
Tổng
hành , thí nghi ệm, thực tập
Tự học, tự nghi ên cứu
Lý thuy ết
Bài tập
Th ảo luậ n
Trang 7Phần I: Cơ sở CNTT và ứng
dụng CNTT
28
Chương 1 - Giới thiệu chung về
CNTT và máy tính điện tử
Chương 3 - Ứng dụng CNTT
trong tự động hóa, mô phỏng
Chương 4 – Một số kiến thức về
bảo đảm CNTT
Chương 5 - Những vấn đề về an
toàn thông tin, tội phạm tin học
và an ninh mạng
Phần II: Xử lý thông tin, Giải
thuật và ngôn ngữ lập trình
32
Chương 6 - Các hệ đếm thường
dùng trong tin học và biểu diễn
thông tin trong máy tính
Chương 7 - Giải thuật xử lý
thông tin và ngôn ngữ lập trình
Chương 8 - Ngôn ngữ lập trình
C, các khái niệm cơ bản
Chương 9 - Các cấu trúc điều
khiển
Chương 10 - Mảng, con trỏ và
xâu ký tự
Chương 12 – Kiểu dữ liệu cấu
trúc, file
7.2 Lịch trình tổ chức dạy học cụ thể
Bài giảng1: Giới thiệu chung về CNTT và máy tính điện tử
Chương I
Tiết thứ: 1 - 2 Tuần thứ: 1
- Mục đích, yêu cầu:
• Nắm sơ lược về Học phần, các chính sách riêng của giáo viên, địa chỉ Giáo viên
• Nắm được kiến thức cơ bản về máy tính, tin học và CNTT, các lĩnh vực ứng dụng CNTT
Trang 8• Nắm được cấu trúc, nguyên lý hoạt động của máy tính điện tử; phần mềm, phân loại và quy trình phát triển phần mềm, làm việc với hệ điều hành, các phần mềm tiện ích
- Hình thức tổ chức dạy học: Lý thuyết, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 2t; Tự học, tự nghiên cứu: 6t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
1.1 Kiến thức cơ bản về máy tính và mạng máy tính (Phần cứng, Phần mềm, Hiệu năng, Mạng máy tính)
1.2 Các ứng dụng của CNTT – TT
1.3 An toàn lao động và bảo vệ môi trường trong sử dụng CNTT – TT 1.4 Các hiểu biết cơ bản khi làm việc với máy tính, làm việc với Hệ điều hành, quản lý thư mục và tệp
1.5 Một số phần mềm tiện ích, sử dụng Tiếng Việt, in ấn
- Yêu cầu SV chuẩn bị:
Đọc trước chương 1, 2, 3 tài liệu [1, 3]
Chú ý nghe giảng
Tích cực tham gia phát biểu ý kiến
Bài giảng 2: Chương 2 - Ứng dụng CNTT
Chương II
Tiết thứ: 3 - 8 Tuần thứ: 1+2
- Mục đích, yêu cầu:
• Nắm được các ứng dụng phổ biến của CNTT, các ứng dụng CNTT trong các ngành kỹ thuật
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 4t; thảo luận: 2t Tự học, tự nghiên cứu: 6t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
2.1 Tin học văn phòng
2.1.1 Xử lý văn bản
2.1.2 Sử dụng bảng tính
2.1.3 Sử dụng phần mềm trình chiếu
2.1.4 Sử dụng Internet
2.2 Các ứng dụng khác trong các ngành kỹ thuật (cơ khí, xây dựng, điều khiển, vẽ kỹ thuật, ), quản trị nội dung
Trang 9Thảo luận: Các ứng dụng CNTT
- Yêu cầu SV chuẩn bị:
Đọc chương 4, 6 tài liệu [1]
Chú ý nghe giảng
Tích cực tham gia phát biểu ý kiến
Thực hành: Thực hành về sử dụng máy tính và tin học văn phòng
Chương I, II
Tiết thứ: 9 - 12 Tuần thứ: 3
- Mục đích, yêu cầu:
• Làm quen với việc sử dụng máy tính, hệ điều hành, Word, Excel, Power Point
- Hình thức tổ chức dạy học: Thực hành, tự học, tự nghiên cứu
- Thời gian: Thực hành: 4t; Tự học, tự nghiên cứu: 10t
- Địa điểm: Phòng máy do P2 phân công
- Nội dung chính:
Thực hành sử dụng máy tính, hệ điều hành Windows, Microsoft Office
- Yêu cầu SV chuẩn bị:
Nghiên cứu kỹ lý thuyết đã học
Bài giảng 3: Ứng dụng CNTT trong tự động hóa, mô phỏng
Chương III
Tiết thứ: 13 - 16 Tuần thứ: 4
- Mục đích, yêu cầu:
• Nắm được khái niệm về tự động hóa bằng máy tính, các ứng dụng tự động hóa bằng máy tính
• Nắm được khả năng ứng dụng của CNTT trong mô phỏng
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 2t; Thảo luận: 2t Tự học, tự nghiên cứu: 6t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
3.1 Hệ thống tự động hóa điều khiển bằng máy tính
3.2 Các công cụ và hệ thống hỗ trợ tự động hóa (SCADA, giao diện người máy, )
3.3 Các ứng dụng tự động hóa điều khiển bằng máy tính
Trang 103.4 Ứng dụng CNTT trong mô phỏng (3D, thực tại ảo)
Thảo luận
1 Vai trò của máy tính trong hệ thống tự động hóa điều khiển bằng máy tính
2 Tìm hiểu các ví dụ ứng dụng tự động hóa bằng máy tính, máy tính thực hiện công việc gì trong các ví dụ đó
3 Những kết quả mà mô phỏng đem lại
4 SV đề xuất một số ứng dụng của thực tạo ảo trong cuộc sống (Phòng thí nghiệm ảo, thực hành ảo, )
- Yêu cầu SV chuẩn bị:
Chú ý nghe giảng
Tích cực tham gia phát biểu ý kiến
Bài giảng 4: Một số kiến thức về bảo đảm CNTT
Chương IV
Tiết thứ: 17 - 18 Tuần thứ: 5
- Mục đích, yêu cầu:
• Nắm được các linh kiện máy tính cùng các lỗi đi kèm, cách sửa chữa thiết
bị máy tính, cài đặt thiết bị, tháo lắp máy tính
- Hình thức tổ chức dạy học: Lý thuyết, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 2t; Tự học, tự nghiên cứu: 6t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
4.1 Linh kiện máy tính và các lỗi có thể
4.2 Một số kiến thức về sửa chữa thiết bị CNTT
4.3 Một số kiến thức về cài đặt phần mềm điều khiển các thiết bị CNTT
- Yêu cầu SV chuẩn bị:
Chú ý nghe giảng
Tích cực tham gia phát biểu ý kiến
Bài giảng 5: Những vấn đề về an toàn thông tin, tội phạm tin học và an ninh
mạng
Chương V
Tiết thứ: 19 - 24 Tuần thứ: 5, 6
- Mục đích, yêu cầu:
Trang 11• Nắm được kiến thức cơ bản về ATTT, vấn đề sở hữu trí tuệ và bản quyền, luật tội phạm tin học, các phần mềm độc hại, cách bảo đảm ATTT cơ bản cho máy tính
• Nắm được kiến thức cơ bản về an ninh mạng
- Hình thức tổ chức dạy học: Lý thuyết, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 6t; Tự học, tự nghiên cứu: 18t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
Lý thuyết:
5.1 Tổng quan về an toàn thông tin
5.2 Các loại hình tấn công và nguy cơ mất ATTT hiện nay
5.3 Mục tiêu của an toàn thông tin
5.4 Giải pháp đảm bảo an toàn thông tin
5.5 Cơ bản về an ninh mạng
5.6 Pháp luật về an toàn thông tin
5.7 Tin tặc, tội phạm kỹ thuật
5.8 Một số tội phạm tin học liên quan đến lạm dụng Internet với mục đích xấu
5.9 Vấn đề sở hữu trí tuệ và bản quyền
5.10 Luật tội phạm tin học ở Việt Nam
5.11 Các phần mềm độc hại
- Yêu cầu SV chuẩn bị:
Chú ý nghe giảng
Tích cực tham gia phát biểu ý kiến
Thực hành: Tháo lắp, sửa chữa máy tính
Chương IV
Tiết thứ: 25 - 28 Tuần thứ: 7
- Mục đích, yêu cầu:
• Luyện tập với hoạt động tháo lắp, sửa chữa máy tính cơ bản
- Hình thức tổ chức dạy học: Thực hành
- Thời gian: Thực hành: 4t
- Địa điểm: Phòng máy
- Nội dung chính:
- Yêu cầu SV chuẩn bị:
Nghiên cứu kỹ lý thuyết Bài 4
Trang 12Bài giảng 6: Các hệ đếm thường dùng trong tin học và biểu diễn thông tin
trong máy tính
Chương VI
Tiết thứ: 29 - 30 Tuần thứ: 8
- Mục đích, yêu cầu:
• Nắm được đại số máy tính, các hệ đếm, cách biểu diễn và lưu trữ thông tin trong máy tính
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, bài tập, thực hành, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 2t; Tự học, tự nghiên cứu: 6t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
6.1 Các hệ đếm thường dùng trong tin học
6.1.1 Khái niệm hệ đếm
6.1.2 Tìm biểu diễn số trong các hệ đếm
6.1.3 Số học nhị phân
6.2 Biểu diễn và lưu trữ thông tin trong máy tính
- Yêu cầu SV chuẩn bị:
Chú ý nghe giảng
Tích cực tham gia phát biểu ý kiến
Bài giảng 7: Giải thuật xử lý thông tin và ngôn ngữ lập trình
Chương VII
Tiết thứ: 31 - 34 Tuần thứ: 8, 9
- Mục đích, yêu cầu:
• Nắm được khái niệm về khái niệm bài toán giải thuật, đặc trưng của giải thuật, các phương pháp diễn đạt giải thuật, sơ lược về đánh giá giải thuật
• Nắm được ngôn ngữ lập trình và các mức khác nhau của ngôn ngữ lập trình, quá trình thực hiện chương trình trên ngôn ngữ lập trình
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 2t; Bài tập: 2t Tự học, tự nghiên cứu: 6t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
Trang 131 Bài toán và giải thuật
1.1 Khái niệm bài toán và giải thuật
1.2 Đặc trưng của giải thuật
1.3 Các phương pháp diễn đạt giải thuật
1.4 Sơ lược về đánh giá giải thuật
2 Vấn đề cài đặt thuật toán và ngôn ngữ lập trình
2.1 Cài đặt thuật toán cho máy tính
2.2 Khái niệm ngôn ngữ lập trình
2.3 Các mức độ ngôn ngữ lập trình
2.4 Quá trình xây dựng chương trình
Bài tập
1 Cho tam giác ABC có góc vuông A và cho biết cạnh a và góc B Hãy viết thuật toán để tính góc C, cạnh b và cạnh c
2 Trình bày tính chất xác định của thuật toán và nêu rõ nghĩa của tính chất này
3*.Hãy phát biểu thuật toán để giải bài toán sau: "Có một số quả táo Dùng cân hai đĩa (không có quả cân) để xác định quả táo nặng nhất"
4 Xác định input và output cho các thuật toán sau đây:
a) Rút gọn một phân số
b) Kiểm tra xem ba số cho trước a, b và c có thể là độ dài ba cạnh của một tam giác hay không?
c) Tính trung bình cộng của hai số
d) Dùng một cốc phụ để tráo nước ở hai cốc cho trước
e) Tìm chu vi và diện tích của hình tròn có bán kính cho trước
5 Chỉ dùng phép cộng, viết thuật toán để từ số tự nhiên n, tính số n2
- Yêu cầu SV chuẩn bị:
Đọc tài liệu [2, 4]
Chú ý nghe giảng
Tích cực tham gia phát biểu ý kiến
Bài giảng 8: Ngôn ngữ lập trình C, các khái niệm cơ bản
Chương 8
Tiết thứ: 35 - 40 Tuần thứ: 9, 10
- Mục đích, yêu cầu:
• Nắm được các khái niệm cơ bản của ngôn ngữ lập trình C: bảng chữ cái, tên, quy tắc đặt tên trong C, từ khóa, các kiểu dữ liệu cơ bản và các phép toán