intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Sáng kiến kinh nghiệm THPT: Hướng dẫn học sinh lập trình ứng dụng học tập cho thiết bị di động

Chia sẻ: Caphesua | Ngày: | Loại File: PDF | Số trang:24

17
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Sáng kiến là hướng dẫn các em lập trình ứng dụng học tập chạy trên thiết bị di động với nhiều môn học, bài học với nội dung phong phú, tính năng đa dạng, giúp các em (lứa tuổi từ Mầm Non đến học sinh Tiểu Học) học tập, giải trí chỉ trong một ứng dụng. Ứng dụng trên thiết bị di động có thể sử dụng online hoặc offline. Giao diện ứng dụng đơn giản, dễ sử dụng, hình ảnh rõ nét, sinh động, dung lượng nhỏ.

Chủ đề:
Lưu

Nội dung Text: Sáng kiến kinh nghiệm THPT: Hướng dẫn học sinh lập trình ứng dụng học tập cho thiết bị di động

  1. SỞ GIÁO DỤC VÀ ĐÀO TẠO VĨNH PHÚC TRƯỜNG THPT ĐỘI CẤN BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN KINH NGHIỆM HƯỚNG DẪN HỌC SINH LẬP TRÌNH ỨNG DỤNG HỌC TẬP CHO THIẾT BỊ DI ĐỘNG Tác giả: Lê Văn Hưng Mã SKKN : 23.75.01 Vĩnh Tường, Năm 2020
  2. MỤC LỤC Trang 1. Giới thiệu 1 2. Tên sáng kiến kinh nghiệm và tác giả 3 3. Mục đích 3 4. Mô tả sáng kiến kinh nghiệm 4 4.1. Giới thiệu về Android Studio và ngôn ngữ lập trình Java 4 4.2. Cài đặt 4 4.3. Sử dụng Android Studio 4 4.4. 6 Lập trình ứng dụng 5. Kết quả 17 6. Khả năng áp dụng sáng kiến 18 7. Đánh giá kết quả nghiên cứu 19 8. Danh sách cá nhân/ tổ chức tham gia áp dụng sáng kiến 21 9. Tài liệu tham khảo 22
  3. BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN KINH NGHIỆM 1. Giới thiệu Chúng ta đang sống trong xã hội công nghệ 4.0 phát triển như vũ bão, điện thoại thông minh hay smart phone không còn xa lạ gì đối với mọi người, nó đã trở thành phương tiện không thể thiếu trong xã hội hiện đại và việc sử dụng smart phone cũng là điều tất yếu cho nhu cầu của công việc và cho cuộc sống. Các ứng dụng (App) theo đó mà phát triển không ngừng vì người dùng luôn mong muốn có được những ứng dụng hay, thú vị để phục vụ nhu cầu học tập, làm việc, giải trí… ở bất cứ đâu, bất cứ khi nào. Hiện nay, có rất nhiều ứng dụng học tập, nội dung phong phú giúp người dùng sử dụng như tài liệu để học tập, tham khảo nâng cao sự hiểu biết. Thực tế nghiên cứu và tìm hiểu cho thấy các ứng dụng học tập vẫn còn nhiều hạn chế và bất cập:  Ứng dụng chủ yếu cho một môn học riêng lẻ, khi muốn học nhiều môn phải tải nhiều ứng dụng chiếm nhiều bộ nhớ.  Ứng dụng chưa được kiểm duyệt về mặt nội dung, chưa tuân theo chuẩn phân phối kiến thức, kỹ năng theo lứa tuổi và cấp học.  Không có phần lý thuyết chỉ có phần bài tập hoặc lý thuyết không đầy đủ.  Chưa có ứng dụng về kĩ năng sống và tìm hiểu thế giới quan.  Không có các video bài giảng dạy học, hoặc nếu có thì rời rạc không được sắp xếp theo nội dung, chuyên đề.  Ứng dụng có dung lượng lớn, gây tốn kém bộ nhớ, làm chậm hoạt động của thiết bị di động.  Ứng dụng kèm theo nhiều quảng cáo gây ức chế cho người dùng.  Nhiều ứng dụng học tập đòi hỏi phải kết nối internet, phải trả phí để mở một số chức năng hoặc tiếp tục bài học. 1
  4. Ngoài ra việc sử dụng tài liệu phôtô, in ấn cho các kì thi quá nhiều gây lãng phí, sau đó lại là các vấn đề về rác thải. Ý tưởng của tôi nảy ra là:  Tích hợp nhiều môn học (theo chuẩn kiến thức, kĩ năng) vào một ứng dụng để người dùng có thể học tập được nhiều nội dung mà không phải tải nhiều ứng dụng.  Tiếp cận các đơn vị kiến thức đến từ nhiều phía.  Lý thuyết giống với bài học trên lớp để các em có thể xem lại hoặc học tiếp.  Kết hợp giữa học lý thuyết với thực hành bằng phần bài tập đa dạng.  Bài tập được lập trình dưới dạng các game (trò chơi học tập) tạo hứng thú, ham mê làm các em không thấy chán nản khi học.  Nội dung ngôn ngữ lồng ghép hình ảnh, âm thanh, video giúp các em phát triển các kĩ năng nghe, nói, đọc, viết...  Sử dụng học tập, tra cứu, có thể học offline, thay thế một phần học tập trên tài liệu giấy.  Quan trọng nhất là các em có thể tự tập bài thông qua ứng dụng. Sau thời gian dài tìm hiểu và nghiên cứu thì tôi quyết định dùng: MIT App Inventor của Google, sau đó do yêu cầu cao hơn về nội dung nên tôi chọn Android Studio kết hợp ngôn ngữ lập trình Java + ngôn ngữ lập trình Kotlin của Google để xây dựng ứng dụng bởi nó có thể đáp ứng tất cả các ý tưởng mà tôi đặt ra. 2
  5. 2. Tên sáng kiến kinh nghiệm và tác giả HƯỚNG DẪN HỌC SINH LẬP TRÌNH ỨNG DỤNG HỌC TẬP CHO THIẾT BỊ DI ĐỘNG Tác giả : - Họ và tên: Lê Văn Hưng - Địa chỉ tác giả sáng kiến: Giáo Viên Vật Lí - THPT Đội Cấn - Số điện thoại: 0976173346 E_mail: levanhunggvdoican@vinhphuc.edu.vn 3. Mục đích của sáng kiến  Sáng kiến của tôi là hướng dẫn các em lập trình ứng dụng học tập chạy trên thiết bị di động với nhiều môn học, bài học với nội dung phong phú, tính năng đa dạng, giúp các em (lứa tuổi từ Mầm Non đến học sinh Tiểu Học) học tập, giải trí chỉ trong một ứng dụng.  Ứng dụng trên thiết bị di động có thể sử dụng online hoặc offline.  Giao diện ứng dụng đơn giản, dễ sử dụng, hình ảnh rõ nét, sinh động, dung lượng nhỏ.  Tiết kiệm tiền bạc cho việc sử dụng tài liệu giấy và thời gian cho hoạt động học tập.  Để các em học sinh THPT làm quen với khoa học lập trình, đó là tiền đề của nguồn nhân lực chất lượng cao đáp ứng sự phát triển khoa học và công nghệ. 4. Mô tả sáng kiến kinh nghiệm 4.1. Giới thiệu về Android Studio và ngôn ngữ lập trình Java Android Studio là IDE (Môi trường phát triển tích hợp) được phát triển bởi Google, lần đầu tiên được công bố tại hội nghị Google I/O vào năm 2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta khác nhau. Android Studio được đóng gói với một bộ code Editor, Debugger, các công cụ Performance tool và một hệ thống Build/Deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên máy tính) 3
  6. cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp. Java là một ngôn ngữ lập trình rất phổ biến được phát triển bởi Sun Microsystems (hiện thuộc sở hữu của Oracle) vào năm 1995. Java kết hợp nhiều tính năng mạnh mẽ của nhiều ngôn ngữ. Java có thể xem là ngôn ngữ lập trình phổ biến nhất hiện nay, được sử dụng rộng rãi trên nhiều thiết bị và hệ điều hành. Nó giúp cho các lập trình viên phát triển các ứng dụng mà có thể chạy trên nhiều thiết bị phần cứng và hệ điều hành khác nhau. 4.2. Cài đặt Cài đặt Android Studio, Công cụ phát triển JDK, tạo Project và build app trên thiết bị: https://viblo.asia/p/bat-dau-voi-android-cai-dat-va-su-dung-android-studio-bJzKmLpk59N 4.3. Sử dụng Android Studio 4.3.1. Cấu trúc của ứng dụng Chứa mã nguồn, và cài đặt mức độ của ứng dụng, như modules-level xây dựng tập tin, nguồn tài nguyên và tập tin Android Manifest.  Assets: Sử dụng để lưu trữ các tệp tin như Font, Xml, .mp3,... và sử dụng AssetManager để đọc các tệp tin này. 4
  7.  Res: Chứa nguồn tài nguyên của ứng dụng như các tệp tin Drawable, các tệp tin layout, và giá trị String, hình ảnh, âm thanh…  anim: Chứa các tệp tin XML biên dịch các đối tượng animation.  color: Chứa tệp tin XML mô tả color.  drawable: Chứa các tệp tin hình ảnh (PNG, JPEG, GIF), và các tệp tin XML là các đối tượng Drawable chứa các trạng thái khác nhau.  mipmap: Chứa icon launcher của ứng dụng.  layout: Chứa các tệp tin về giao diện màn hình.  menu: Chứa tệp tin XML định nghĩa menu của ứng dụng.  raw: Chứa các tệp tin tương tự như trong thư mục assets.  values: Chứa các tệp tin XML định nghĩa nguồn tài nguyên các kiểu XML. Tài nguyên trong thư mục values không tham chiếu bởi các tệp mặc định. 4.3.2. Thiết kế giao diện Web hỗ trợ thiết kế giao diện ứng dụng trong Android Studio: https://material.io/design/ Các file Xml trong folder layout là file giao diện của Android Android Studio hỗ trợ hai chế độ làm việc cho việc tạo giao diện là design và text. Chế độ Design là kéo thả các view còn chế độ Text thì bạn sẽ viết code XML cho giao diện. 5
  8. 4.4. Lập trình ứng dụng Lập trình ứng dụng học toàn phần cho trẻ bao gồm các môn học : Toán, Tiếng Việt, Tiếng Anh, Đạo đức, Tự nhiên xã hội, Âm nhạc, Kể chuyện. Trong mỗi môn học sẽ gồm 3 phần: Lý thuyết + phần bài giảng dạy học, luyện tập và nhận biết về thế giới xung quanh. 4.4.1. Xây dựng App hiển thị Fragment đóng vai trò quản lý một giao diện của màn hình giống như Activity. Thay vì sử dụng nhiều mà hình (Activity) thì nên dùng Fragment để hiển thị bởi nó hỗ trợ rất nhiều trong việc tối ưu cho các loại màn hình, đồng thời dễ dàng được quản lý bởi activity cha, có thể sử dụng lại, kết hợp và bố trí theo ý muốn. Chạy từng activity riêng cho mỗi màn hình ứng dụng sẽ có hiệu quả rất tệ khi hệ thống phải cố lưu trữ chúng trong bộ nhớ lâu hết mức có thể. Vì vậy, ứng dụng chỉ gồm 8 màn hình (Activity) là : Màn hình khởi động, màn hình chính, màn hình lựa chọn, màn hình lý thuyết, luyện tập, môn âm nhạc, hiển thị danh sách video và màn hình phát video bài học. Màn hình lựa chọn lý thuyết Môn Toán : Gồm 5 Fragment tương ứng với 5 dạng lý thuyết. Mỗi Fragment gồm một ScrollView, một Button và các ImageView, TextView để hiển thị văn bản và hình ảnh. Sử dụng một ScrollView để có thể cuộn lên, cuộn xuống màn hình, ảnh sẽ được lưu trong tệp Drawable và dùng ImageView để hiển thị, TextView hiển thị văn bản, các văn bản có thể để trong tệp String và một nút (Button) luyện tập ở cuối để chuyển tới màn hình luyện tập. Môn Tiếng Việt : Bao gồm 3 Fragment ứng với 3 phần lựa chọn đầu. Hai phần Bảng chữ cái và Các âm vần sử dụng GridView được custom lại để hiển thị văn bản (TextView) và ảnh (ImageView). Bắt sự kiện khi nhấn vào từ (hoặc chữ) nào thì sẽ phát ra âm thanh đánh vần hoặc đọc từ đó và nhấn giữ để nghe đọc ví dụ phát âm. Phần Bài đọc và cách đánh vần dùng thư viện PdfViewer để hiển thị tệp Pdf chứa các bài tập đọc đánh vần. 6
  9. Màn hình lựa chọn lý thuyết: hiển thị dữ liệu với môn học tương ứng bằng Listview và được custom lại để hiển thị TextView và ImageView. Fragment để hiển thị phần lý thuyết tương ứng của từng môn Môn Tiếng Anh : Gồm 8 Fragment ứng với Bảng chữ cái và 7 phần chủ đề từ vựng tiếng anh. Phần bảng chữ cái tiếng anh gồm hai GridView để hiển thị bảng chữ cái và chữ số, nhấn vào chữ cái hoặc chữ số để nghe cách phát âm. Còn 7 phần chủ đề từ vựng, mỗi phần bao gồm một GrideView và được custom lại để hiển thị một ảnh(ImageView) và hai văn bản(TextView). 7
  10. Mỗi Fragment gồm một ScrollView, một Button và các ImageView, TextView để hiển thị văn bản và hình ảnh. Môn âm nhạc: thành phần TasbHost và hiển thị danh sách có thể mở rộng – thu nhỏ bằng ExpandableListView. Màn hình có hai tab con là tab tiếng anh và tab tiếng việt. Chạm vào bài hát, nhạc sẽ phát và sổ ra lời bài hát, chạm lần nữa lời thu lại còn âm thanh dừng 8
  11. Trong môn Tiếng Việt còn có phần tập viết chữ cái và phần luyện nói tiếng việt. Trong phần tập viết, người dùng có thể viết chữ hoặc tập vẽ với nhiều màu sắc lựa chọn. Phần luyện nói, người dùng bấm vào chữ trên màn hình để nghe cách đọc, nhấn mic và phát âm từ đó để ứng dụng nhận dạng giọng nói và kiểm tra, nếu sai thì người dùng bấm mic và phát âm lại từ đó hoặc có thể nhấn nút mũi tên để chuyển qua từ khác, nếu gặp lỗi thì ứng dụng sẽ thông báo ra màn hình để người dùng khắc phục. Tập viết chữ cái và luyện nói tiếng việt. Màn hình luyện tập: Diaglog hiển thị điểm, điểm số cao nhất và đáp án của câu bị sai. 9
  12. Bao gồm 8 Fragment, hiển thị đề bài bằng TextView phía trên màn hình, tiếp đến là câu hỏi dùng ImageView hoặc TextView để hiển thị văn bản hoặc hình ảnh, 4 nút Button hoặc ImageView ứng với 4 đáp án để lựa chọn ở dưới câu hỏi và một nút Button để kiểm tra đáp án và chuyển câu hỏi. Nếu chọn đúng điểm sẽ được cộng và sau khi làm xong hết số câu, một thông báo dạng Dialog sẽ xuất hiện hiển thị số điểm và có hai nút Button quay về hoặc tiếp tục làm. Đặc biệt trong môn toán có mục Trò chơi, bên dưới là các nút Button ứng với mỗi số tự nhiên từ 0 đến 9 và câu hỏi sẽ chạy từ trên xuống, không được cho câu hỏi chạm vào vạch ngang, sau mỗi trả lời đúng câu hỏi mới sẽ chạy lại từ trên xuống, điểm sẽ được cộng và hiển thị góc trên bên trái màn hình. Màn hình hiển thị danh sách video: Môn toán: Gồm video bài giảng các bài học theo chương trình sách giáo khoa lớp 1. Môn tiếng việt : Video hướng dẫn viết chữ cái tiếng việt. Học tiếng việt qua video và thơ ca dân gian, đồng dao Việt Nam. Môn Tiếng Anh : Video các bài học giao tiếp, đọc đối thoại, phát âm từ vựng theo từng Unit có kèm hình ảnh. Môn tự nhiên xã hội : Có hai phần là ‘khám phá khoa học’ và ‘thế giới trái cây’, bao gồm các video về khoa học, về thế giới xung quanh. Môn đạo đức : Phần ‘kỹ năng sống’ dạy trẻ cách cư xử, đối đáp với mọi người. Kể chuyện : Gồm những câu chuyện cổ tích và chuyện dân gian Việt Nam. 10
  13. RecycleView để hiển thị danh sách các video bài học bao gồm tên và hình ảnh thu nhỏ của video Màn hình phát video: 11
  14. YoutubePlayerView để phát video 4.4.2. Lập trình thuật toán cho ứng dụng Tham khảo Fragment: https://viblo.asia/p/su-dung-fragment-trong-android-4P856a2alY3 Kết nối cơ sở dữ liệu Firebase với Project: https://viblo.asia/p/tich-hop-realtime-database-trong-firebase-vao-android- Az45bbyV5xY Lập trình từng màn hình: Ứng dụng gồm 8 màn hình(Activity) là: màn hình khởi động, màn hình chính, màn hình lựa chọn, màn hình lý thuyết, luyện tập, âm nhạc, hiển thị danh sách video và màn hình phát video bài học Khi tạo Activity mới sẽ được khai báo ở trong file AndroidManifest.Xml. Android:name : tên file Java của Activity. Phần trong hàm intent-filter để đặt màn hình này khởi động đầu tiên khi mở App 12
  15. findViewById() : khởi tạo View bằng Id được đặt bên phần code Xml thiết kế giao diện trước khi sử dụng. toolbar.setTitle(); : gán tiêu đề cho thanh toolbar. setSupportActionBar(): đặt thanh toolbar bên trên màn hình ứng dụng. getSharePreference(): lấy file dữ liệu được lưu trên máy thông qua tên.SharePreferance.edit : chỉnh sửa dữ liệu trong file được lưu trong máy. Có thể thêm rất nhiều kiểu dữ liệu khác nhau chỉ cần gọi biến editor được gán bằng sharePreferences.edit. Hàm editor.putBoolen để lưu dữ liệu dạng Boolean, editor.putInt để lưu số nguyên, editor.putString để lưu dữ liệu dạng kí tự, … Mỗi khi gọi dòng code lưu giá trị xong ta phải gọi hàm editor.apply(); để xác nhận lưu, nếu thiếu dòng này thì dữ liệu sẽ không được lưu trữ. Transaction.replace(id, Fragment) : thay thế Fragment hiện tại được gán ở thành phần FrameLayout bằng một Fragment mới. Transaction.addToBackStack() : lưu trữ Fragment hiện tại trong BackStack để có thể gọi lại. 13
  16. Sau khi gán Fragment xong ta phải gọi lệnh commit(); để xác nhận. Đoạn code trong hàm ExitDialog() này dùng để hiển thị thông báo dạng Dialog hỏi người dùng có muốn thoát hay không? .setTitle() : gán tiêu đề cho dialog thông báo. .setMessage() : đặt lời nhắn hoặc lời nhắc. .setPositiveButton và .setNegativeButton() : là hai nút cho người dùng lựa chọn. Hàm finish(); dùng để đóng ứng dụng. Các lệnh trong hàm Check(); dùng để lấy dữ liệu trên FireBase. getSharedPreferences() : lấy dữ liệu lưu trên máy. FirebaseDatabase.getInstance : đọc dữ liệu trên FireBase. Database.getReference : lấy dữ liệu trên đám mây. myRef.orderBykey().limitToLast() : sắp xếp và lấy liệu của phần tử cuối và lưu và biến lastChild. 14
  17. lastChild.addChildEventListener() : nhận biết sự thay đổi thêm hoặc xóa dữ liệu của phần tử cuối và trả về dữ liệu mới. Tiếp theo là hàm getJsonYoutube(); : lấy dữ liệu dạng Json trên Internet với đường dẫn được truyền vào. RequestQueue: Là hàm đợi giữ các Request. JSONObjectRequest: HTTP request có kết quả trả về là JSONObject. VideoYtbAdapter() : là class Adapter của RecyclerView. recyclerView.setAdapter(); : gán Adapter cho RecyclerView. Lệnh Toast.makeText(); : dùng để kiểu hiển thị thông báo lên trên màn hình trong một khoảng thời thời gian rất ngắn nào đó. requestQueue.add(); : add các request đó vào RequestQueue. ytbPlayer.initialize(); : Lệnh khởi tạo Youtube Player. Nếu khởi tạo thành công thì hàm onInitializationSuccess được thực hiện, nếu không thành công thì sẽ thực hiện hàm onInitializationFailure(). 15
  18. YoutubePlayer.loadVideo(); : dùng để load video theo id. YoutubePlayer.setFullscreen(true); : đặt video hiển thị toàn màn hình. Dưới đây là phần code thu nhỏ của chức năng nhận dạng giọng nói (AI) và ý nghĩa của từng đoạn code được chú thích bằng một dòng ở trên nó. Mã code của chức năng nhận diện giọng nói (AI) 16
  19. 5. Kết quả Android Studio hỗ trợ đóng gói thành file có định dạng .apk để cài đặt lên các SmartPhone, Tablet chạy hệ điều hành Android. Ứng dụng tài liêu học tập được cài đặt trên Samsung Galaxy Tab 4 Giải Ba KHKT Cấp Tỉnh 2017 Ứng dụng liên lạc- trao đổi thông tin được cài đặt trên Oppo Mirror 5 Giải Ba KHKT Cấp Tỉnh 2018 Estudar - Ứng dụng học tập toàn phần cho trẻ trên Xiaomi Mi Note Lte Giải Nhất KHKT Cấp Tỉnh 2019 17
  20. 6. Khả năng áp dụng sáng kiến Ngoài việc hướng dẫn lập trình ứng dụng học tập cho học sinh tôi còn hướng dẫn các em tự lập trình ứng dụng khác cho riêng mình và mọi người. Có thể chia sẻ ứng dụng trên mạng xã hội hoặc trên chợ ứng dụng cho nhiều người được sử dụng. Thành lập nhóm, câu lạc bộ,.. cùng sở thích lập trình để phát triển thay thế và nâng cấp ứng dụng. Phát triển ứng dụng để tham gia các cuộc thi như thi ‘Vận dụng kiến thức liên môn vào giải quyết các tình huống thực tiễn’ hay ‘Cuộc thi khoa học kĩ thuật cho học sinh’ đạt kết quả cao. 7. Đánh giá kết quả nghiên cứu Học tập và sử dụng tài liệu điện tử đa dạng, nội dung khổng lồ, chia sẻ nhanh chóng, sử dụng mọi lúc mọi nơi. Học tập trên tài liệu điện tử tiết kiệm tiền bạc và thời gian. Giảm chi phí cho việc phô tô tài liệu hay sử dụng sách tham khảo cồng kềnh, tốn kém… Ứng dụng tài liệu học tập tạo ra có dung lượng nhỏ, chia sẻ nhanh, cài đặt, nâng cấp và thay thế dễ dàng. Khảo sát về sự tiết kiệm do ứng dụng học tập điện tử mang lại như sau : Tính toán số tiền phô tô tài liệu phục vụ học tập cho 8 môn thi trắc nghiệm THPTQG đối với Trường THPT Đội Cấn (40 Lớp). 18
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0