Xem mẫu

  1. MỘT CÁCH XÂY DỰNG KHUNG NĂNG LỰC KHOA HỌC MÁY TÍNH THEO CHỦ ĐỂ CHO SINH VIÊN NGÀNH SƯ PHẠM TIN HỌC Vũ Đức Thông, Trường CĐSP Trung Ương Tóm tắt Đào tạo theo hướng tiếp cận năng lực đã đang được thực hiện trên thế giới và ở Việt nam. Hướng tiếp cận này cũng đang được triển khai và phát triển mạnh mẽ tại các trường Đại học sư phạm, tuy nhiên để đào tạo theo hướng tiếp cận năng lực chúng ta cần thiết phải xây dựng được khung năng lực cho từng chuyên ngành hoặc ngành đào tạo. Mục đích bài viết đề xuất một cách xây dựng khung năng lực khoa học máy tính (KHMT) cho ngành sư phạm Tin học dựa trên các chủ đề, năng lực chính của KHMT. Bằng phương pháp tổng hợp các tài liệu liên quan về chủ đề này và ý kiến của chuyên gia giảng dạy trong lĩnh vực KHMT. Cơ sở đề xuất được dựa vào các chủ đề của chương trình giảng dạy KHMT tại các trường đại học sư phạm, năng lực của KHMT và các phân loại học của Dreyfus. Kết quả thu được là cách xây dựng Khung năng lực KHMT thông qua chủ đề thuật toán và lập trình (LT) của KHMT cho sinh viên sư phạm tin học (SVSPTH). Chúng tôi mong muốn rằng với cách đề xuất xây dựng khung năng lực này sẽ xây dựng được một khung năng lực KHMT hoàn chỉnh để xây dựng chương trình đào tạo và đánh giá năng lực chuyên môn KHMT của các sinh viên sư phạm tin học. Từ khóa: Năng lực, Khoa học máy tính, giải thuật, lập trình, sư phạm tin học. 1. Mở đầu Ngày 26/12/2018 Bộ giáo dục và đào tạo đã ra chương trình giáo dục phổ thông môn Tin học với sinh viên từ lớp 3 đến lớp 12 với nội dung kiến thức tin học gồm 3 mạch kiến thức a) CS: KHMT KHMT; b) CNTT&TT : Công nghệ thông tin và truyền thông; c) DL: Học vấn số hoá phổ thông. Bên cạnh đó là 5 năng lực mà học sinh cần đạt được của từng lớp học bậc học như Nla: Sử dụng và quản lí các phương tiện công nghệ thông tin và truyền thông; NLb: Ứng xử phù hợp trong môi trường số; NLc: Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông; NLd: Ứng dụng công nghệ thông tin và truyền thông trong học và tự học; NLe: Hợp tác trong môi trường số. Cùng với một số chủ đề Chủ đề A: Máy tính và xã hội tri thức; Chủ đề B: Mạng máy tính và Internet; Chủ đề C: Tổ chức lưu trữ, tìm kiếm và trao đổi thông tin; Chủ đề D: Đạo đức, pháp luật và văn hoá trong môi trường số; Chủ đề E: Ứng dụng tin học; Chủ 479
  2. đề F: Giải quyết vấn đề với sự trợ giúp của máy tính; Chủ đề G: Hướng nghiệp với tin học. Đây là chương trình dạy học mới cho học sinh tại nhà trường phổ thông do đó việc đào tạo giáo viên tin học trong nhà trường sư phạm tại các trường đại học thì các sinh viên cũng phải được đào tạo đầy đủ các lĩnh vực tin học tối thiểu theo các mạch kiến thức; năng lực và các chủ đề sau này giảng dạy tại các trường phổ thông. Bài viết này đề cập đến một cách xây dựng khung năng lực theo mạch kiến thức, chủ đề KHMT được đã được đề cập trong đào tạo SVSPTH. 2. Tổng quan 2.1. Khái niệm Khoa học máy tính (Computer Science – CS): Khoa học nghiên cứu các nguyên lí và thực hành làm cơ sở cho sự hiểu biết và mô hình hoá tính toán, ứng dụng của chúng trong việc phát triển máy tính và các hệ thống máy tính. Ngày nay, KHMT được xem là nền tảng cho các ngành khác trong lĩnh vực CNTT&TT nghiên cứu về các nguyên tắc cơ bản và thực tiễn của việc tính toán, tư duy tính toán và ứng dụng chúng trong việc thiết kế và phát triển phần cứng, phần mềm, các hệ thống máy tính. (Thông tư 32/2018/TT-BGDĐT) 2.2. Đặc điểm của khoa học máy tính Đặc điểm đặc biết của KHMT là lý thuyết / toán học; mô hình hóa / trừu tượng; thiết kế / kỹ thuật của nó (Denning và cộng sự, 1989; Wegner, 1976) - Đặc điểm “Lý thuyết” được sử dụng trong việc phát triển và hiểu các nguyên tắc toán học cơ bản áp dụng cho môn học này. Các yếu tố của quá trình này là định nghĩa và tiên đề cũng như các định lý, bằng chứng và giải thích kết quả. - Đặc điểm “Trừu tượng hóa” bắt nguồn từ các khoa học thực nghiệm và dựa trên thiết kế của bộ sưu tập dữ liệu thí nghiệm tiến hành phân tích kết quả và mô hình hóa và đưa ra dự đoán và hình thành giả thuyết. - Đặc điểm “Thiết kế” bắt nguồn từ kỹ thuật và được sử dụng trong việc phát triển hệ thống hoặc thiết bị cụ thể để giải quyết một vấn đề nhất định. Quá trình này có các phần sau: Xác định các yêu cầu, xây dựng các thông số kỹ thuật, thiết kế và thực hiện và cuối cùng là thử nghiệm và phân tích hoạt động của sản phẩm. Đặc điểm kỹ thuật (thiết kế), liên quan đến các sản phẩm cụ thể được tạo ra bởi con người, trái ngược với những thứ xuất hiện tự nhiên và những thứ trừu tượng. Nguồn gốc của tin học nằm trong toán học và công nghệ, những cải tiến trong lĩnh vực tin học là cải tiến thuật toán và cải tiến công nghệ 480
  3. - Một số đặc điểm khác áp dụng riêng cho KHMT như là nguyên tắc đó là quá trình nghiên cứu và các giải pháp vấn đề là bản chất của, KHMT. Giải quyết vấn đề là tạo ra một giải pháp hiệu quả và là mục tiêu cốt lõi của một chuyên gia về KHMT. KHMT tập trung vào việc mô hình hóa thế giới thực, đại diện cho các lĩnh vực có tính đa dạng và phức tạp nhất, đại diện cho kiến thức nói chung và xử lý các quy trình và giải pháp cho các vấn đề trong các lĩnh vực đó. Để giải quyết những vấn đề phức tạp của các lĩnh vực, có một nhu cầu thiết yếu là trừu tượng tức là phân chia các vấn đề thành các bài toán con và các mô-đun. Sử dụng lại các giải pháp trước đó là những năng lực cần thiết của nhà nghiên cứu KHMT. Một đặc điểm khác của KHMT là tính sáng tạo, tính mới mẻ chúng có liên quan đến việc tìm kiếm các giải pháp cho các vấn đề. KHMT đang ngày càng trở nên đa ngành, và do đó các chuyên gia và các nhà nghiên cứu cần kỹ năng giao tiếp tốt không chỉ với nhau mà còn với các chuyên gia trong các lĩnh vực khác. KHMT là khoa học liên ngành với đặc điểm cốt lõi là lý thuyết / toán học; mô hình hóa / trừu tượng; thiết kế / kỹ thuật, bên cạnh đó còn có một số đặc điểm khác là giải quyết vấn đề, tính sáng tạo khoa học liên ngành với sự biến đổi nhanh chóng. 2.3. Một số chủ đề trong giáo dục KHMT 2.3.1. Một số chủ đề KHMT trên thế giới Khi đào tạo SVSPTH tại Mỹ (Competencies for Secondary Teachers) đã xây dựng một số chủ đề: Hệ thống tính toán (Computing Systems); Mạng và Internet (Networks and the Internet); Dữ liệu và phân tích dữ liệu (Data and Analysis) ; Thuật toán và lập trình (Algorithms and Programming); Tác động của máy tính (Impacts of Computing); Sản phẩm (Computational Artifacts); Kỷ luật (Disciplinary Literacy); 2.3.2. Một số chủ đề KHMT trong chương trình giáo dục ở phổ thông Thông tư 32/2018/TT-BGDĐT Các chủ đề KHMT gồm 7 chủ đề chính: Hệ thống máy tính; mạng và thiết kế hệ thống mạng; thuật toán và LT; Rô bốt; Trí tuệ nhân tạo; khoa học dữ liệu; Học máy. 2.4. Năng lực Tin học Khi thống kê những năng lực trong Tin học Christina Dörge (2010) đã đưa ra những năng lực chính như sau: Tư duy trừu tượng (Abstract thinking); Tư duy thuật toán (Algorithmic thinking); Tư duy phân tích (Analytical thinking); Năng lực đánh giá (Assessment competency); Năng lực thiết kế (Design competency); Tư duy chính thức (Formal thinking); Học tập di truyền / năng lực lịch sử (Genetic learning / historical competency); Năng lực heuristic (Heuristic competency); Nhận thức về tác động của xã 481
  4. hội (Awareness of implications on society); Năng lực ngôn ngữ hình thức ; Linguistic competence (formal); Năng lực ngôn ngữ (tự nhiên) Linguistic competence (natural); Năng lực toán học (Mathematical competency); Năng lực phương pháp (Methodological competency); Năng lực xây dựng mô hình (Model-building competency); Năng lực giải quyết vấn đề; Problem-solving competency; Năng lực khoa học (General scientific competency); Năng lực phản ánh (Reflection competency); Năng lực mô phỏng (Simulation competency); Năng lực phát triển phần mềm (Software development competency); Tư duy cấu trúc (Structured thinking); Tư duy hệ thống (Systematic thinking); Tư duy lý thuyết (Theoretical thinking); Kỹ năng người dùng (User skills). KHMT là một mạch trong lĩnh vực Tin học nên cũng có những thành phần năng lực trên. 2.5. Xây dựng khung năng lực 2.5.1. Trên thế giới Để đào tạo theo tiếp cận năng lực trong lĩnh vực KHMT của ngành sư phạm Tin học thì phải xây dựng một khung năng lực trong KHMT, đến nay đã được nhiều quốc gia quan tâm và xây dựng, tuy nhiên do lĩnh vực giáo dục tin học tại các nước có sự khác biệt nên đến nay chưa có một chương trình chung nào để xây dựng khung năng lực trong lĩnh vực này sau đây là một số cách xây dựng năng lực KHMT của một số quốc gia. Tại Đức, Kathrin Bröker và cộng sự (2014) một chương trình nghiên cứu quốc gia về Mô hình hóa và Đo lường Năng lực trong Giáo dục Đại học (KoKoHs) đã được khởi xướng vào năm 2011. Chương trình này bao gồm 70 dự án từ Đức và Áo nhằm mô hình hóa và đánh giá các năng lực chung và cụ thể theo miền trong các lĩnh vực khác nhau, bao gồm giáo dục khoa học, đào tạo giáo viên, tâm lý học, khoa học xã hội, kỹ thuật, kinh doanh và kinh tế. Các dự án của KoKoHs có tính đến các yêu cầu liên quan đến công việc và chương trình học, chuyển đổi các mô hình năng lực lý thuyết thành công cụ đo lường và xác nhận các diễn giải điểm kiểm tra; Bốn dự án của KoKoHs cung cấp các ví dụ về mô hình năng lực và phương pháp đánh giá, đồng thời xác định các thách thức trong nghiên cứu đánh giá của giáo dục đại học. Mô hình năng lực KHMT của Đức với nền tảng là năng lực lý thuyết và phân loại học của Bloom được cải tiến. Cụ thể khung năng lực KHMT gồm có 5 năng lực: Ứng dụng hệ thống, Hiểu hệ thống, Phát triển hệ thống, Thái độ đối với hệ thống tin học và Giao tiếp với xã hội. Mức độ phân cấp cụ thể là 3 mức theo cải tiến Bloom của Fuller và cộng sự. 482
  5. Đối với hệ thống giáo dục của Mỹ khi xây dựng chương trình giảng dạy Tin học được chia thành 5 chuyên ngành hẹp gồm: KHMT, Công nghệ thông tin, Công nghệ phần mềm, Hệ thống thông tin, Kỹ thuật máy tính cho sinh viên đại học, họ đã xây dựng trên hai cách tiếp cận là yêu cầu cụ thể về năng lực cho từng chủ đề hoặc theo chuẩn đầu ra ví dụ như chuẩn (Accre-ditation Board for Engineering and Technology - ABET); chuẩn ACM và chuẩn CDIO do đó thuận lợi và phù hợp cho việc đánh giá năng lực của người học chuyên ngành kỹ thuật. Với đào tạo giáo viên họ xây dựng khung năng lực dựa vào các chủ đề và yêu cầu chuyên môn của chuyên ngành KHMT. Tại Úc, Jacqueline và cộng sự (2007) Dự án BRACElet kéo dài từ năm 2004 – 2010 có 12 cộng tác viên là các trường đại học. BRACElet đã thử nghiệm các vấn đề trong tài liệu giáo dục tin học liên quan đến các LT viên mới làm quen. Các trọng tâm chính là 1) nghiên cứu năng lực LT viên mới làm quen; 2) phát triển các cách mới để đánh giá các LT viên mới làm quen (Lister và Edwards 2010). Dự án BRACElet lúc đầu dựa vào nội dung của chủ đề LT và phân loại Bloom đã sửa đổi (Anderson và cộng sự., 2001) sau đó họ đã sử dụng phân loại học SOLO (Structure of the Observed Learning Results) của Biggie & Collis, 1982 để phân tích và phân loại các câu trả lời của người học cho các câu hỏi yêu cầu về mục đích của một đoạn mã. Từ đó họ đã xây dựng và phát triển một bộ công cụ cho phép những người tham gia thực hiện một nghiên cứu đầy đủ về năng lực của những người từ khi mới bắt đầu LT cho đến khi trở thành một chuyên gia trong lĩnh vực này. Kết thúc dự án BRACElet các trường đại học của Úc đã xây dựng được chương trình giảng dạy và đánh giá người học trong ngành KHMT cụ thể là thông qua các chủ đề LT và phân loại học SOLO. Mặc dù cách xây dựng khung năng lực KHMT tại các nước có những cách xây dựng khác nhau do đặc thù giáo dục và khái niệm về KHMT khác nhau nhưng về cơ bản là dựa vào các chủ đề của KHMT, năng lực chính của KHMT, và phân loại học của Bloom được cái tiến theo nhiều cách khác nhau hoặc phân loại của SOLO (Biggie & Collis, 1982) để đưa ra các tiêu chí và mức độ khác nhau của từng năng lực. Vũ Đức Thông (2019) 2.5.2. Xây dựng khung năng lực ứng dụng công nghệ thông tin và truyền thông tại Việt Nam Năm 2011 Bộ Giáo dục và Đào tạo đã đưa ra Chương trình và chuẩn kiến thức, kĩ năng về công nghệ thông tin cho sinh viên (SV) Sư phạm trên cơ sở đề tài của nhóm tác giả do TS. Nguyễn Anh Dũng làm chủ nhiệm. Kết quả nghiên cứu là Nhóm đề tài đã nghiên cứu cơ sở lí luận về tiếp cận xây dựng chuẩn năng lực đầu ra về Công nghệ thông tin và truyền thông (CNTT&TT) của SV sư phạm, tổ chức nghiên cứu kinh nghiệm quốc tế về thiết kế chuẩn năng lực CNTT&TT trong dạy học của người giáo 483
  6. viên; Thực tiễn ứng dụng CNTT&TT của giáo viên phổ thông, thực tiễn đào tạo về CNTT&TT ở sư phạm, nhu cầu đào tạo, bồi dưỡng về CNTT&TT của SV sư phạm. Trên cơ sở đó đề xuất chuấn đào tạo CNTT&TT cho SV sư phạm, đề xuất chương trình khung đào tạo về CNTT&TT cho SV sư phạm. Chuẩn gồm các tiêu chí về Tin học cơ sở và chuẩn về ứng dụng CNTT&TT trong dạy học; bao gồm 10 tiêu chí, với mỗi tiêu chí đều xác định 3 mức thực hiện: mức 1 (tối thiểu), mức 2 (khá), mức 3 (tốt). Thái Hoài Minh, Trịnh Văn Biều (2016) đã trình bày quy trình xây dựng khung năng lực CNTT&TT dành cho SV SP Hóa đồng thời đề xuất một số cách sử dụng khung năng lực này trong quá trình đào tạo tại các trường cao đẳng, đại học sư phạm. Tác giả đã dựa trên cơ sở: khung năng lực CNTT&TT cho giáo viên của UNESCO; Chuẩn về kĩ năng công nghệ dành cho giáo viên của tổ chức ISTE Hoa Kỳ đề xuất; Luật CNTT; Dự thảo về mục tiêu giáo dục phổ thông sau năm 2018; Quy định về chuẩn nghề nghiệp của giáo viên trung học phổ thông và trung học cơ sở; Chuẩn đầu ra của SVSPH thuộc chương trình đào tạo các trường đại học sư phạm. Sử dụng quy trình gồm 7 bước: 1) Hồi cứu tài liệu, xác định các căn cứ để xây dựng khung năng lực; 2) Xác định các năng lực thành phần; 3) Xây dựng các biểu hiện cho mỗi năng lực thành phần; 4) Xin ý kiến chuyên gia về khung năng lực dự thảo; 5) Xây dựng mô tả chi tiết các mức độ tương ứng với mỗi biểu hiện trong khung năng lực; 6) Xin ý kiến chuyên gia bảng tiêu chí đánh giá năng lực 7) Hoàn thiện khung năng lực và bảng tiêu chí đánh giá năng lực. Từ đó tác giả đưa ra được cấu trúc khung năng lực ứng dụng CNTT&TT trong dạy học dành cho sinh viên sư phạm Hóa học gồm có 6 năng lực thành tố và 12 chỉ số tương ứng và 4 mức độ: Mức 0. Chưa có năng lực: SV không có biểu hiện này trong các hoạt động học tập và giảng dạy; Mức 1. Có năng lực ở mức độ thấp: SV có biểu hiện nhưng không thường xuyên và không tích cực (áp dụng rập khuôn, ít sự phản biện, sáng tạo riêng của bản thân); Mức 2. Có năng lực ở mức độ trung bình: SV biểu hiện khá thường xuyên và tích cực (có sự đánh giá, phản biện và sáng tạo riêng của bản thân); Mức 3. Có năng lực ở mức độ cao: Biểu hiện thường xuyên và tích cực (có sự đánh giá, phản biện và sáng tạo riêng của bản thân). Có thể hướng dẫn và chia sẻ với người khác; Dựa trên sự mô tả các mức độ cơ bản các tác giả lập bảng mô tả chi tiết mức độ 12 biểu hiện năng lực công nghệ thông tin và truyền thông cho sinh viên sư phạm Hóa. Nguyễn Thế Dũng, Ngô Tứ Thành (4/2017) với “Đề xuất khung năng lực ứng dụng công nghệ thông tin trong dạy học cho sinh viên ngành sư phạm Tin học” đã dựa trên khung năng lực CNTT&TT cho giáo viên của VVOB, UNESCO và một số cơ sở lý luận khác cùng với phương pháp chuyên gia, tác giả đã đề xuất một khung năng lực CNTT&TT cho sinh viên ngành sư phạm Tin học phù hợp với thực tiễn Việt nam và xu hướng chung của thế giới. Một số kết quả nghiên cứu thực nghiệm nhằm đánh giá độ 484
  7. tin cậy và độ giá trị của thang đo cũng được đưa ra. Trên cơ sở khung năng lực CNTT&TT của VVOB, UNESCO và Thái Minh Hoàng – Trịnh Văn Biều tác giả đã đưa ra khung năng lực cho Việt Nam gồm có 7 năng lực thành phần với 17 biểu hiện cụ thể. Như vậy, việc xây dựng năng lực Tin học hiện tại ở Việt Nam đã có một số khung năng lực trên cơ sở xây dựng Ứng dụng công nghệ thông tin và truyền thông vào một chuyên ngành cụ thể hoặc trong ngành Tin học trong đào tạo sinh viên Sư phạm. Về việc xây dựng các mô hình năng lực quốc tế và trong nước được đưa ra cho thấy Thứ nhất, hầu hết các mô hình bao gồm một số khía cạnh của kiến thức chuyên môn và / hoặc nội dung. Thứ hai, một số mô hình đề cập rõ ràng đến các vấn đề đại diện nội dung thông qua các chủ đề. Thứ ba, tất cả các mô hình đều bao gồm khía cạnh quá trình nhận thức rõ ràng được giải quyết đôi khi rất chung chung, đôi khi cụ thể hơn là các quy trình chuyên nghiệp hoặc giải quyết vấn đề và trong các mô hình chuyên biệt khác. Thứ tư, một số mô hình có tham chiếu rõ ràng hoặc ngầm định đến bối cảnh vấn đề. Thứ năm, một số mô hình bao gồm các khả năng phi nhận thức, ví dụ như thái độ, niềm tin hoặc nhận thức. 3. Đề xuất cách xây dựng khung Năng lực khoa học máy tính Khi xây dựng khung năng lực KHMT chúng tôi sử dụng phương pháp hồi cứu tài liệu và phương pháp chuyên gia trong lĩnh vực giảng dạy các chuyên ngành KHMT, các giảng viên có kinh nghiệm dạy khoa Sư phạm Tin học của các trường đại học sư phạm, của các SV và cựu các SV trong ngành đào tạo sư phạm tin học tại các trường đại học sư phạm. Khung năng lực KHMT gồm: Năng lực KHMT; Các chủ đề trong lĩnh vực KHMT, kiến thức; kỹ năng và thái độ; và 5 mức độ phân loại kỹ năng của (dreyfus). Thông tư 32/2018/TT-BGDĐT Các chủ đề KHMT gồm 7 chủ đề chính ở trên. Trong khuôn khổ bài báo không thể trình bày được hết các chủ đề, tác giả trình bày chủ đề xây dựng khung năng lực thuật toán và LT để minh họa. 3.1. Khung năng lực thuật toán và lập trình LT máy tính là một chủ đề có trong chương trình đào tạo giáo viên Tin học ở các trường đại học sư phạm tại Việt Nam. LT máy tính là nghiên cứu các khái niệm LT cơ bản bao gồm các thuật toán và các công cụ thuật toán, các kiểu lỗi, gỡ lỗi, cấu trúc dữ liệu, các ngôn ngữ LT máy tính khác nhau (mức thấp và cao). LT máy tính liên quan đến việc viết mã nguồn hữu ích, có thể duy trì và mở rộng (chương trình) sau đó được chương trình dịch sang mã máy để máy tính thực hiện nhiệm vụ. LT máy tính giúp một 485
  8. người hiểu máy tính, hay đúng hơn, thu được nhiều kiến thức hơn về cách một máy tính hoạt động. LT máy tính làm cho người dùng máy tính có thể tương tác với máy tính, khai thác sức mạnh của máy tính trong mọi nỗ lực của con người, tự động hóa nhiệm vụ và tạo giải pháp thông minh. LT máy tính là nghệ thuật viết chương trình máy tính có thể chạy trên nhiều nền tảng khác nhau bao gồm hệ điều hành, internet, tiện ích cầm tay, thiết bị hỗ trợ máy tính hoặc kết hợp thiết bị máy tính. LT máy tính là một trong những khóa học cốt lõi được thực hiện bởi SVSPTH, để sau này họ có thể dạy LT tại các nhà trường phổ thông từ bậc tiểu học đến trung học cơ sở. Theo chương trình đào tạo sư phạm Tin học trường ĐHSPHN, Thành phần cơ bản trong thuật toán và các ngôn ngữ lập trình - Về kiến thức: Kiến thức về ngôn ngữ LT C++ như: Các kiểu dữ liệu, cú pháp điều khiển, Câu lệnh lựa chọn (if / else) (các toán tử); Vòng lặp xác định (for), không xác định while, repeat until; cách sử dụng hàm, mảng, con trỏ, cấu trúc (struct), tệp tin... ; Môi trường LT: Sử dụng Dev-C++, C-Free, Eclipse, Turbo C++3.0 hoặc Visual C++ trong bộ Visual Studio 6.0… Kiến thức về LT hướng đối tượng như: tính đóng kín, tính kế thừa, tính đa hình trong C++ - Về kỹ năng: Truy tìm, đọc, sửa đổi và viết mã, trong việc sửa đổi và viết mà thì khả năng gỡ lỗi chương trình cũng là một kỹ năng quan trọng. - Về năng lực: Năng lực giải quyết vấn đề; và các năng lực KHMT. 3.2. Đề xuất khung năng lực thuật toán và lập trình cho sinh viên sư phạm tin học Năng lực Biểu hiện 1. Toán học 1. Hiểu các hệ thống cơ số và chuyển đổi cơ số khác nhau, các phép toán 2. Hiểu nền tảng của toán học, logic và toán rời rạc. 3. Áp dụng kiến thức toán để phát triển thuật toán. 4. Áp dụng kiến thức toán vào phân tích dữ liệu. 2. Sử dụng 5. Phát triển các chương trình sử dụng các toán tử tiêu chuẩn (ví dụ: số các loại dữ học, quan hệ, lôgic, phép gán), mức độ ưu tiên của toán tử liệu, cấu trúc 6. Hiểu các đặc điểm của kiểu dữ liệu nguyên thủy trong các ngôn ngữ dữ liệu và LT (ví dụ: số nguyên, dấu phẩy động, ký tự, chuỗi, Boolean). chức năng viết mã 486
  9. Năng lực Biểu hiện 7. Sử dụng hằng số, biến, cấu trúc dữ liệu và phạm vi thích hợp (ví dụ: cục bộ, toàn cục). 8. Phân biệt giữa kiểu dữ liệu nguyên thủy và được tham chiếu (ví dụ: đối tượng, danh sách). 9. Sử dụng được ép kiểu giữa các kiểu dữ liệu và cung cấp chức năng của đối tượng cho các kiểu dữ liệu nguyên thủy. 10. Thể hiện việc sử dụng hiệu quả các thư viện chuẩn (ví dụ: toán học, chuỗi ký tự) trong việc phát triển mã. 11. Thể hiện khả năng tạo các chức năng và thủ tục do người dùng định nghĩa. 12. Thể hiện sự hiểu biết về sự khác biệt giữa các tham số được truyền theo giá trị hoặc tham chiếu. 13. Biết cách xác định kiểu dữ liệu hướng đối tượng và cách phân định ưu nhược điểm của dữ liệu đối tượng. 14. Thể hiện khả năng xử lý dữ liệu trong mảng một chiều và nhiều chiều. 15. Hiểu cách thực hiện các quy trình nhập / xuất (ví dụ: tệp, bàn phím). 16. Thể hiện khả năng thao tác văn bản bằng các hàm xử lý chuỗi (ví dụ: nối, chuỗi con, tìm kiếm ). 17. Hiểu các khái niệm liên quan đến việc truyền và xử lý các kiểu dữ liệu trừu tượng (ví dụ: ngăn xếp, hàng đợi, danh sách liên kết, cây, đồ thị). 3. Sử dụng 18. Xây dựng các chương trình sử dụng các toán tử tiêu chuẩn (ví dụ: các câu lệnh số học, quan hệ, lôgic, phép gán), thứ tự ưu tiên của các toán tử. và cấu trúc 19. Sử dụng được cấu trúc điều khiển có điều kiện và điều khiển lặp. điều khiển 20. Thành thạo một số ngôn ngữ LT hiện tại, bao gồm cả ngôn ngữ trong quá hướng đối tượng. trình viết mã 21. Thể hiện sự hiểu biết về thiết kế hướng đối tượng và các mối quan hệ (bao gồm thành phần và kế thừa) giữa các lớp, lớp trừu tượng và giao diện được xác định. 487
  10. Năng lực Biểu hiện 22. Thiết kế các lớp đóng gói dữ liệu và các phương thức liên quan. 23. Thể hiện sự hiểu biết về tính đa hình trong tính năng nạp chồng và ghi đè của các lớp. 24. Thể hiện khả năng sử dụng các lớp và giao diện trừu tượng để thiết kế và thực hiện các chương trình nhiều lớp. 4. Xây dựng, 25. Các thuật toán tìm kiếm đồng cấu trúc (ví dụ: tìm kiếm tuyến tính so sánh và và nhị phân). phân tích các 26. Xây dựng các thuật toán sắp xếp bao gồm, lựa chọn, chèn, nổi bọt, thuật toán trộn và sắp xếp nhanh. khác nhau 27. Phân tích thời gian chạy tốt nhất, trung bình và trường hợp xấu nhất của các thuật toán khác nhau bằng cách sử dụng so sánh và ký hiệu Big-O. 28. Sử dụng các thuật toán lặp và đệ quy . 29. Áp dụng các thuật toán đã học để giải quyết các vấn đề thực tế. 5. Gỡ lỗi 30. Sửa lỗi khai báo, cú pháp, ngữ nghĩa 31. Sửa lỗi giải thuật sinh ra Chúng tôi đề xuất mức độ ứng với 5 mức độ của Dreyfus, S. (2004).như sau: Mức 1. Khởi nghiệp (Novice): Tuân thủ một cách cứng nhắc những quy định và kế hoạch đã được dạy, không có kế hoạch dự phòng khi hoàn cảnh thay đổi so với mong đợi. Mức 2. Bắt đầu có khả năng (Advanced Beginner): Một số điều chỉnh nhỏ về quy định và kế hoạch có thể được tiến hành trong một vài trường hợp dưới sự giám sát. Mức 3. Có năng lực (Competence) Nhận thức phải hành động xét về các mục tiêu dài hạn. Các kế hoạch có nhận thức và có chủ đích và việc sử dụng các bước được chuẩn hóa. Đưa ra những quyết định có lý lẽ về tính huống mới mà không chắc chắn về mức độ phù hợp của những quyết định này. Mức 4. Thành thạo (Proficiency): Nhìn nhận tình huống một cách tổng thể và xác định mục tiêu và các điểm nổi bật theo trực giác. Việc đưa ra quyết định không quá mất công. 488
  11. Mức 5. Chuyên gia (Expertise): Không còn phụ thuộc vào các luật, quy định hoặc các khẩu hiệu. Thực hiện dựa trên hiểu sâu về toàn bộ tình hình. Có cách tiếp cận thường được sử dụng trong tình huống mới hoặc khi vấn đề nảy sinh; Có tầm nhìn với những gì có thể. 3.3. Bảng mô tả chi tiết về khung năng lực thuật toán và lập trình Biểu hiện Mức 5 Mức 4 Mức 3 Mức 2 Mức 1 Năng lực Toán học 1. Hiểu các Vận dụng Chuyển đổi Hiểu hiểu Hiểu được Hiểu hoặc hệ thống cơ được các hệ hệ thống từ được hệ hệ thống cơ chưa hiểu số và chuyển thống cơ số cơ số 2 sang thống cơ số số 2, cơ số được hệ đổi cơ số 2, 8, 16 và các cơ số 2, cơ số 8, 8, cơ số 16, thống cơ số khác nhau, hệ cơ số 10 khác như cơ cơ số 16, biết một 2, cơ số 8, các phép toán vào việc số 8; cơ số biết rõ mối phần mối cơ số 16 xây dựng 18; cơ số quan hệ với quan hệ với chưa biết thuật toán 10. Áp dụng cơ số 10 cơ số 10 mối quan hệ và LT được vào với cơ số 10 các bài LT 2. Hiểu nền Vận dụng Áp dụng Hiểu nền Hiểu nền Chưa hiểu tảng của toán nền tảng nền tảng tảng của tảng của nền tảng học, logic và của toán của toán toán học, toán học, của toán toán rời rạc. học, logic học, logic logic và logic và học logic và và toán rời và toán rời toán rời rạc toán rời rạc toán rời rạc. rạc vào các rạc vào các đã thực hiện đã thực hiện việc thiết kế bài toán LT được các được một số thuật toán phép toán phép toán và LT logic và làm logic và làm được số bài được một số toán rời rạc bài toán rời rạc 3. Áp dụng Vận dụng Áp dụng Áp dụng Áp dụng Chưa áp kiến thức kiến thức kiến thức kiến thức kiến thức dụng kiến 489
  12. toán để phát toán để xây toán để phát toán để phát toán để phát thức toán để triển thuật dựng thuật triển thuật triển thuật triển một số phát triển toán. toán mới toán phức toán đơn thuật toán thuật toán. cho LT hợp kết hợp giản đơn giản nhiều kiến thức toán 4. Áp dụng Vận dụng Áp dụng Áp dụng Áp dụng Chưa áp kiến thức kiến thức kiến thức kiến thức một số kiến dụng kiến toán vào toán vào toán vào toán vào thức toán thức toán phân tích dữ phân tích dữ phân tích dữ phân tích dữ vào phân vào phân liệu. liệu phức liệu phức liệu đơn tích dữ liệu. tích dữ liệu. tạp vào việc tạp trong giản thiết kế giải LT thuật Sử dụng các loại dữ liệu, cấu trúc dữ liệu và chức năng viết mã 5. Phát triển Phát triển LT sử dụng LT sử dụng LT sử dụng Chưa LT sử các chương được các các toán tử các toán tử các toán tử dụng các trình sử dụng chương sử tiêu chuẩn tiêu chuẩn tiêu chuẩn toán tử tiêu các toán tử dụng các đã sử dụng đã sử dụng nhưng chưa chuẩn tiêu chuẩn (ví toán tử tiêu được mức được mức sử dụng dụ: số học, chuẩn đã sử độ ưu tiên độ ưu tiên được mức quan hệ, dụng được của toán tử của toán tử độ ưu tiên lôgic, phép mức độ ưu chương nhưng của toán tử gán), mức độ tiên của trình đã chương ưu tiên của toán tử hiệu quả trình chưa toán tử chương nhưng độ hiệu quả trình đã phức tạp hiệu quả độ của thuật phức tạp toán chưa thuật toán là tốt nhất tốt nhất 6. Hiểu các Hiểu được Hiểu được Hiểu được Hiểu được Hiểu được đặc điểm của hết các đặc hết các đặc hết các đặc đa số các một số các kiểu dữ liệu điểm của điểm của điểm của đặc điểm đặc điểm nguyên thủy kiểu dữ liệu kiểu dữ liệu kiểu dữ liệu của kiểu dữ của kiểu dữ 490
  13. trong các nguyên nguyên nguyên liệu nguyên liệu nguyên ngôn ngữ LT thủy trong thủy trong thủy trong thủy trong thủy trong (ví dụ: số các ngôn các ngôn các ngôn các ngôn các ngôn nguyên, dấu ngữ LT đã ngữ LT đã ngữ LT ngữ LT ngữ LT phẩy động, kết hợp các kết hợp các nhưng chưa ký tự, chuỗi, dữ liệu dữ liệu kết hợp Boolean). nguyên nguyên được các dữ thủy tạo ra thủy tạo ra liệu tạo ra được dữ được dữ được dữ liệu mới tạo liệu mới liệu mới tối ưu cho chương trình 7. Sử dụng Sử dụng Sử dụng Sử dụng Sử dụng Chưa sử hằng số, biến, được hằng được hằng được hằng một số hằng dụng hằng cấu trúc dữ số, biến, cấu số, biến, cấu số, biến, cấu số, biến, cấu số, biến, cấu liệu và phạm trúc dữ liệu trúc dữ liệu trúc dữ liệu trúc dữ liệu trúc dữ liệu vi thích hợp và phạm vi và phạm vi và phạm vi và phạm vi và phạm vi (ví dụ: cục thích hợp và thích hợp và thích hợp thích hợp thích hợp bộ, toàn cục). tối ưu giữa tối ưu giữa biến cục bộ biến cục bộ và biến toàn và biến toàn cục tối ưu cục cho LT được cho nhỏ chương trình 8. Phân biệt Phân biệt Phân biệt Phân biệt Phân biệt Chưa phân giữa kiểu dữ được giữa được giữa được giữa một phần biệt giữa liệu nguyên kiểu dữ liệu kiểu dữ liệu kiểu dữ liệu giữa kiểu kiểu dữ liệu thủy và được nguyên nguyên nguyên dữ liệu nguyên tham chiếu thủy và thủy và thủy và nguyên thủy và (ví dụ: đối được tham được tham được tham thủy và được tham tượng, danh chiếu áp chiếu áp chiếu. được tham chiếu. sách). dụng tối ưu dụng tối ưu chiếu. vào chương vào LT trình sao 491
  14. cho độ phức tạp thuật toán là nhỏ nhất 9. Sử dụng Đã sử dụng Đã sử dụng Đã sử dụng Sử dụng Chưa sử được ép kiểu được ép được ép được ép được một số dụng được giữa các kiểu kiểu giữa kiểu giữa kiểu giữa ép kiểu giữa ép kiểu giữa dữ liệu và các kiểu dữ các kiểu dữ các kiểu dữ các kiểu dữ các kiểu dữ cung cấp liệu và cung liệu và cung liệu và cung liệu và cung liệu và cung chức năng cấp chức cấp chức cấp chức cấp chức cấp chức của đối tượng năng của năng của năng của năng của năng của cho các kiểu đối tượng đối tượng đối tượng đối tượng đối tượng dữ liệu cho các kiểu cho các kiểu cho các kiểu cho các kiểu cho các kiểu nguyên thủy. dữ liệu dữ liệu dữ liệu dữ liệu dữ liệu nguyên nguyên nguyên nguyên nguyên thủy để tối thủy để tối thủy. thủy. thủy. ưu trong ưu trong LT chương trình lớn 10. Thể hiện Đã thể hiện Đã thể hiện Đã thể hiện Chưa thể Chưa thể việc sử dụng sử dụng sử dụng sử dụng hiện một hiện việc sử hiệu quả các hiệu quả các hiệu quả các hiệu quả các phần việc dụng hiệu thư viện thư viện thư viện thư viện sử dụng quả các thư chuẩn (ví dụ: chuẩn vào chuẩn vào chuẩn hiệu quả các viện chuẩn toán học, LT một LT thư viện chuỗi ký tự) chương chuẩn trong việc trình lớn với phát triển mã. sự tối ưu của chương trình. 11. Thể hiện Đã thể hiện Đã thể hiện Đã thể hiện Thể hiện Chưa thể khả năng tạo khả năng khả năng khả năng một phần hiện khả các chức tạo các chức tạo các chức tạo các chức khả năng năng tạo các năng và thủ năng và thủ năng và thủ năng và thủ tạo các chức chức năng tục do người tục do tục do tục do năng và thủ và thủ tục người dùng người dùng tục do do người 492
  15. dùng định định nghĩa định nghĩa người dùng người dùng dùng định nghĩa. với sự tối vào LT định nghĩa. định nghĩa. nghĩa. ưu của chương trình 12. Thể hiện Thể hiện sự Thể hiện sự Thể hiện sự Thể hiện sự Chưa thể sự hiểu biết hiểu biết về hiểu biết về hiểu biết về hiểu biết hiện sự hiểu về sự khác sự khác biệt sự khác biệt sự khác biệt một phần về biết về sự biệt giữa các giữa các giữa các giữa các sự khác biệt khác biệt tham số được tham số tham số tham số giữa các giữa các truyền theo được truyền được truyền được truyền tham số tham số giá trị hoặc theo giá trị theo giá trị theo giá trị được truyền được truyền tham chiếu. hoặc tham hoặc tham hoặc tham theo giá trị theo giá trị chiếu vào chiếu vào chiếu. hoặc tham hoặc tham tối ưu LT chiếu. chiếu. chương trình 13. Biết cách Biết cách Biết cách Biết cách Biết cách Chưa biết xác định kiểu xác định xác định xác định xác định cách xác dữ liệu kiểu dữ liệu kiểu dữ liệu kiểu dữ liệu một số kiểu định kiểu hướng đối hướng đối hướng đối hướng đối dữ liệu dữ liệu tượng và tượng và tượng và tượng và hướng đối hướng đối cách phân cách phân cách phân cách phân tượng và tượng và định ưu định ưu định ưu định ưu cách phân cách phân nhược điểm nhược điểm nhược điểm nhược điểm định ưu định ưu của dữ liệu của dữ liệu của dữ liệu của dữ liệu nhược điểm nhược điểm đối tượng. đối tượng đối tượng đối tượng của dữ liệu của dữ liệu vào tối ưu vào LT đối tượng đối tượng chương trình 14. Thể hiện Thể hiện Thể hiện Thể hiện Thể hiện Chưa thể khả năng xử khả năng xử khả năng xử khả năng xử khả năng xử hiện khả lý dữ liệu lý dữ liệu lý dữ liệu lý dữ liệu lý dữ liệu năng xử lý trong mảng trong mảng trong mảng trong mảng trong một dữ liệu một chiều và một chiều một chiều một chiều số mảng trong mảng nhiều chiều. và nhiều và nhiều một chiều một chiều 493
  16. chiều trong chiều trong và nhiều và nhiều và nhiều tối ưu LT chiều. chiều. chiều. chương trình 15. Hiểu cách Hiểu cách Hiểu cách Hiểu cách Hiểu một số Chưa hiểu thực hiện các thực hiện thực hiện thực hiện cách thực cách thực quy trình các quy các quy các quy hiện các hiện các nhập / xuất trình nhập / trình nhập / trình nhập / quy trình quy trình (ví dụ: tệp, xuất trong xuất trong xuất nhập / xuất nhập / xuất bàn phím). tối ưu LT chương trình 16. Thể hiện Thể hiện Thể hiện Thể hiện Thể hiện chưa thể khả năng khả năng khả năng khả năng một phần hiện khả thao tác văn thao tác văn thao tác văn thao tác văn khả năng năng thao bản bằng các bản bằng bản bằng bản bằng thao tác văn tác văn bản hàm xử lý các hàm xử các hàm xử các hàm xử bản bằng bằng các chuỗi (ví dụ: lý chuỗi lý chuỗi lý chuỗi các hàm xử hàm xử lý nối, chuỗi trong tối ưu trong lập lý chuỗi chuỗi con, tìm kiếm chương chương ). trình trình 17. Hiểu các Hiểu các Hiểu các Hiểu các Hiểu một số Chưa hiểu khái niệm khái niệm khái niệm khái niệm các khái các khái liên quan đến liên quan liên quan liên quan niệm liên niệm liên việc truyền đến việc đến việc đến việc quan đến quan đến và xử lý các truyền và truyền và truyền và việc truyền việc truyền kiểu dữ liệu xử lý các xử lý các xử lý các và xử lý các và xử lý các trừu tượng kiểu dữ liệu kiểu dữ liệu kiểu dữ liệu kiểu dữ liệu kiểu dữ liệu (ví dụ: ngăn trừu tượng trừu tượng trừu tượng trừu tượng trừu tượng xếp, hàng trong tối ưu trong LT đợi, danh chương sách liên kết, trình cây, đồ thị). 494
  17. Sử dụng các câu lệnh và cấu trúc điều khiển trong quá trình viết mã 18. Xây dựng Xây dựng Xây dựng Xây dựng Xây dựng Chưa xây các chương được các được các được các được một số dựng các trình sử dụng chương chương chương chương chương các toán tử trình sử trình sử trình sử trình sử trình sử tiêu chuẩn (ví dụng các dụng các dụng các dụng các dụng các dụ: số học, toán tử tiêu toán tử tiêu toán tử tiêu toán tử tiêu toán tử tiêu quan hệ, chuẩn trong chuẩn trong chuẩn chuẩn chuẩn lôgic, phép tối ưu một bài LT gán), thứ tự chương ưu tiên của trình các toán tử. 19. Sử dụng Sử dụng Sử dụng Sử dụng Sử dụng Chưa sử được cấu trúc được cấu được cấu được cấu được một số dụng được điều khiển có trúc điều trúc điều trúc điều cấu trúc cấu trúc điều kiện và khiển có khiển có khiển có điều khiển điều khiển điều khiển điều kiện và điều kiện và điều kiện và có điều kiện có điều kiện lặp. điều khiển điều khiển điều khiển và điều và điều lặp lồng lặp lồng lặp. khiển lặp khiển lặp nhau trong nhau. tối uu chương trình. 20. Thành Thành thạo Thành thạo Thành thạo Thành thạo Chưa thành thạo một số một số ngôn một số ngôn một số ngôn một số ngôn thạo một số ngôn ngữ LT ngữ LT hiện ngữ LT hiện ngữ LT hiện ngữ LT hiện ngôn ngữ hiện tại, bao tại, bao gồm tại, bao gồm tại, bao gồm tại, chưa LT hiện tại, gồm cả ngôn cả ngôn ngữ cả ngôn ngữ cả ngôn ngữ thành thạo bao gồm cả ngữ hướng hướng đối hướng đối hướng đối ngôn ngữ ngôn ngữ đối tượng. tượng, tối tượng đã LT tượng hướng đối hướng đối ưu chương được một số tượng tượng trình bài đơn giản 21. Thể hiện Thể hiện sự Thể hiện sự Thể hiện sự Thể hiện Chưa thể sự hiểu biết hiểu biết về hiểu biết về hiểu biết về một phần sự hiện sự hiểu về thiết kế thiết kế thiết kế thiết kế hiểu biết về biết về thiết 495
  18. hướng đối hướng đối hướng đối hướng đối thiết kế kế hướng tượng và các tượng và tượng và tượng và hướng đối đối tượng mối quan hệ các mối các mối các mối tượng và và các mối (bao gồm quan hệ quan hệ quan hệ các mối quan hệ thành phần (bao gồm (bao gồm (bao gồm quan hệ (bao gồm và kế thừa) thành phần thành phần thành phần (bao gồm thành phần giữa các lớp, và kế thừa) và kế thừa) và kế thừa) thành phần và kế thừa) lớp trừu giữa các giữa các giữa các và kế thừa) giữa các tượng và giao lớp, lớp lớp, lớp trừu lớp, lớp giữa các lớp, lớp diện được trừu tượng tượng và trừu tượng lớp, lớp trừu tượng xác định. và giao diện giao diện và giao diện trừu tượng và giao diện được xác được xác được xác và giao diện được xác định trong định LT định. được xác định. LT chương được một số định. trình lớn. bài đơn giản 22. Thiết kế Thiết kế các Thiết kế các Thiết kế các Thiết kế Chưa thiết các lớp đóng lớp đóng lớp đóng lớp đóng một số lớp kế các lớp gói dữ liệu và gói dữ liệu gói dữ liệu gói dữ liệu đóng gói dữ đóng gói dữ các phương và các và các và các liệu và các liệu và các thức liên phương phương phương phương phương quan. thức liên thức liên thức liên thức liên thức liên quan trong quan trong quan quan quan LT chương LT nhỏ trình lớn 23. Thể hiện Thể hiện sự Thể hiện sự Thể hiện sự Thể hiện Chưa thể sự hiểu biết hiểu biết về hiểu biết về hiểu biết về một số hiểu hiện sự hiểu về tính đa tính đa hình tính đa hình tính đa hình biết về tính biết về tính hình trong trong tính trong tính trong tính đa hình đa hình tính năng nạp năng nạp năng nạp năng nạp trong tính trong tính chồng và ghi chồng và chồng và chồng và năng nạp năng nạp đè của các ghi đè của ghi đè của ghi đè của chồng và chồng và lớp. các lớp các lớp các lớp. ghi đè của ghi đè của trong LT trong LT các lớp. các lớp. chương trình lớn 496
  19. 24. Thể hiện Thể hiện Thể hiện Thể hiện Thể hiện Chưa thể khả năng sử khả năng sử khả năng sử khả năng sử một số khả hiện khả dụng các lớp dụng các dụng các dụng các năng sử năng sử và giao diện lớp và giao lớp và giao lớp và giao dụng các dụng các trừu tượng để diện trừu diện trừu diện trừu lớp và giao lớp và giao thiết kế và tượng để tượng để tượng để diện trừu diện trừu thực hiện các thiết kế và thiết kế và thiết kế và tượng để tượng để chương trình thực hiện thực hiện thực hiện thiết kế và thiết kế và nhiều lớp. các chương các chương các chương thực hiện thực hiện trình nhiều trình nhiều trình nhiều các chương các chương lớp trong lớp trong lớp. trình nhiều trình nhiều LT chương LT. lớp. lớp. trình lớn Xây dựng, so sánh và phân tích các thuật toán khác nhau 25. Các thuật Hiểu các Hiểu các Hiểu các Hiểu một số Chưa hiểu toán tìm kiếm thuật toán thuật toán thuật toán thuật toán các thuật đồng cấu trúc tìm kiếm tìm kiếm tìm kiếm tìm kiếm toán tìm (ví dụ: tìm đồng cấu đồng cấu đồng cấu đồng cấu kiếm đồng kiếm tuyến trúc áp dụng trúc áp dụng trúc trúc cấu trúc tính và nhị vào LT vào vào LT. phân). LT chương trình lớn 26. Xây dựng Ứng dụng Ứng dụng Xây dựng Xây dựng Chưa xây các thuật toán các thuật các thuật các thuật một số thuật dựng các sắp xếp bao toán sắp xếp toán sắp xếp toán sắp xếp toán sắp xếp thuật toán gồm, lựa bao gồm, bao gồm, bao gồm, bao gồm, sắp xếp bao chọn, chèn, lựa chọn, lựa chọn, lựa chọn, lựa chọn, gồm, lựa nổi bọt, trộn chèn, nổi chèn, nổi chèn, nổi chèn, nổi chọn, chèn, và sắp xếp bọt, trộn và bọt, trộn và bọt, trộn và bọt, trộn và nổi bọt, trộn nhanh. sắp xếp sắp xếp sắp xếp sắp xếp và sắp xếp nhanh vào nhanh vào nhanh. nhanh. nhanh. LT chương LT trình lớn. 497
  20. 27. Phân tích Áp dụng Áp dụng Phân tích Phân tích Chưa phân thời gian phân tích phân tích thời gian được một số tích thời chạy tốt nhất, thời gian thời gian chạy tốt trường hợp gian chạy trung bình và chạy tốt chạy tốt nhất, trung thời gian tốt nhất, trường hợp nhất, trung nhất, trung bình và chạy tốt trung bình xấu nhất của bình và bình và trường hợp nhất, trung và trường các thuật toán trường hợp trường hợp xấu nhất bình và hợp xấu khác nhau xấu nhất xấu nhất của các trường hợp nhất của các bằng cách sử của các của các thuật toán xấu nhất thuật toán dụng so sánh thuật toán thuật toán khác nhau của các khác nhau và ký hiệu khác nhau khác nhau bằng cách thuật toán bằng cách Big-O. bằng cách bằng cách sử dụng so khác nhau sử dụng so sử dụng so sử dụng so sánh và ký bằng cách sánh và ký sánh và ký sánh và ký hiệu Big-O. sử dụng so hiệu Big-O. hiệu Big-O hiệu Big-O sánh và ký vào LT vào LT hiệu Big-O. chương trình lớn 28. Sử dụng Sử dụng các Sử dụng các Sử dụng các Sử dụng Chưa sử các thuật toán thuật toán thuật toán thuật toán một số thuật dụng các lặp và đệ quy lặp và đệ lặp và đệ lặp và đệ toán lặp và thuật toán . quy vào LT quy vào LT quy đệ quy lặp và đệ chương quy trình lớn 29. Áp dụng Áp dụng Áp dụng Áp dụng Áp dụng Chưa áp các thuật toán các thuật các thuật các thuật một số thuật dụng các đã học để giải toán đã học toán đã học toán đã học toán đã học thuật toán quyết các vấn để giải để giải để giải để giải đã học để đề thực tế. quyết các quyết các quyết các quyết các giải quyết vấn đề thực vấn đề thực vấn đề thực vấn đề thực các vấn đề tế của LT tế của LT tế vào LT tế. thực tế. tìm được tính được sự chưa tính các thuật phức tạp đến độ phức toán tối ưu các thuật tạp của các cho chương toán thuật toán trình 498
nguon tai.lieu . vn