programowanie komputerowe w 4 krokach

na poziomie średnim podstawowe pojęcia i praktyki z zakresu informatyki (CS) są nauczane na kursach zazwyczaj w ramach klastra kariery informatycznej (IT) pod parasolem edukacji zawodowej i technicznej (CTE). Jednak koncepcje i praktyki CS są również coraz częściej włączane do naukowców, a także do przedmiotów fakultatywnych (i są pod wpływem sztuki i projektowania).

bez względu na dyscyplinę, tworzenie artefaktów obliczeniowych jest jedną z podstawowych praktyk CS, których uczniowie powinni konsekwentnie doświadczać, aby lepiej rozwiązywać problemy. Artefakty obliczeniowe mogą obejmować obrazy, filmy, prezentacje, pliki audio i programy komputerowe.

precyzyjna i spójna praktyka w programowaniu komputerowym (CP) pomoże uczniom zbudować wiedzę międzyszkolną w połączeniu z koncepcjami i praktykami akademickimi i CS. Ponieważ CP jest procesem pisania programu Od początku do końca, studenci otrzymują ekspozycję na połączenie praktyk 3-6 znalezionych w ramach Informatyki K-12.

jak skutecznie zaangażować uczniów w CP? Oto jak możemy to zrobić w czterech głównych krokach.

cztery kroki

Krok 1: Zidentyfikuj problem

kiedy uczniowie są nowi w CP, zwykle zaczynamy uczyć ich programowania i kodowania za pomocą samouczków. Chociaż nie ma w tym nic złego, nie chcemy ich tam trzymać.

Zwykle pisarz samouczka już zidentyfikował zarówno problem, jak i rozwiązanie programu. Najlepszym sposobem na naukę jest pisanie własnych problemów i rozwiązań oraz tworzenie własnych programów. W przeciwnym razie skupią się bardziej na nauce kodowania określonych funkcji w danym języku, co na ogół nie różni się od zapamiętywania rote, które należy zastąpić rozwojem pamięci roboczej.

Identyfikacja (lub zdefiniowanie) problemu jest najbardziej krytyczną częścią procesu CP, ponieważ uczniowie będą musieli opracować konkretny plan tego, co zrobi ich kompletny program. Proces ten polega na identyfikacji zarówno znanych wejść (lub podanych danych), jak i tego, co ma być uzyskane poprzez wyjścia (wynik). Chociaż CP nie jest prostym procesem, spójna i precyzyjna praktyka zbuduje zaufanie uczniów w czasie w artykułowaniu szczegółów na temat rodzaju wejścia, przetwarzania i wyjścia pożądanego dla ich programów. Aby zachęcić uczniów do nauki programowania, przeczytaj to świetne wprowadzenie do lekcji budowania i udostępniania aplikacji przez Code.org.

Krok 2: Znajdź rozwiązanie

aby znaleźć lub zaplanować rozwiązanie problemu zidentyfikowanego w Kroku 1, uczniowie mogą utworzyć schemat blokowy lub napisać pseudokod. Doświadczeni programiści mogą i będą korzystać z każdej z tych metod, aby przekazać rozwój programu klientom, nauczycielom itp.

schemat blokowy jest rozwiązaniem krok po kroku problemu, który wykorzystuje obrazkową reprezentację kierunku programu i składa się ze strzałek, pól i innych symboli reprezentujących działania (tj. wejście/wyjście, proces itp.). Pseudokod jest podobny do angielskiego i służy do przekazania rozwiązania z większą dokładnością niż w zwykłym języku Angielskim-ale z mniejszą skrupulatnością wymaganą przez formalny język programowania.

proces rozwiązania umożliwia programiście skupienie się na logicznym przepływie programu bez konieczności przestrzegania rzeczywistej składni używanej przez język programowania dla projektu. Sprawdź tę zabawną lekcję Technovation, aby pomóc swoim uczniom zaplanować swój kod.

Krok 3: Koduj

często kodowanie jest mylone z programowaniem, ale kodowanie jest tylko jedną z części procesu programowania. Dobrzy programiści mogą tworzyć instrukcje z rozwiązań (omówione w Kroku 2) i zapisywać je w kodzie, aby komputer mógł je zrozumieć. To jest, gdzie algorytmiczne umiejętności projektowania z myślenia obliczeniowego wchodzą w grę.

to pomaga, gdy myślisz o swoim problemie jako problem matematyczny, nie dlatego, że zawsze robisz dużo matematyki podczas programowania, ale dlatego, że proces myślowy jest taki sam. W matematyce często używamy algorytmicznych zestawów instrukcji, które wykonujemy w sekwencji kroków, aby osiągnąć cel. Proces ten jest porównywany zarówno do dobrze szczegółowego schematu blokowego, jak i kodu (w określonym języku programowania).

praktykowanie kodowania pomoże uczniom zrozumieć, że kodowanie nie jest skomplikowane, gdy nauczą się logicznego myślenia i kroków. Rozpoczęcie nauki przez pisanie prostych programów nauczy ich, jak dawać komputerom instrukcje, jak komputery faktycznie działają i że dobrzy programiści nie są niejasni i nie pomijają kroków. Rozumieją również, że napisany przez nich kod jest przetwarzany (tłumaczony) przez kompilator na język maszynowy w celu wykonania.

dla dzieci początkujących w kodowaniu, polecam zacząć od visual programming language (VPL), który pozwala dzieciom opisać swoje algorytmy za pomocą ilustracji i pozwala koderom opisać proces w kategoriach, które mają dla nich sens.

oto kilka popularnych VPL:

  • Scratch, ScratchJr
  • Blockly
  • Ardublock (język programowania dla Arduino)
  • ROBOLAB (język programowania dla Lego Robotics)
  • ROBOTC (graficzny dla VEX Robotics)
  • LabVIEW (National Instruments)

Chociaż istnieje kilka sposobów, aby zachęcić uczniów do rozpoczęcia kodowania, Gorąco polecam całej szkole udział w Godzinie Kodowania, a także nauczenie dzieci kodowania w kontekście wyzwania STEM/STEAM design.

Krok 4: Testuj go

testowanie w CP jest krytycznym procesem służącym do określenia jakości programu i znalezienia błędów (problemów). Jako praktykant na studiach po raz pierwszy zapoznałem się z testowaniem i debugowaniem kontrolek ActiveX w języku programowania Visual Basic. Chociaż testy mają różne poziomy i będą określać, czy programy działają, czy nie-praca nad znalezieniem błędów dla programistów do skorygowania była bardzo potężna w pomaganiu mi zrozumieć jakość programów, z których korzystałem na co dzień, a także znaczenie ich regularnej aktualizacji.

wymaganie od uczniów publicznego przedstawienia swoich prac jest doskonałą techniką angażowania i zaszczepiania w nich znaczenia procesu testowania w omawianiu i prezentowaniu wysokiej jakości pracy CS. Ponownie, App Lab (w Kroku 1) to świetna lekcja i projekt pomagający dzieciom uczyć się CP od początku do testowania.

CP dla różnych poziomów zaawansowania

programowanie może być nauczane na wszystkich poziomach zaawansowania. Oto kilka narzędzi, z których można korzystać w różnym wieku i na różnych poziomach zaawansowania.

stopnie 3-8: zestaw kodów littleBits. Zestaw code kit jest wyposażony w elektroniczne bloki konstrukcyjne i aplikację z samouczkami kodowania i stanowi doskonałe rusztowanie do nauczania studentów koncepcji kodowania, światła, dźwięku i ruchu w kontekście wyzwania projektowego lub wynalazku.

to, co uważam za najpotężniejsze w zestawie Kodów, to aplikacja, ponieważ pomaga użytkownikom ugruntować się w podstawowych zasadach kodowania. Dobry koder, bez względu na język lub doświadczenie w kodowaniu, będzie musiał zrozumieć podstawy-takie jak wejście/wyjście, pętle, funkcje, zmienne, a także logikę. Sukces zawsze odnosi się do rozwijania wewnętrznego opanowania podstaw. Podobnie jak dr Stephen R. Covey, autor 7 nawyków wysoce skutecznych ludzi, powiedział kiedyś: „stawiaj rzeczy na pierwszym miejscu.”

zestaw code Kit działa również w połączeniu ze wszystkimi zasobami edukacyjnymi, których potrzebowałby nauczyciel, w tym planami lekcji, jałmużnami dla uczniów i dostosowaniem do standardów nauki nowej generacji. Wiele z tych zasobów zostało przetestowanych i opracowanych przez kohortę Głównych edukatorów littleBits w 2017 roku i jako dumny członek miałem wielkie szczęście pracować i uczyć się z tak utalentowaną grupą edukatorów!

klasy 6-8: Robotyka. Wprowadzenie dzieci do programowania jest dość łatwe. W mojej poprzedniej roli jako specjalisty od programów nauczania, wykorzystywaliśmy robota LEGO Mindstorms jako wprowadzenie. Były to kroki, które podjęliśmy, aby pomóc dzieciom zrozumieć kluczowe pojęcia, a także programowanie:

  1. Zbuduj ich roboty. Praktycznie każde dziecko uwielbiało tę część.
  2. Poznaj podstawy. Dzięki samouczkom dowiedzieli się o silnikach, czujnikach, przekładniach i innych komponentach.
  3. Naucz się programować. Klocek miał sześć wbudowanych misji, które pozwoliły uczniom zobaczyć, jak sprawić, by robot poruszał się za pomocą silników i reagował na dotyk lub ruch za pomocą czujników. Gdy przyzwyczaili się do wbudowanych programów, zaczęli tworzyć własne programy, używając bloków programistycznych ROBOLAB.
  4. Połącz się z CS i STEM. Odkryliśmy, że pomogło to w znacznym stopniu wyjaśnić koncepcje i praktykę zarówno rozpoznawania wzorców, jak i projektowania algorytmicznego. A potem oczywiście lekcje z CS i STEM, które obejmowały kodowanie, siłę i ruch oraz projektowanie i technologię. Odkryliśmy również, że zestaw VEX IQ świetnie nadaje się do podobnych celów i użyliśmy zarówno VEX, jak i Lego, w oparciu o różne konkursowe wydarzenia, w których brali udział nasi uczniowie.

klasy 8-12: zaawansowana Robotyka. Dla uczniów szkół średnich, którzy już ćwiczyli kodowanie przy użyciu VPL i mają lub opanowują podstawowe zasady programowania, następnym krokiem jest wprowadzenie ich do kodowania w poszukiwanym w branży języku programowania, takim jak JavaScript, Python, Pearl lub c++. Na szczęście programowanie robota takiego jak VEX EDR daje licealistom wstęp do tej cennej nauki. Studenci programowania VEX EDR uczą się używać języka programowania opartego na ROBOTC C i mogą zobaczyć efekty kodu, który piszą w czasie rzeczywistym, rozwiązując problemy za pomocą procesu projektowania inżynierskiego.

ostatnio zacząłem uczyć się programowania VEX EDR, kiedy uczestniczyłem w szkoleniu z projektowania inżynieryjnego w Międzynarodowym Stowarzyszeniu edukatorów technologii i Inżynierii. To tam spotkaĹ ’em siÄ ™ i wspóŠ'pracowaĹ’ em z Timem Oltmanem — nauczycielem MarthÄ … Layne Collins high school of the year. On i kolega Shane Ware mają duże doświadczenie w nauczaniu dzieci programowania robotów na różne konkursowe wydarzenia VEX robotics i zdobyli wiele nagród w Kentucky.

zapytałem Tima o jego przemyślenia na temat tego, jak nauczyciele powinni postępować, gdy przenoszą dzieci z programowania w VPL do programu opartego na C, takiego jak VEX, i powiedział: „najpierw buduj relacje z uczniami, a następnie ucz się z nimi. Pozwól im zobaczyć, jak próbujesz i nie, a będą cieszyć się walcząc przez proces z Tobą. W końcu prześcigną was i staną się nauczycielami.”

Jorge Valenzuela jest trenerem edukacyjnym i asystentem dydaktycznym na Old Dominion University. Jest również głównym trenerem Lifelong Learning Defined, Inc., Krajowy Wydział Buck Institute for Education, Krajowy trener efektywności nauczycieli z International Technology and Engineering Educator Association (ITEEA) i część programu Lead Educator dla littleBits. Możesz połączyć się z Jorge na Twitterze @JorgeDoesPBL, aby kontynuować rozmowę.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.