NỘI DUNG NGHIÊN CỨU
Cơ sở lí luận
Năng lực là thuộc tính cá nhân được hình thành và phát triển từ tố chất, quá trình học tập và rèn luyện Nó cho phép con người huy động tổng hợp kinh nghiệm, kỹ năng và các thuộc tính cá nhân khác như hứng thú, niềm tin và ý chí để đạt được kết quả trong các hoạt động dưới những điều kiện cụ thể.
Chương trình giáo dục phổ thông 2018 nhấn mạnh việc hình thành và phát triển cho học sinh các năng lực cốt lõi, bao gồm năng
Các năng lực chung như tự chủ và tự học, giao tiếp và hợp tác, cũng như giải quyết vấn đề và sáng tạo được hình thành và phát triển thông qua các môn học và hoạt động giáo dục.
Các năng lực đặc thù như năng lực ngôn ngữ, tính toán, khoa học, công nghệ, tin học, thẩm mỹ và thể chất được hình thành và phát triển chủ yếu thông qua một số môn học và hoạt động giáo dục nhất định.
2 Năng lực đặc thù môn Tin học theo CT CDPT 2018
Năng lực tin học bao gồm năm thành phần năng lực sau đây:
- 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;
TIEU LUAN MOI download : skknchat@gmail.com
- NLe: Hợp tác trong môi trường số
* Chương trình môn Tin học ở cấp THPT
Chương trình môn Tin học cấp trung học phổ thông được thiết kế để đáp ứng nhu cầu phân hoá định hướng nghề nghiệp, bao gồm các yêu cầu chung về năng lực tin học cho tất cả học sinh Đồng thời, chương trình cũng đưa ra các yêu cầu bổ sung riêng cho học sinh theo định hướng Tin học ứng dụng hoặc Khoa học máy tính.
Thành phần năng lực Biểu hiện
NLa có khả năng phối hợp và sử dụng đúng cách các hệ thống kỹ thuật số phổ biến, mô tả chức năng các bộ phận chính trong máy tính, và hiểu các thông số cơ bản của thiết bị số Học viên có thể tuỳ chỉnh chế độ hoạt động của máy tính và trình bày mối quan hệ giữa phần cứng, hệ điều hành và chương trình ứng dụng NLa biết sử dụng một số chức năng chủ yếu trong hệ điều hành để nâng cao hiệu quả sử dụng máy tính, so sánh mạng LAN và Internet, và hiểu khái niệm IoT Ngoài ra, NLa cũng giới thiệu chức năng cơ bản của một số thiết bị và giao thức mạng thông dụng, sử dụng các ứng dụng thiết thực trên mạng, và nhận thức được vai trò quan trọng của các hệ thống tự động hóa xử lý và truyền thông tin trong xã hội tri thức.
NLb trình bày và minh họa các quy định về quyền thông tin và bản quyền, giúp tránh vi phạm khi sử dụng tài nguyên số Người dùng cần hiểu khái niệm và cơ chế lây lan của phần mềm độc hại, cũng như cách phòng chống hiệu quả Việc tự bảo vệ thông tin, dữ liệu và tài khoản cá nhân là rất quan trọng Ngoài ra, cần nhận diện các hành vi lừa đảo và thông tin xấu trên Internet, biết cách xử lý phù hợp Tham gia thế giới ảo cũng cần thể hiện tính nhân văn Bên cạnh đó, người dùng cần có cái nhìn tổng quan về nhu cầu nhân lực và tính chất công việc trong lĩnh vực công nghệ thông tin cũng như các ngành nghề khác sử dụng ICT, từ đó sẵn sàng, tự tin, có trách nhiệm và sáng tạo trong các hoạt động tin học.
NLc cần nắm vững các cấu trúc dữ liệu cơ bản và thuật toán sắp xếp, tìm kiếm, cùng khả năng viết chương trình và tạo trang web đơn giản Họ cũng cần hiểu về hệ cơ sở dữ liệu, bao gồm kiến trúc tập trung và phân tán Bên cạnh đó, việc sử dụng máy tìm kiếm để khai thác thông tin một cách hiệu quả, an toàn và hợp pháp là rất quan trọng.
TIEU LUAN MOI download : skknchat@gmail.com
Để phát hiện và giải quyết vấn đề hiệu quả, cần có 9 thông tin phù hợp và tin cậy Việc sử dụng các công cụ kỹ thuật số để tổ chức và chia sẻ dữ liệu là rất quan trọng Bên cạnh đó, cần có những hiểu biết ban đầu về trí tuệ nhân tạo cùng với một số ứng dụng điển hình của nó.
NLd có khả năng khai thác dịch vụ tra cứu thông tin và học liệu mở để nâng cao kiến thức, hỗ trợ cho việc học tập và tự học Họ cũng sử dụng các phần mềm hỗ trợ học tập, thể hiện sự tự tin và sẵn sàng khám phá các phần mềm tương tự Qua đó, NLd phát triển ý thức và khả năng tìm kiếm tri thức mới, đồng thời tìm hiểu về nghề nghiệp mà mình quan tâm.
NLe cần biết cách hợp tác hiệu quả trong công việc, sử dụng phần mềm để lập kế hoạch, phân chia và quản lý công việc Họ cũng cần lựa chọn các kênh phù hợp để trao đổi thông tin, thảo luận và hợp tác nhằm mở rộng tri thức Bên cạnh đó, khả năng giao tiếp và hòa nhập an toàn trong môi trường số là rất quan trọng, đồng thời cần biết cách tránh các tác động xấu thông qua những biện pháp phòng tránh cơ bản.
Biểu hiện Định hướng ICT Định hướng CS
NLa và – Kết nối được PC với các thiết bị số thông dụng
Hiểu nguyên lý hoạt động của hệ thống năng lượng cho phép tổ chức lưu trữ và khai thác dữ liệu hiệu quả, phục vụ cho việc quản lý đơn giản trong thực tế.
– Sử dụng được một số chức năng cơ bản của phần mềm quản lí dự án
Bảo vệ dữ liệu và quản lý phần mềm trên máy tính và thiết bị di động là kỹ năng thiết yếu Người dùng cần biết cách cài đặt và gỡ bỏ phần mềm khi cần thiết, cũng như hiểu rõ về các thiết bị số khác Bên cạnh đó, việc nắm vững các phép toán nhị phân cơ bản và ứng dụng của hệ nhị phân trong tin học cũng rất quan trọng để nâng cao kiến thức công nghệ.
– Trình bày được sơ lược việc thiết kế mạng
TIEU LUAN MOI download : skknchat@gmail.com
Sử dụng phần mềm thiết kế đồ họa, chỉnh sửa ảnh và làm phim hoạt hình giúp tạo ra sản phẩm số phục vụ cho việc học tập và thỏa mãn sở thích cá nhân.
Sử dụng thành thạo các phần mềm tin học văn phòng là yếu tố quan trọng giúp tạo ra sản phẩm số chất lượng Thông qua các dự án giải quyết vấn đề thực tế, người dùng có thể nâng cao kỹ năng và áp dụng kiến thức vào thực tiễn.
–Phân tích được dữ liệu với phần mềm bảng tính
– Biết được mục tiêu và một số thành tựu của Khoa học dữ liệu và Học máy
– Biết được vai trò của phần mềm mô phỏng
3 Năng lực “Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông”
- Biết được các cấu trúc dữ liệu cơ bản, các thuật toán sắp xếp và tìm kiếm cơ bản, viết được chương trình, tạo được trang web đơn giản;
Cơ sở thực tiễn
1 Việc dạy và học lập trình ở các trường THPT hiện nay
Việc dạy học lập trình ở trường THPT hiện nay chủ yếu tập trung vào các bài toán toán học, khiến học sinh chưa nhận thức được ứng dụng thực tiễn của lập trình ngoài việc tính toán Họ thường tự hỏi về vai trò của lập trình trong cuộc sống, khi mà hầu hết bài tập trong sách giáo khoa đều liên quan đến toán học mà không gắn liền với thực tiễn Do đó, việc giúp học sinh áp dụng kiến thức lập trình vào giải quyết các vấn đề thực tiễn trở nên khó khăn nếu chỉ dựa vào lý thuyết mà giáo viên truyền đạt.
Trong quá trình giảng dạy để mô phỏng kiến thức, giáo viên thường chỉ sử dụng các phần mềm để kiểm tra câu lệnh mà thiếu đi các ví dụ trực quan Điều này khiến học sinh gặp khó khăn trong việc tiếp thu kiến thức và cảm thấy chán nản khi học lập trình.
TIEU LUAN MOI download : skknchat@gmail.com
2 Các cuộc thi khoa học kỹ thuật
Trong những năm gần đây, các cuộc thi khoa học kỹ thuật và sáng tạo cho thanh thiếu niên, như đề án 1655, đã thu hút sự tham gia đông đảo của học sinh trên khắp cả nước Những cuộc thi này không chỉ khuyến khích học sinh trung học nghiên cứu khoa học và sáng tạo công nghệ, mà còn giúp các em áp dụng kiến thức vào giải quyết các vấn đề thực tiễn Đồng thời, cuộc thi góp phần đổi mới phương pháp dạy học, phát triển văn hóa đọc và thúc đẩy giáo viên nâng cao năng lực chuyên môn.
Cuộc thi này là một ví dụ điển hình cho việc áp dụng kiến thức vào thực tiễn, khuyến khích giáo viên thay đổi phương pháp giảng dạy Điều này không chỉ tạo động lực cho giáo viên mà còn giúp học sinh cải thiện khả năng học tập thông qua trải nghiệm thực hành.
Tại trường THPT Tương Dương 1, số lượng học sinh tham gia các cuộc thi khoa học kỹ thuật, đặc biệt trong lĩnh vực lập trình, vẫn còn hạn chế.
3 Khảo sát đánh giá thực trạng về mức độ yêu thích học lập trình và mối quan tâm của học sinh về các ứng dụng của lập trình trong thực tiễn
Kết quả khảo sát tại trường THPT Tương Dương 1 cho thấy rằng học sinh chưa có nhiều yêu thích đối với việc học lập trình, cũng như mối quan tâm về các ứng dụng thực tiễn của lập trình còn hạn chế.
Nền tảng Ardunio
Arduino là nền tảng mã nguồn mở lý tưởng cho việc tạo mẫu điện tử, giúp người dùng dễ dàng phát triển các ứng dụng tương tác với nhau và với môi trường xung quanh.
Nền tảng mẫu này hoạt động như một máy tính mini, cho phép người dùng lập trình và triển khai các dự án điện tử mà không cần sử dụng các công cụ chuyên dụng để nạp mã.
TIEU LUAN MOI download : skknchat@gmail.com
Phần mềm này tương tác với thế giới bên ngoài thông qua các cảm biến điện tử, đèn và động cơ
Phần cứng Arduino là một bảng mạch nguồn mở tích hợp bộ vi xử lý và các chân đầu vào/đầu ra (I/O) để giao tiếp và điều khiển các thiết bị vật lý như LED, servo và nút Bảng mạch này thường được cấp nguồn qua cổng USB hoặc nguồn điện bên ngoài, giúp cung cấp năng lượng cho các phần cứng và cảm biến khác.
Arduino là một phần mềm mã nguồn mở tương tự như C++, cung cấp môi trường phát triển tích hợp (IDE - Integrated Development Environment) cho phép người dùng soạn thảo, biên dịch mã lệnh và nạp chương trình vào board.
3 Khả năng kết nối của Arduino
- Arduino hoạt động độc lập
- Kết nối với một máy tính, cho phép truy cập dữ liệu cảm biến từ thế giới bên ngoài và cung cấp thông tin phản hồi
- Các Arduino có thể liên kết với nhau
- Mạch điều khiển Arduino có thể kết nối với các thiết bị điện tử khác
- Arduino có khả năng kết nối với các chip điều khiển
Lập trình Arduino IDE hỗ trợ kết nối với nhiều nền tảng khác nhau, cho phép người dùng khởi động trên Windows, Macintosh OSX và Linux, trong khi các hệ thống vi điều khiển khác thường chỉ tương thích với Windows.
4 Ứng dụng của nền tảng Arduino
Một số ứng dụng của Arduino trong đời sống phải kể đến như:
- Điều khiển các thiết bị cảm biến âm thanh, ánh sáng
- Làm đàn bằng ánh sáng
- Làm lò nướng bánh biết tweet thông báo khi bánh đã chín
Arduino là một nền tảng mã nguồn mở có khả năng đọc dữ liệu từ các thiết bị cảm biến và điều khiển động cơ Nhờ vào tính năng này, Arduino thường được sử dụng làm bộ xử lý trung tâm cho nhiều loại robot khác nhau.
- Arduino còn có thể được sử dụng để tương tác với Joystick, màn hình,… khi chơi các game như Tetrix, phá gạch, Mario,…
- Dùng để chế tạo ra máy bay không người lái
- Điều khiển đèn giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biển quảng cáo,…
TIEU LUAN MOI download : skknchat@gmail.com
- Ngoài ra, Arduino còn rất nhiều ứng dụng hữu ích khác tùy thuộc vào sự sáng tạo của người sử dụng
5 Arduino mang lại gì cho nền giáo dục?
Với sự phát triển nhanh chóng của mã nguồn mở Arduino IDE, việc học điện tử và lập trình trở nên dễ dàng hơn bao giờ hết Hiện nay, Arduino đã được tích hợp vào chương trình giảng dạy của các trường THCS, THPT, Cao Đẳng và Đại Học, đồng thời được sử dụng trong các đề tài và hoạt động ngoại khóa Điều này không chỉ thúc đẩy niềm đam mê học hỏi mà còn giúp học sinh tiếp cận công nghệ một cách nhanh chóng và hiệu quả.
Nếu bạn có những ý tưởng sáng tạo như làm một chú Robot nhện, xe điều khiển từ xa hay ngôi nhà thông minh nhưng không biết bắt đầu từ đâu, Arduino chính là giải pháp lý tưởng Với Arduino IDE, ngay cả những người không phải coder chuyên nghiệp cũng có thể hiện thực hóa những ý tưởng của mình một cách dễ dàng.
6 Một số IDE thông dụng
Arduino IDE hỗ trợ ngôn ngữ C/C++, cho phép nhận dạng mọi đoạn code của hai ngôn ngữ này Điều này giúp lập trình viên dễ dàng thiết kế chương trình cho các bo mạch Arduino, với nhiều ví dụ được trình bày trong bài viết.
- Makeblock IDE và VEXcode IDE: Hỗ trợ ngôn ngữ lập trình Python và ngôn ngữ lập trình trực quan Scratch
EasyCode IDE hỗ trợ ngôn ngữ lập trình trực quan Blocky, giúp người dùng dễ dàng tiếp cận lập trình Ngôn ngữ lập trình trực quan này đóng vai trò trung gian, kết nối người lập trình với các ngôn ngữ như C/C++.
7 Tổng hợp các lệnh hữu ích để code Arduino
7.1 Những lệnh Arduino IDE cơ bản: Ngay khi bạn mở Arduino IDE, bạn sẽ được chào đón bởi các lệnh setup() và loop() Đây là hai ví dụ duy nhất về sketch mà bạn tìm thấy trong hầu hết tất cả các code Arduino
Setup(): Mỗi khi sketch bắt đầu, lệnh setup sẽ giúp bạn khởi tạo các biến và bắt đầu sử dụng các thư viện
Loop(): Một vòng lặp theo sau setup và thực sự là trái tim của chương trình, khiến nó phản hồi vô hạn với bất kỳ logic nào
Break: Nếu bạn muốn thoát khỏi một lệnh, bạn cần nhấn break
Các lệnh logic như "if" khởi tạo hành động khi điều kiện được thỏa mãn, trong khi "return" trả về một giá trị nhất định Bên cạnh đó, lệnh "while" cho phép thực hiện một vòng lặp liên tục dưới một điều kiện xác định.
TIEU LUAN MOI download : skknchat@gmail.com
14 goto: Đúng như tên gọi của nó, lệnh này cho phép bạn đi đến một dòng nhất định trong code
7.2 Boolean và các toán tử số học
Bên cạnh sketch và các lệnh kiểm soát, bạn phải biết một số Boolean và toán tử số học để chỉ huy các chương trình
Các toán hạng: Bằng (=), phép cộng (+), phép trừ (-), phép nhân (*) và phép chia (/)
Các toán hạng nâng cao: Không bằng (!=), Nhỏ hơn hoặc bằng (=), phần dư (%)
Các biến quan trọng là yếu tố cần thiết trong việc thực hiện các phép toán logic khác nhau, giúp bạn xử lý thông tin một cách hiệu quả Trong một số trường hợp, việc xác định và sử dụng các biến này là rất cần thiết để đạt được kết quả mong muốn.
HIGH|LOW: Điều này mang lại giá trị cuối cùng cao và thấp cho các hằng số LED_BUILTIN: Đưa ra số lượng chân LED (LED pin)
7.3 Các hàm Arduino tích hợp sẵn digitalRead(): Đọc giá trị từ một pin kỹ thuật số nhất định Ngoài ra còn có digitalWrite() pinMode(PIN_NUMBER, INPUT/OUTPUT): Thiết lập pin tại vị trí PIN_NUMBER thành INPUT hoặc OUTPUT pinMode(PIN_NUMBER, INPUT_PULLUP): Thiết lập pin tại vị trí PIN_NUMBER trở thành đầu vào bằng cách sử dụng điện trở kéo lên (pull-up resistor) tích hợp của bo mạch Arduino analogRead(PIN_NUMBER): Đọc số chân analog PIN_NUMBER và trả về một số nguyên từ 0 đến 1023 analogWrite(PIN_NUMBER, VALUE): Giả lập analog output VALUE bằng cách sử dụng PWM trên PIN_NUMBER (Lưu ý: Chỉ khả dụng trên các chân 3, 5,
Để thiết lập điện áp tham chiếu trong Arduino, bạn có thể sử dụng các tùy chọn sau: analogReference(DEFAULT) cho điện áp mặc định (5V hoặc 3.3V tùy thuộc vào bo mạch), analogReference(INTERNAL) cho điện áp tham chiếu bên trong (1.1V cho ATmega168/328p, 2.56V cho ATmega32U4/8), và analogReference(EXTERNAL) cho điện áp được cung cấp qua chân AREF, với lưu ý rằng điện áp này chỉ nằm trong khoảng 0-5V.
7.4 Các hàm toán học min(i, j): Trả về giá trị thấp nhất trong hai giá trị i và j max(i, j): Trả về giá trị cao nhất trong hai giá trị i và j
TIEU LUAN MOI download : skknchat@gmail.com
Một số bài toán thực tiễn lập trình trên mạch Arduino
1 Đèn tín hiệu giao thông
1.1 Mô hình thực tế: Đèn tín hiệu giao thông đóng vai trò quan trọng trong hệ thống giao thông đô thị Hệ thống này thường được lắp đặt tại các ngã 3, ngã 4 hay các cung đường vị trí đường đặc biệt Cột đèn thường sẽ có 3 màu đèn gồm: Đỏ, Vàng, Xanh Mỗi màu chứa đựng một hiệu lệnh riêng Hệ thống đèn giao thông sẽ thay lực lượng cảnh sát giao thông phân luồng chỉ dẫn Người tham gia giao thông chỉ cần quan sát và tuân thủ đúng theo hiệu lệnh chỉ dẫn này
1.2 Mô hình Tin học: Lập trình điều khiển LED tín hiệu giao thông
1.4 Các linh kiện cần thiết và sơ đồ đấu nối:
Tên linh kiện Số lượng Sơ đồ đấu nối
Cài đặt chức năng của các chân Đèn vàng Chờ 30 giây Đèn xanh
TIEU LUAN MOI download : skknchat@gmail.com
1.5 Giải quyết vấn đề bằng lập trình:
{ pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11, OUTPUT);
{ digitalWrite(11, HIGH); delay(30000); //Chờ 30 giây digitalWrite(11, LOW); digitalWrite(12, HIGH); delay(3000); //Chờ 3 giây digitalWrite(12, LOW); digitalWrite(13, HIGH); delay(30000); //Chờ 30 giây digitalWrite(13, LOW);
2.1 Mô hình thực tế: Còi điện thường được sử dụng trong hệ thống báo động, chuông cửa, chuông ở trường học, các còi xe máy, ô tô,
2.2 Mô hình Tin học: Lập trình điều khiển còi kêu bằng nút nhấn
TIEU LUAN MOI download : skknchat@gmail.com
2.4 Các linh kiện cần thiết và sơ đồ đấu nối:
Tên linh kiện Số lượng Sơ đồ đấu nối
2.5 Giải quyết bằng lập trình:
Code int button = 11; int coi = 13;
Cài đặt chức năng của các chân
TIEU LUAN MOI download : skknchat@gmail.com
19 void setup() { pinMode(coi,OUTPUT); pinMode(button,OUTPUT);
} void loop() { int buttonStatus = digitalRead(button); if (buttonStatus == HIGH) { digitalWrite(coi, HIGH);
3.1 Mô hình thực tế: Đèn nháy được sử dụng rất nhiều để trang trí vào dịp giáng sinh, lễ tết, Đèn nháy có rất nhiều hiệu ứng: đèn sáng đuổi nhau, nháy liên hồi, đổi màu,…
3.2 Mô hình tin học: Lập trình điều khiển đèn led sáng dần tắt dần
3.4 Các linh kiện cần thiết và sơ đồ đấu nối:
Tên linh kiện Số lượng Sơ đồ đấu nối
Cài đặt chức năng của các chân
Tắt lần lượt 8 Led Sáng lần lượt 8 Led
TIEU LUAN MOI download : skknchat@gmail.com
3.5 Giải quyết bằng lập trình:
Dùng vòng lặp for (Sử dụng trong trường hợp kết nối liền mạch)
Dùng mảng 1 chiều (Sử dụng trong trường hợp kết nối không liền mạch) int BASE = 2; //led nối tới chân số 2 int NUM = 8; //số led void setup()
{ for (int i = BASE; i < BASE + NUM; i ++)
//tắt dần 8 led for (int i = BASE; i < BASE + NUM; i ++)
{ digitalWrite(i, LOW); delay(200); const char led[8]={1,3,4,5,6,7,9,10}; void setup()
{ for (int i=0; i