Mẫu Đề cương môn họcfit.mta.edu.vn/files/FileMonHoc/LTCB-HCTCMoi(20134789).doc · Web...

23
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ỉ 1

Transcript of Mẫu Đề cương môn họcfit.mta.edu.vn/files/FileMonHoc/LTCB-HCTCMoi(20134789).doc · Web...

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)

_1315024246.unknown
_1315024247.unknown