mẫu Đề cương môn họcfit.mta.edu.vn/files/filemonhoc/ltcb-hctcmoi(20134789).doc · web...
TRANSCRIPT
Mẫu Đề cương môn học
13
HỌC VIỆN KỸ THUẬT QUÂN SỰ
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐỀ CƯƠNG CHI TIẾT MÔN HỌC
LẬP TRÌNH CƠ BẢN
1. Thông tin về giáo viên
Họ và tên: Nguyễn Thị Hiền
Chức danh, học hàm, học vị: GV, ThS
Thời gian, địa điểm làm việc: văn phòng Bộ môn Công nghệ phần mềm – Khoa CNTT
Địa chỉ liên hệ: Bộ môn CNPM – Khoa CNTT
Điện thoại, email: 0912092486, [email protected]
Các hướng nghiên cứu chính: Lập trình gene, học máy, tính toán tự nhiên
Thông tin về trợ giảng (nếu có) (họ và tên, địa chỉ liên hệ, điện thoại, e-mail):
2. Thông tin chung về môn học
· Tên môn học: LẬP TRÌNH CƠ BẢN
· Mã môn học:
· Số tín chỉ: 3
· Môn học:
· Bắt buộc: (
· Lựa chọn: (
· Các môn học tiên quyết: không
· Các môn học kế tiếp:
· Các yêu cầu đối với môn học (nếu có):
· Giờ tín chỉ đối với các hoạt động:
· Nghe giảng lý thuyết: 45 giờ tín chỉ
· Làm bài tập: 15 giờ tín chỉ
· Thảo luận:
· Thực hành, thực tập (ở PTN, nhà máy, thực tập...):
· Hoạt động theo nhóm: 0
· Tự học: 0
· Địa chỉ Khoa/ Bộ môn phụ trách môn học: Bộ môn Công nghệ phần mềm - Khoa Công nghệ thông tinĐiện thoại: 069515338
Email: [email protected]
3. Mục tiêu của môn học
· 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 sinh viên ngành Công nghệ Thông tin. Môn học nhằm trang bị cho học viên những kiến thức cơ bản về lập trình, về ngôn ngữ lập trình bậc cao, kỹ năng phân tích và xây dựng chương trình trong một ngôn ngữ cụ thể
· Kỹ năng: Sử dụng ngôn ngữ lập trình, gỡ rối chương trình
· Thái độ, chuyên cần: lên lớp đầy đủ và chuẩn bị cho giờ lên lớp theo yêu cầu của giáo viên.
4. Tóm tắt nội dung môn học
- Cung cấp cho sinh viên kiến thức và kĩ năng cơ bản về ngôn ngữ lập trình bậc cao (C): Có thể viết, dịch, gỡ rối và chạy chương trình trong C, hiểu được cấu trúc chương trình, sử dụng các kiểu dữ liệu, các cấu trúc điều khiển, hàm, mảng, con trỏ trong C, biết cách tìm kiếm, đọc và viết vào tệp bằng chương trình C.
5. Nội dung chi tiết môn học (tên các chương, mục, tiểu mục)
Chương 1: Mở đầu
1.1 Khái niệm về lập trình
1.2.Các ngôn ngữ lập trình
1.3.Ngôn ngữ lập trình C
Chương 2: Các kiểu dữ liệu cơ bản và các phép toán
2.1. Các kiểu dữ liệu cơ bản
2.2. Biến, hằng và biểu thức
2.3. Các phép toán
Chương 3: Cấu trúc chương trình đơn giản
3.1. Cấu trúc chương trình
3.2. Hàm main và đối số dòng lệnh
3.3. Khai báo biến
3.4. Tệp bao hàm (include)
3.5. Câu lệnh
Chương 4: Xuất nhập dữ liệu đơn giản
4.1. Xuất dữ liệu ra thiết bị chuẩn: các hàm putch, puts, printf
4.2. Nhập dữ liệu từ thiết bị chuẩn: các hàm getch, gets, scanf
Chương 5: Các cấu trúc điều khiển
5.1. Cấu trúc tuần tự
5.2. Cấu trúc rẽ nhánh (if, switch)
5.3. Cấu trúc lặp (for, while, do while)
Chương 6: Mảng, con trỏ và xâu ký tự
6.1. Mảng một chiều và nhiều chiều
6.2. Con trỏ và địa chỉ
6.3. Các phép toán với con trỏ
6.4. Liên hệ giữa con trỏ và mảng
6.5. Xâu ký tự và một số hàm làm việc với xâu ký tự
Chương 7: Giới thiệu về hàm
7.1. Khái niệm
7.2. Prototype, định nghĩa và các kiểu của hàm
7.3. Biến cục bộ
7.4. Truyền tham số và giá trị trả lại
7.5. Hàm inline
7.6. Đệ quy
Chương 8: Cấu trúc dữ liệu
8.1. Khái niệm về trừu tượng dữ liệu
8.2. Cấu trúc dữ liệu đơn giản
8.3. Cấu trúc dữ liệu nâng cao (mảng, con trỏ, tích hợp,..)
Chương 9: Làm việc với tệp
9.1. Các hàm fopen, fclose, fscanf, fprintf, fflush
9.2. Đọc và ghi tệp ngẫu nhiên: các hàm fread, frwite
6. Giáo trình, tài liệu tham khảo
Tài liệu tham khảo
1. GS. Phạm Văn Ất, Kỹ thuật lập trình C: cơ sở và nâng cao, Nhà xuất bản Giao thông Vận tải, 2006, Thư viện
2. Brian Kernighan and Dennis Ritchie, The C programming language 2nd Edition, Prentice Hall Software Series (sách điện tử giáo viên có)
3. Wallace Wang, Beginning Programming for Dummies, 4th Edition, John Wiley & Sons 2007 (sách điện tử giáo viên có)
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
Lên lớp
Thực 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
1. Khái niệm về lập trình, các ngôn ngữ lập trình, đặc điểm của ngôn ngữ C, bảng chữ cái, tên, từ khoá
3
3
2. Các kiểu dữ liệu cơ bản và các phép toán của C, biến hằng, biểu thức
3
3
3. Cấu trúc chương trình đơn giản: Cấu trúc, khai báo biến, lệnh và khối lệnh; biên dịch và thực hiện chương trình
3
3
6
4. Xuất nhập dữ liệu đơn giản: sử dụng các hàm nhập xuất chuẩn
5. Các cấu trúc điều khiển
· Cấu trúc tuần tự
· Cấu trúc rẽ nhánh (if, switch)
· Cấu trúc lặp (for, while, do while)
9
6
15
6. Mảng, con trỏ và xâu ký tự
9
6
15
7. Cơ bản về hàm
6
3
9
8. Cấu trúc dữ liệu
3
3
9. Thao tác cơ bản với tệp
3
3
10. Ôn tập
3
3
7.2. Lịch trình tổ chức dạy học cụ thể
- Tuần 1: Khái niệm về lập trình, các ngôn ngữ lập trình, đặc điểm của ngôn ngữ C, bảng chữ cái, tên, từ khoá
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu SV
chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
Mở đầu- Khái niệm về lập trình- Các ngôn ngữ lập trình- Các phương pháp lập trình, ưu điểm của lập trình có cấu trúc- Các bước xây dựng chương trình- Ngôn ngữ lập trình, đặc điểm của C- Bảng chữ cái, tên, quy tắc đặt tên trong C, từ khoá
- đọc chương 1, tài liệu [3], chương 1, tài liệu [1], chương 1, tài liệu [2]
Bài tập
Thảo luận
Thực hành, thí nghiệm, thực tập, rèn nghề…
Tự học, tự nghiên cứu
Tuần 2: Các kiểu dữ liệu cơ bản và các phép toán của C, biến hằng, biểu thức
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
- Các kiểu dữ liệu cơ bản: tên, kích thước, miền giá trị, quy tắc chuyển kiểu tự động- Các phép toán của C: phép gán, các phép toán số học, so sánh, logic, các phép toán thao tác trên bit, các phép toán tích luỹ, toán tử điều kiện, toán tử tăng/giảm 1, toán tử &, *, độ ưu tiên của các toán tử
- Khái niệm biến, hằng, biểu thức
- Lệnh khai báo biến, hằng
- Đọc chương 2, 3 tài liệu [1], chương 2 tài liệu [2].
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 3: Cấu trúc chương trình đơn giản và xuất nhập dữ liệu đơn giản
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
Cấu trúc chương trình và nhập xuất dữ liệu
- Cấu trúc, ý nghĩa các thành phần
- Lệnh và khối lệnh;
- Biên dịch và thực hiện chương trình
- Ví dụ chương trình đơn giản để minh hoạ- Sử dụng các hàm nhập / xuất chuẩn của C (cách dùng, ý nghĩa, định dạng dữ liệu nhập xuất)
- Ví dụ: nhập 2 số nguyên và in ra màn hình
- Giới thiệu cách sử dụng một số hàm thông dụng trong thư viện C
- Đọc chương 4 tài liệu [1], chương 1 tài liệu [2].
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 4: Bài tập
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Theo bố trí của P2
· Bài 1- Tính giá trị của hàm f(x)= anxn + an-1xn-1+ …+ a1x1+ a0
· Bài 2 – Tính Delta của phương trình bậc 2: ax2+bx+c=0
· Bài 3- Tính định thức của ma trận vuông cấp 3.
- Chuẩn bị trước các bài tập ở nhà
Tự học, tự nghiên cứu
Tuần 5: Các cấu trúc điều khiển
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
- Cấu trúc điều khiển
- Cấu trúc rẽ nhánh if: cú pháp, sơ đồ khối của cấu trúc, ý nghĩa
- Ví dụ 1: chương trình nhập số nguyên dương, kiểm tra số đó có là số chính phương hay không;
- Ví dụ 2: chương trình tìm nghiệm của phương trình bậc 2- Cấu trúc rẽ nhánh switch: cú pháp, ý nghĩa
· Ví dụ (minh hoạ cấu trúc switch): nhập biểu thức đơn giản dạng a (b ((: có thể là phép toán số học, hoặc quy ước x, : ) tính giá trị của biểu thức đó
- Đọc các phần tương ứng trong chương 5 của [1], chương 3 của [2].
- Làm bài tập về nhà
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 6: Các cấu trúc điều khiển
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
- Cấu trúc lặp while: cú pháp, sơ đồ khối của cấu trúc, ý nghĩa (chú tới điều kiện trước)
- Ví dụ 1 (minh hoạ cấu trúc while): tính n!; - Ví dụ 2: tính tổng
1
2
1
n
i
i
=
å
, với i = 1 ( n; - Ví dụ 3: kiểm tra số nguyên tố- Cấu trúc lặp do while: cú pháp, sơ đồ khối của cấu trúc, ý nghĩa (phân biệt điều kiện lặp với while)
- Ví dụ 1 (minh hoạ cấu trúc do while): Viết chương trình nhập dãy các số nguyên dương từ bàn phím, cho tới khi nhập số âm thì kết thúc nhập, in giá trị lớn nhất;
- Đọc các phần tương ứng trong chương 5 của [1], chương 3 của [2].- Làm bài tập về nhà
- Làm thêm các bài tập (tham khảo)
- C1: tính cos(x) theo công thức khai triển Taylor
- C2: Tính tổng 1/(i!) với i: 1( n
- C3: Tìm n số nguyên tố đầu tiên
- C4: Nhập n số thực, tìm và in giá trị lớn nhất, nhỏ nhất- C5: Viết chương trình nhập dãy các số nguyên dương từ bàn phím, cho tới khi nhập số âm thì kết thúc nhập, tìm giá trị lớn nhất và số phần tử bằng giá trị lớn nhất đó
- C6: Viết chương trình chọn ngẫu nhiên một kí tự c nào đó, cho phép lặp nhập một kí tự từ bàn phím, nếu trùng với c thì thông báo chọn đúng và kết thúc
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 7: Các cấu trúc điều khiển
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
- Cấu trúc lặp for: cú pháp, sơ đồ khối của cấu trúc, ý nghĩa (chú tới trường hợp các biểu thức rỗng, nhiều biều thức cách nhau bởi dấu phẩy)
- Ví dụ 1: In các kí tự từ A - Z
- Ví dụ 2: Giải bài toán vui trăm trâu trăm cỏ
- Ví dụ 3: Nhập số n, in các số hoàn chỉnh <= n
- Câu lệnh break, continue, kết thúc sớm vòng lặp
Bài tập về nhà:
- Bài 4 - Nhập dãy có n số thực, hãy xác định trật tự của dãy đó (tăng, giảm, điều hay không có thứ tự)
- Bài 5 - Nhập n, in n số fibonaxi đầu tiên
- Bài 6 - Nhập số n, in các số nguyên tố 2..n
- Bài 7 - Viết chương trình nhập dãy các số nguyên dương từ bàn phím, cho tới khi nhập số âm thì kết thúc nhập, tìm giá trị lớn nhất và số phần tử bằng giá trị lớn
Đọc các phần tương ứng trong chương 5 của [1], chương 3 của [2].
- Làm thêm bài tập (tham khảo)
- C7: Viết chương in bảng cửu chương ra màn hình- C8: Tính đại lượng S=
n
n
2
)
1
(
2
..
4
2
+
-
+
+
+
với n cho trước
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 8: Bài tập (6 tiết)
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Bài tập
Theo bố trí của P2
· Bài 8 -Viết chương trình nhập số n, tìm và in các số nguyên tố thuộc 2..n
· Bài 9: Kiểm tra số fibonaxi
· Bài 10: Kiểm tra số hoàn chỉnh
· Bài 11: Tính sin(x) theo công thức khai triển Taylor với độ chính xác cho trước
· Bài 12: Nhập dãy có n số thực, hãy xác định trật tự của dãy đó (tăng, giảm, điều hay không có thứ tự)
· Bài 13: Nhập n, in n số fibonaxi đầu tiên
· Bài 14: Nhập số n, in các số nguyên tố 2..n
· Bài 15: Viết chương trình nhập dãy các số nguyên dương từ bàn phím, cho tới khi nhập số âm thì kết thúc nhập, tìm giá trị lớn nhất và số phần tử bằng giá trị lớn
Chuẩn bị trước các bài tập về nhà và bài tập tham khảo
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 9: Mảng, con trỏ và xâu ký tự
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
1. Mảng 1 chiều
- Khái niệm, lệnh khai báo mảng 1 chiều, truy xuất các phần tử, lưu ý trường hợp truy xuất vượt chỉ số, bố trí các phần tử trong bộ nhớ, giá trị khởi đầu các phần tử
- Ví dụ 1: Nhập mảng có n phần tử kiểu nguyên, in các phần tử của mảng
- Ví dụ 2: Nhập 2 mảng có n phần tử kiểu nguyên, tính và in mảng tổng
2. Mảng 2 chiều
- Khái niệm, lệnh khai báo mảng 1 chiều, truy xuất các phần tử, lưu ý trường hợp truy xuất vượt chỉ số dòng, cột, sắp xếp các phần tử trong bộ nhớ, liên hệ giữa chỉ số dòng, cột với số thứ tự
- Ví dụ 1: Nhập mảng có n dòng, m cột các phần tử kiểu nguyên, in các phần tử của mảng ra màn hình
- Ví dụ 2: Nhập 2 mảng A,B có n, m cột các phần tử kiểu nguyên, tính và in mảng C=A+B
- Ví dụ 3: Nhập 2 vector có n phần tử kiểu nguyên, kiểm tra 2 vector đó có vuông góc với nhau hay không
Bài tập về nhà:
· Bài 16: Sắp xếp mảng 1 chiều bằng phương pháp chọn (đổi chỗ - nổi bọt)
- Đọc chương 2 trong [1], chương 5 trong [2]
· Làm bài tập về nhà
· Làm thêm các bài tập (tham khảo)
- C9: Nhập mảng có n phần tử kiểu nguyên theo trật tự tăng dần, in các phần tử khác nhau của mảng
- C10: Nhập 2 mảng theo trật tự tăng dần, trộn 2 mảng để được có thứ tự tăng dần
- C11: Nhập mảng có n phần tử kiểu nguyên, in các phần tử khác nhau của mảng
- C12: Tìm kiếm bằng phương pháp chia đôi trên mảng có thứ tự
Bài tập
Chữa các bài tập: Bài 9, Bài 10, Bài 11
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 10: Mảng, con trỏ và xâu ký tự
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
Mảng, con trỏ và xâu ký tự (2)
- Giới thiệu mảng nhiều chiều
- Con trỏ và các phép toán trên con trỏ: Khai báo con trỏ, phép gán con trỏ, truy xuất giá trị qua con trỏ, số học địa chỉ
- Cấp phát vùng nhớ cho con trỏ (giới thiệu qua về cấp phát động new, và giải phóng vùng nhớ delete)
- Liên hệ giữa con trỏ và mảng
- Ví dụ: Cấp phát động mảng 1 chiều, nhập và in mảng đó bằng các dùng con trỏBài tập:
· Bài 17: Nhập 2 mảng A(n,m), B(m,n) phần tử kiểu số thực, tính và in mảng C=A*B
· Bài 18: Nhập 2 mảng A(n,m), B(m,n) phần tử kiểu số thực, kiểm tra A có là hoán vị của B hay không
· Bài 19: Nhập A(n,n) với n không giới hạn trước, kiểm tra A có là ma trận đơn vị không?
· Bài 20: Xây dụng ma trận A(n,m), sao cho các phần tử có giá trị theo dạng xoắn ốc (n, m không giới hạn trước)
- Đọc chương 6 trong [1], chương 5 trong [2]
- Làm bài tập về nhà
- Làm bài tập tham khảo
- C13: Cho ma trận m dòng, n cột
a) Tìm phần tử lớn nhất mỗi cột và đặt chúng vào dòng cuối cùng.
b) Tìm phần tử nhỏ nhất mỗi dòng và đặt chúng vào cột đầu tiên.
c) Sắp xếp dòng thứ 2 theo thứ tự giảm dần.
d) Sắp xếp cột 4 theo thứ tự tăng dần.
Bài tập
Chữa các bài tập: Bài 13, Bài 14, Bài 15, Bài 16
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 11: Mảng, con trỏ và xâu ký tự
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
Mảng, con trỏ và xâu ký tự (3)
- Xâu kí tự: Khái niệm, khai báo xâu kí tự
- Giới thiệu một số hàm làm việc với xâu kí tự: nhập, in, so sánh, sao chép, tìm kiếm, chuyển đổi chữ hoa/ chữ thường
- Ví dụ: Nhập mảng các xâu kí tự dài không quá 30, sắp xếp theo thứ tự tăng, in mảng sau khi sắp xếp.
Bài tập về nhà:
· Bài 21: Nhập xâu họ tên (không quá 40 kí tự), chuẩn hoá xâu đó (kí tự đầu từ viết hoa, các kí tự khác viết thường, các từ cách nhau 1 dấu cách)
· Bài 22: Nhập 3 xâu s1, s2, s3 (không quá 40 kí tự), thay xâu s2 bằng s3 trong s1
· Bài 19: Nhập xâu kí tự. Đưa xâu đó về dạng chuẩn
· Bài 23: Nhập xâu kí tự và tìm từ dài nhất trong xâu.
- Đọc các chương 5 trong [2], chương 6 trong [1]
- Làm bài tập về nhà
- Tra cứu một số hàm thư viện string
- Làm bài tập tham khảo
- C14: Viết chương trình đổi 1 số trong hệ thập phân sang hệ nhị phân.
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 12: Giới thiệu về hàm
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
Cơ bản về hàm (1)
- Khái niệm hàm, ý nghĩa ưu điểm của việc sử dụng hàm- Nguyên mẫu hàm, định nghĩa hàm, giá trị trả về của hàm
- Lời gọi hàm
- Ví dụ 1: viết hàm kiểm tra số nguyên tố, sử dụng hàm đó để in n số nguyên tố đầu tiên- Truyền tham số: tham trị, con trỏ
Đọc các chương 4 trong [2], chương 6 trong [1].
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
Tuần 13: Giới thiệu về hàm (tiếp)
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
Cơ bản về hàm (2)
- Các loại biến, phạm vi của biến
- Ví dụ 2: viết hàm nhập mảng 1 chiều, hàm in mảng, hàm tích vô hướng 2 vector; sử dụng các hàm trên để kiểm tra 2 vector có vuông góc với nhau hay không?- Hàm đệ quy
- Giới thiệu về hàm inline
- Đối của hàm main
- Hàm với đối số bất định
- Ví dụ 3: Tìm ước số chung lớn nhất bằng hàm đệ quy
- Ví dụ 4: Xây dựng hàm tìm min của dãy n số (đối số chưa xác định)
-B19: Xây dựng hàm tìm kiếm phần tử trong mảng có thứ tự bằng phương pháp chia đôi
Bài tập:
- Bài 24: Viết hàm tính ước số chung lớn nhất của 2 số tự nhiên a, b.
- Bài 25: Viết hàm xác định một số tự nhiên có phải nguyên tố hay không.
- Bài 26: Viết hàm nhập mảng, in mảng, hàm sắp xếp mảng bằng phương pháp chia đôi; hàm main sử dụng các hàm trên.
- Bài 27: Viết hàm nhập ma trận, in ma trận, hàm nhân 2 ma trận, hàm kiểm tra ma trận đơn vị; hàm main sử dụng các hàm trên để nhập và kiểm tra 2 ma trận có là nghịch đảo của nhau hay không.
Đọc các chương 4 trong [2], chương 6 trong [1].
Bài tập
Chữa các bài tập: Bài 24, Bài 25
Thảo luận
Thực hành, thí nghiệm…
Tự học, tự nghiên cứu
Tuần 14: Cấu trúc dữ liệu trừu tượng
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
Cấu trúc dữ liệu
- Khái niệm trừu tượng hoá dữ liệu
- Dữ liệu kiểu struct (khái niệm, khai báo, cách sử dụng)
- Ví dụ 1: Xây dựng cấu trúc phân số (PS1) gồm: Tử số, mẫu số và các hàm: nhập, in, tối giản
- Ví dụ 2: Xây dựng cấu trúc Sinh viên
Đọc các chương 2, 6 trong [1]
Bài tập
Thảo luận
Thực hành, thí nghiệm…
Tự học, tự nghiên cứu
Tuần 15: Làm việc với tệp, Ôn tập
Hình thức tổ chức
dạy học
Thời gian, địa điểm
Nội dung chính
Yêu cầu sinh viên chuẩn bị
Ghi chú
Lý thuyết
Theo bố trí của P2
Làm việc với tệp
- Khái niệm kiểu FILE, các mode làm việc (nhị phân, văn bản)
- Mở /đóng tệp, định vị con trỏ
- Đọc/ghi tệp (tuần tự, ngẫy nhiên)
- Ví dụ 1: Nhập 2 ma trận A(n,m), B(m,n) từ bàn phím, tính C= A*B rồi ghi A,B,C vào tệp (theo dạng văn bản);
- Ví dụ 2: Giả sử có tệp các số nguyên (dạng text) ghi các phần tử của mảng theo dạng: dòng 1 ghi số phần tử, dòng thứ 2 ghi các phần từ cách nhau bởi dấu trống; viết chương trình đọc các giá trị đó vào mảng, sắp xếp tăng dần rồi ghi vào cuối của tệp đó.
Bài tập về nhà:
- B28: Nhập tên, điểm của học sinh hai lớp vào hai tệp văn bản, mỗi học sinh ghi trên một dòng của tệp
Ôn tập
- Ôn tập các nội dung lý thuyết
- Chữa các bài tập
- thảo luận các hướng giải bài toán, các vấn đề gặp phải khi lập trình.
- Đọc các chương 2 trong [2], chương 10 trong [1].
- Làm bài tập về nhà
Bài tập
Thảo luận
Thực hành, thí nghiệm...
Tự học, tự nghiên cứu
8. Chính sách đối với môn học và các yêu cầu khác của giáo viên
Yêu cầu và cách thức đánh giá, sự hiện diện trên lớp, mức độ tích cực tham gia các hoạt động trên lớp, các qui định về thời hạn, chất lượng các bài tập, bài kiểm tra….
· Lên lớp nghe giảng, tham gia thảo luận, chuẩn bị tốt phần tự học, bài tập.
· Sinh viện phải chuẩn bị các nội dung theo yêu cầu trong đề cương môn học trước mỗi buổi học
· Ngoài các bài tập được giao về nhà, giáo viên có thể kiểm tra (viết, trên máy) bất kỳ buổi nào, nội dung nào trong nội dung môn học.
· Có mặt trên lớp ít nhất là 60/75 giờ học
· Mỗi sinh viên lên chữa bài tập không ít hơn 1 lần
· Bài tập và bài kiểm tra đạt không dưới 5/10
· Tham gia các buổi thực hành, kiểm tra
· Các bài tập được giao nếu phát hiện sao chép sẽ nhận điểm 0
· Chuẩn bị tốt các bài tập tham khảo
· Các bài tập phải nộp đúng hạn, có thể làm lại nếu muốn điểm cao hơn.
9. Phương pháp, hình thức kiểm tra - đánh giá kết quả học tập môn học
Phân chia các mục tiêu cho từng hình thức kiểm tra - đánh giá
9.1. Kiểm tra – đánh giá thường xuyên
Mục đích: Sinh viên nắm vững giải thuật và biết cách dùng ngôn ngữ C để giải các bài toán
Giải được một số bài tập điển hình;
Các mục tiêu:
1. Hiểu và vận dụng thành thạo các kỹ năng lập trình, cú pháp của ngôn ngữ lập trình;
2. Đủ khả năng giải quyết được bất cứ bài tập lập trình nào;
Các kỹ thuật đánh giá
Đọc phần tài liệu đã hướng dẫn theo từng phần;
Bài tập theo từng nội dung môn học;
Kiểm tra giữa kỳ và thi cuối kỳ.
9.2. Kiểm tra - đánh giá định kì: Bao gồm các phần sau (trọng số của từng phần do giảng viên đề xuất, chủ nhiệm bộ môn thông qua):
STT
Nội dung
Trọng số (%)
Ghi chú
1.
Tham gia học tập trên lớp (đi học đầy đủ, chuẩn bị bài tốt và tích cực thảo luận, …)
10
2.
Phần tự học, tự nghiên cứu (hoàn thành tốt nội dung, nhiệm vụ được giao /tuần; bài tập nhóm /tháng; bài tập cá nhân/ học kì, …);
10
3.
Hoạt động theo nhóm
0
4.
Kiểm tra - đánh giá giữa kì
20
5.
Kiểm tra - đánh giá cuối kì
60
6.
Các kiểm tra khác
0
9.3. Tiêu chí đánh giá các loại bài tập
1 Bài tập áp dụng:
- Viết đúng, sử dụng biến hợp lý, chương trình viết dạng module,..: 10 điểm
- Viết đúng, viết chương trình ở dạng module:
7-9 điểm
- Viết đúng, chạy được chương trình trong một số điều kiện: 5-6 điểm
- Làm sai, không làm được:
1 – 4 điểm
9.4. Lịch thi, kiểm tra (kể cả thi lại)
STT
Nội dung thi, kiểm tra
Lịch thi
Lịch kiểm tra
Ghi chú
1.
Toàn bộ 8 nội dung
Thi cuối kỳ
Theo lịch chung của Hv
2.
Thi lại
Theo lịch chung của Hv
Giảng viên
(Ký và ghi rõ họ tên)
Nguyễn Thị Hiền
Chủ nhiệm Bộ môn
(Ký và ghi rõ họ tên)
1// Nguyễn Mạnh Hùng
Chủ nhiệm Khoa
(Ký và ghi rõ họ tên)