nâng cao năng lực dạy học thuật toán

212 1.2K 7
nâng cao năng lực dạy học thuật toán

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 1 Nâng cao năng lực Nâng cao năng lực dạy học Thuật toán dạy học Thuật toán Nguyễn Thế Dũng Nguyễn Thế Dũng Khoa Tin học – ĐHSP Huế. Khoa Tin học – ĐHSP Huế. http://sites.google.com/site/nguyenthedunghue/ http://sites.google.com/site/nguyenthedunghue/ 2 2 Nội dung Nội dung Chủ đề 1: Giới thiệu về thuật toán Chủ đề 2: Phân tích tính hiệu quả của thuật toán Chủ đề 3: Phương pháp “tham lam” Chủ đề 4: Phương pháp “chia để trị” Chủ đề 5: Phương pháp qui hoạch động Chủ đề 6: Thuật toán trên đồ thị Chủ đề 7: Phương pháp xác suất Chủ đề 8: Về độ phức tạp tính toán 3 3 Tài liệu tham khảo Tài liệu tham khảo 1. Nâng cao năng lực dạy học thuật toán – Nguyễn Đức Nhuận – Nguyễn Thế Dũng. 2. Giải thuật và lập trình – Lê Minh Hoàng. 4 4 Tài liệu tham khảo Tài liệu tham khảo 3. Thuật Toán – Nguyễn Xuân Huy. 4. Một số vấn đề chọn lọc trong Tin học - Nguyễn Xuân My và một số tác giả. 5. Lý thuyết độ phức tạp tính toán - Phan Đình Diệu. 6. Trí tuệ nhân tạo – Hoàng Lan Giao – ĐHKH Huế. 7. Slide này có tham khảo slide Phân tích – thiết kế thuật toán – Phan Hà Hạnh Dương – ĐHQG Hà Nội Một số khó khăn trong dạy học lập trình Một số khó khăn trong dạy học lập trình  Học sinh khó hiểu.  Chuyển sang lập trình rất khó khăn. • Sự khác nhau giữa lập trình và thuật toán.  Cái nhìn về thuật toán chưa khái quát. • Phân lớp, đánh giá thuật toán… • Nói chung dạyhọc thuật toán là khó, đòi hỏi đam mê!!!. • Vì sao??? Làm sao???  Kinh nghiệm giảng dạy bồi dưỡng.  Quan điểm nhận xét về chương trình, nội dung liên quan đến thuật toán.  Trao đổi 1 bài dạy về lập trình cụ thể. 7 7 Chủ đề 1: Giới thiệu về thuật toán Chủ đề 1: Giới thiệu về thuật toán I. Khái niệm thuật toán II. Một số ví dụ III. Đánh giá thuật toán trong trường hợp xấu nhất và theo trung bình IV. Về thuật toán hiệu quả V. Một số bài toán cụ thể VI. Cấu trúc dữ liệu 8 8 Khái niệm về thuật toán Khái niệm về thuật toán Thuật toán: Dữ kiện vào K ế t q u ả r a Quá trình tính toán Một dãy các bước tính toán Một dãy số D ã y s ố đ ư ợ c s ắ p x ế p Thuật toán sắp xếp  Một định nghĩa bài bản về thuật toán xin xem thêm trong các giáo trình “Automat và ngôn ngữ hình thức”.  Có liên quan đến Máy tính điện tử logic – máy Turing, tính giải được của bài toán và lý thuyết hàm đệ qui. 10 10 Đánh giá thuật toán Đánh giá thuật toán Giải quyết một bài toán. Vấn đề: Có nhiều thuật toán. Chọn thuật toán nào ? Mô hình hóa Lập chương trình Viết thuật toán [...]... pháp thực nghiệm: Lập trình, và thử trên các ví dụ xem thuật toán nào nhanh Phương pháp lý thuyết: Tính toán thời gian, bộ nhớ, … cần thiết của mỗi thuât toán dựa theo độ lớn của dữ liệu vào Ưu điểm: - không phụ thuộc ngôn ngữ lập trình, loại máy tính - Biết được tính hiệu quả của thuật toán đối với các dữ liệu có kích thước lớn 11 Đánh giá thuật toán trong trường hợp xấu nhất và theo trung bình Ví dụ:... f(n) = O (g(n)) ≈ a≤b f(n) = Ω (g(n)) ≈ a≥b f(n) = θ (g(n)) ≈ a=b f(n) = o (g(n)) ≈ ab Tiểu luận: Độ phức tạp thuật toán Lớp các bài toán với các độ phức tạp Đánh giá độ phức tạp của các thuật toán đệ qui Đánh giá các thuật toán cơ bản ở sách Tin học lớp 11 29 Sắp xếp các hàm sau theo quan hệ 0 và θ 30 Một số hàm cơ bản 1 n^b = o(a^n), với mọi a>1 và b 2 e^x = 1 + x + θ(x^2),... find(x){ } // tìm phần tử có giá trị x procedure merge(a,b) // tìm hợp của hai tập được sắp Đề tài tiểu luận: Xây dựng các thuật toán mô tả các thao tác cơ bản trên: dãy, cây nhị phân 22 Chủ đề 2: Phân tích tính hiệu quả của thuật toán I Các ký hiệu đánh giá tiệm cận II Phân tích thuật toán III Giải các phương trình đệ qui IV Một số ví dụ 23 Ký hiệu O: O(g(n)) = {f(n): tồn tại hằng số c và N để: 0 ≤ f(n) 1 Tìm thuật toán tính... nghĩa: F(0) = 0, F(1) = 1, và F(n) = F(n-1) + F(n-2) với n > 1 Tìm thuật toán tính số Fibonacci thứ n 15 Thuật toán thứ nhất và thứ hai function fib1(n){ if n < 2 then return n; else return fib1(n-1) + fib2(n-2); } function fib2(n){ a= 0; b = 1; for k = 1 to n do {c=b; b = a+b; a=c;} return b; } 16 Thuật toán thứ ba fonction fib3(n){ i = 1; j = 0; k = 0; h = 1; while n>0 do { if (n lẻ) then { t = j*h; j . 1 1 Nâng cao năng lực Nâng cao năng lực dạy học Thuật toán dạy học Thuật toán Nguyễn Thế Dũng Nguyễn Thế Dũng Khoa Tin học – ĐHSP Huế. Khoa Tin học – ĐHSP Huế. http://sites.google.com/site/nguyenthedunghue/ http://sites.google.com/site/nguyenthedunghue/ 2 2 Nội. qui. 10 10 Đánh giá thuật toán Đánh giá thuật toán Giải quyết một bài toán. Vấn đề: Có nhiều thuật toán. Chọn thuật toán nào ? Mô hình hóa Lập chương trình Viết thuật toán 11 11 Phương pháp. khăn. • Sự khác nhau giữa lập trình và thuật toán.  Cái nhìn về thuật toán chưa khái quát. • Phân lớp, đánh giá thuật toán • Nói chung dạy và học thuật toán là khó, đòi hỏi đam mê!!!. • Vì sao???

Ngày đăng: 01/07/2014, 12:35

Mục lục

  • Nâng cao năng lực dạy học Thuật toán

  • Nội dung

  • Tài liệu tham khảo

  • Slide 4

  • Một số khó khăn trong dạy học lập trình

  • Slide 6

  • Chủ đề 1: Giới thiệu về thuật toán

  • Khái niệm về thuật toán

  • Slide 9

  • Đánh giá thuật toán

  • Phương pháp đánh giá

  • Đánh giá thuật toán trong trường hợp xấu nhất và theo trung bình

  • Ví dụ

  • Ví dụ: dãy Fibonacci

  • Thuật toán thứ nhất và thứ hai

  • Thuật toán thứ ba

  • Ví dụ về thời gian chạy (Pascal, CDC Cyber 835)

  • Cấu trúc dữ liệu

  • Đồ thị

Tài liệu cùng người dùng

Tài liệu liên quan