小6におすすめな言語
Pythonこそオススメしたい。 文法は簡潔で分かりやすいし。 >>37 まあ、都市部から地方まで遍く子供達がPCとScratch使えればHaskellの出番は無いんだけどね。 小6向けは言語を変えるんじゃなくて、さらに複雑なアルゴリズムを学ぶ方向かな。 暇つぶしに組み合わせnCrを書いてみた。 数学 0! = 1 n! = n * (n - 1)! n P 0 = 1 n P r = n * (n -1) P (r - 1) n C r = n P r / r! Haskell fact 0 = 1 fact n = n * fact (n - 1) n `p` 0 = 1 n `p` r = n * (n - 1) `p` (r - 1) n `c` r = n `p` r `div` fact r Python def fact(n): a = 1 for x in range(1,n + 1): a *= x return a def p(n,r): a = 1 for x in range(n - r + 1,n + 1): a *= x return a def c(n,r): return (p(n,r) // fact(r)) Haskellのfactと`p`はPythonの書き方に合わせるとそれぞれ fact n = product [1..n] n `p` r = product [(n - r + 1)..n] になる。 数学ではproductはΣ(シグマ/sum)の掛け算バージョンであるΠ(大文字のπ)に相当。 普通の言語にはsumはあってもproductは何故か無い。 (まあ作れば良いんだけど) だいたい独善親父が自分の宗教を子供に強制するカタチになるんだよなぁ 巨人の悪口吹き込んで、大洋ホエールズを応援するように仕向けたり 邪悪なM$の野望を打ち砕くために、子供には真に自由なFreeBSD以外を与えないようにしたり シンプルな古典言語でいいんだよ Show you guts cool say what 最高だぜ > だいたい独善親父が自分の宗教を子供に強制するカタチになるんだよなぁ > FreeBSD以外を与えないようにしたり >>44 それこそ数学で十分で、小学生なら>>19 みたいに算数に再帰の概念加えるだけで良いんだけどね。(x,yを丸や四角に置き換える) 掛け算だけでも色々な視点から考察出来るし。参考に下は>>19 の別視点。 後々、関数型言語や普通の言語との相関も見えて来る。 結局、目的の式を思い付くのが重要で、言語はそれを動かす手段に過ぎないと分かる。 数学(iは右下添字) y x × y = Σ xi = x1 + x2 + .. xy i = 1 Haskell x × y = sum [x |_ <- [1..y]] Python def mul(x,y): a = 0 for i in range(1,y + 1): a += x return a そもそも算数が教育の質が低下してるせいで掘り下げる事をしてないのがプログラミングなんてのが必須になった要因。 プログラミングも形骸化するのは目に見えてる。 小・中学生が学ぶべきは 日本語 >>> 算数 >>> 英語 >>> 数学 >>> コンピュータ/情報リテラシー >>>>>>>>>> プログラミング 小6だと学年トップクラスで賢い子じゃなければスクラッチのような簡単お遊び系を余暇の時間にやるので十分 python functools.reduce(operator.add, range(1, y+1)) >>53 低下と言うか、受験やテスト目的の「やり方だけ教える」教育が続いて久しい。 プログラミングも算数も論理的思考を育む目的だが、それはやり方だけ教えるのでは身に付かない。 どうしてそう言うやり方なのか?を理解しないと暗記やコピペで終わる。 小数点同士の割り算で、割る数も割られる数も10倍100倍して商を出すが、余りはその後1/10,1/100して元に戻すのは何故か? これを説明出来る教師が何割居るか。 本屋の参考書すらただの1冊も説明した本が無い。 AIに負けない子供を!と声だけ大きくて、実態は全然変わってない。 1. 基礎をやる。 2. 応用をやる。 3. 抽象的ロジックを学ぶ。 おすすめは2.から入ることです。 小学生にはとにかく簡単に作って簡単に動かせる プログラミングツールを使うのが本人の興味や好奇心を 刺激してそれについてより学びたいという気持ちを育むのに 適していると思います。 それに適しているのはScratchやUnityであると思います。 Unityは言語ではなく開発環境ですが。 マイナスのつく計算すら習っていない小学生に三角関数の知識が必須なゲーム制作を教えられる自信が無いのだが。 マウスのひだりボタンをおさえながら〜 もじのうえまでもっていって〜 そうっ!そこではなす! >>)49 #ruby def mul(x, y) (1..y).sum{x} end >>58 Unityなら衝突判定用などのライブラリもあるから三角関数の知識が必須ではない そして情弱のお前が教える必要がない >>61 お前が教える訳でもないがな 教師の立場考えろゴミカス Unityは2010年頃にちょっとだけしか触っていないけど、あれって小学生でも扱えるものなの? 当時は文献が少なすぎて挫折したけど...。 unity2018くらいからインターフェースが日本語化出来る様になって サードパーティー製のアセット (手裏剣エフェクト等)が標準で入ったりして VS2019communityとの連携対応でコード補完も充実して敷居が下がったと思う キーボード打つのはファイル名やオブジェクト名の入力くらいで 他はほぼマウス操作だけでも3Dゲームがコンパイル出来る >>57 何故、基礎を飛ばして応用? 子供が楽しんでるのはゲーム作りではなく、発表して見て、触ってもらう事。 基礎でも小さな応用の発表と意見交換の繰り返しで自然な曲線で応用に行く。 プログラミングは独立した授業ではなく、算数や社会と言った授業の中に取り込まれる内容だという事を忘れちゃいけない。 ゲームを作らせるのが、プログラミングの目的では無い。 ちなみに、HaskellはPrologに比べると少々面倒臭いが、普通の言語に比べると比較的簡単に家系図とか作れる。 (まあ、Prologのロジック部分はSQLと名を変えて生き残ってるんだが) Scratchって関数の再帰呼び出し出来たっけ・・・?(ちょっとしか触って無いけど手続きがあるだけで、関数無かった気がする) 家系図もだけど、ハノイの塔とかクイックソートとか、再帰出来ないと難しいアルゴリズム有るけど・・・。 そう言うの学ぶ辺りでPythonとかに行くのだろうか。 PC無い家庭でも学べるHaskellが良いんだが、採用されないよなぁ・・・。 >>60 交換法則とカリー化で。 replicate使用例: replicate 3 1 = [1,1,1] Haskell (×) x = sum.replicate x 使用例: 3 × 4 = (sum.replicate 3) 4 = sum [4,4,4] = 12 >>66 最初の2段落までは同意。 しかしどうしてそこからhaskell推しに行くかな。 高学年になれば(身のまわりの生活に沿った)算数にすらついていけない子が出てくる現状で、数学(高度な抽象概念)的なhaskellなんかやらせても、プログラミング嫌いを大量生産するだけだろう。 理解できる人にとっては再帰とかシンプルでキレイな概念かもしれないが、小学生には高度すぎる。 現実の生活でも作業手順として順序、条件分岐、繰り返しで考えるのだから、プログラミングを教える目的としても関数型より手続き型のが適しているだろう。 自分が小学生の親としての立場から見ても、小学生に関数型プログラミングを習わせたいというのは数学が得意な人間のエゴだと感じるよ。 小学生には同じゲームでもアナログゲームを作らせたほうが遥かに教育効果が高い 画面の中の作られた楽しさよりもっと豊かな世界を五感で体験することがその後の人生を有意義にしてくれる 特に小5小6くらいのゴールデンエイジの体験はものすごく重要 自分からのめり込むような子供以外にその時期プログラミングを学ばせるのは子供の人生を無駄にしてる >>63 手順を踏めば小学生でも出来るレベル アルファベットとか知ってるのは前提で ttps://www.youtube.com/channel/UCxqWXALpfawX5T45-4qD1Qg/videos 一般人は手順や段取りすらまともに考えられない。 想定どおりにならなかったときなど、もっと考えていない。 これらを教えるのが小学校のプログラミングで、プログラミング教育の意味がわかってないやつが多すぎる。 35年くらい前のパソコンサンデーを見ると昔のBASICでも問題ないことがわかる。 >>71 電源いれればすぐにLINEで遊べるからな >>72 アナクロとは全く関係ないよ 本来のアナログの意味からすれば誤用には違いないがは日本では定着した用語 https://ja.wikipedia.org/wiki/ アナログゲーム 知らない人がいるとは思わなかった >>67 プログラミングの授業にPC必須だと、地域&経済格差が激し過ぎる。 それが今現在解消されてない以上、エゴだろうが何だろうがHaskellを推す。 その為に小学生向けHaskell入門書まで書いて(事実上Amazon限定だが)自費出版までしたんだ。 >>75 小学生にプログラミングを教えること自体が目的化してないか? 格差が問題だというなら、格差の是正を訴えるかプログラミング教育の導入を延期させでもした方がいい。 haskellをやらせるくらいなら、そもそもプログラミング教育なんてやめて算数や国語を手厚く教えた方がよほどためになるよ。 それにPC無しで机上でやらせることを考えるなら、別にhaskellでなくたっていいだろう。手続き型言語でフローチャートを手書きするなり穴埋め問題とかでもいい。まあ楽しくはないだろうが、それはhaskellをやらされてもほとんどの子供にとって同じようなもんだと思う。 ね、自分と他人の区別がついてなくて 子供に自己投影できると思ってる人が発生しちゃうでしょ? 自分にできることは、子供にもできる 自分が理解できるものは、子供も理解できる 自分が好きなものは、子供も好きになる そうじゃない子供は想定外 根本的に自己中多いよね、この業界 >>77 > >>75 > haskellをやらせるくらいなら、そもそもプログラミング教育なんてやめて算数や国語を手厚く教えた方がよほどためになるよ。 そう訴え続けてもこうなってるから、せめてHaskellと言う選択肢も提供しようと足掻いてる。 >>75 PCなんか大量に廃棄されて処分にお金がかかっている状態だぞ? Haskellの人はRubyの人の次に話が通じないから議論しようとしてもストレスたまるだけだよ 単純に手段が目的になってるケースだね そこに囚われて有りきで全て理由付けしちゃってるから本人は筋が通ってるつもりでも他人からは狂人にしか見えないっていう... 自己中ってより思考パターンが障害持ちか心の病かカルト信者 視野狭窄に気付く為にはそこから2-3ヶ月程離れてみればいいんだけどこういう人って聞かないからね... >>81 これな ttps://maidonanews.jp/article/13832528 ttps://news.yahoo.co.jp/articles/2bdeaa658828fa87b1c94118f6e251b2a62a8f9d >>82 話が通じないとはいっても、haskellの人は自分の主張に拘りがあるだけで知性を持った人間として会話にはなるけど、Rubyの人はどこかで誰かが言った言葉を文脈無視でコピペの如く垂れ流すだけだからまったく論理的でなく会話にもならないな。 無職ガイジ「Rubyは稼げる!引く手あまた!」 説得力ねぇよなwww 簡単なWebは結局、PHPにおさまり、その他はPythonに置き換わってしまったからね。 >>77 一応、紙と鉛筆だけでもプログラミングを楽しめる様に問題の工夫やら考えてる。 プログラミングHaskell読んだ時の知的好奇心を刺激する「アカデミックなのに面白い」と言うのを小学生向けに書いたつもり。 >>82 ,83,86 PC買えない家庭でもプログラミング学べる少しでも環境整える為に、負けると分かっていてもこっちが折れる訳には行かない。 義務教育期間ならどんなクズでも出席日数さえ足りてれば進級進学できるんだから業界スタンダードなC#を鬼になって教えるのがベスト 成果物を見せてこんなのができるんだよーって教えればやる気にはなる うーん、今はGoがあるからな C#も悪くは無いと思うんだけど まあ、知り合いに小学生の内にBASIC->アセンブラまで覚えた人居るし、不可能じゃ無いんだろうけど・・・。 >>93 昔小学校6年生でMSXのマシン語メインでシューティングゲーム作った人がいたな 敵の動作をBASICの三角関数で作ってセットするとかいろいろ天才すぎだと思った 親の影響だろうね。親がプログラマだと子供に教えているわけでもないのに、勝手にあれこれやってどんどんすごいことをしているという話を聞く。 C++始めていれば、Arduino出来る。 これは大きい。 >>96 arduinoはライブラリの呼び出し方さえ判ればCレベルの知識でいいね 自分でクラスモジュール化なんてまずやらないし Haskellだと普通の言語より関数化やマルチスレッドプログラミング教え易い。 リストや配列から値を求める->foldl関数 リストや配列から新しいリストや配列を作る->map関数 そのfoldlやmapも自作出来る。 普通の言語では「良く使う機能は関数にまとめましょう」と言いながら良く使うforのパターンを関数にしない。 関数型言語の機能を取り込んで、ライブラリにmapやfold、あるいはcollect、reduceが備わってから使い出した。 文化的に「良く使う機能は関数にまとめましょう」を実践させるのに関数型言語の方が向いてる。 マルチスレッドプログラミングも、身近な所だと四則演算が混じった計算でも、同時に出来るところは同時に計算しても良い。 例として、()で括った箇所は同時に計算して良い。 2 * 3 + 4 / 2 = (2 * 3) + (4 / 2) = 6 + 2 = 8 普通の言語だと、プログラマーがスレッドを作って並列処理させるし、デッドロックを気にしないといけないけど、 関数型言語はここをマルチスレッドでと指定すれば後は言語側がやってくれる。 (普通の言語だと、上の例ですらデッドロックや処理待ちを気にしないといけない) 上の例をマルチスレッドにするとむしろ遅くなるが、クイックソートの分割統治法とかで威力を発揮する。 import Control.Parallel.Strategies main = print (a + b) where (a,b) = (2 * 3, 4 `div` 2) `using` evalTuple2 rpar rpar >>99 だから小学生にプログラミングを教える目的は高度なプログラミングができるプログラマを育成することでなくで、物事を整理して論理的に思考したり現実的な作業の手順を上手く考えられるようにすることなんだって。 別にマルチスレッドなんて本職のプログラマが書ければいい話で小学生が気にするようなものではない。関数化だって、一塊の同じような処理を塊ととらえて抽象化できれば十分で、関数型言語のような現実よりも数学に近いところでの抽象化は不要だろう。 haskellの良さ自体を否定する気はないが、それを主張する相手はこのスレやましてや一般的な小学生が相手ではなく、別スレとか、プログラミング好きの中高生かそれ以上の方が適切だろう。 プログラミングそのものを教える前に数学を教えろって意見は大賛成 さらに論理学も必要 ただしHaskelおまえはいらん >>101 うむ。 マルチスレッドまでは言い過ぎた。 でも、forで良く使うパターンを関数化しない or 出来ないのは普通の言語だと演算子が関数の一種として扱われてないから。 わざわざラムダ式や関数書かなきゃ行けないのはスマートじゃない。 高階関数取り入れても、まだまだ再利用性には関数型言語と差がある。 sum = foldl (+) 0 product = foldl (*) 1 reverse = foldl (\xs x -> x:xs) [] >>102 ぶっちゃけその通り。 ただ、今の教育課程はいささか・・・いあ、大分不安がある。 例えば足し算の性質、合併と増加。 参考書では同時か後からかの違いと説明されるが、これではリンゴとみかんの合計の様な違うものの足し算の説明が出来ない。 ペアノの公理はリストと同型であるが、そう考えると合併はappend(リストの結合)だ。 一方の増加は足す数をカウンタとして足される数を増やすので、見ようによっては足す数の型を足される数の型に変換して合併する処理だ。 型にすると 合併の型: a -> a -> a 増加の型: a -> b -> a そうするとリンゴとみかんの合計は リンゴとみかん リンゴ みかん (0 + 3) + 5 リンゴとみかん みかん 3 + 5 リンゴとみかん 8 となる。 合併のHaskell(リスト)の例 [] ++ ys = ys (x:xs) ++ ys = xs ++ (x:ys) [1,1,1] ++ [1,1] = [1,1] ++ 1:[1,1] = [1] ++ 1:1:[1,1] = [] ++ 1:1:1:[1,1] = 1:1:1:[1,1] = [1,1,1,1,1] 増加のHaskell(リスト)の例 xs ^+ [] = xs xs ^+ (_:ys) = 1:xs ^+ ys [1,1,1] ^+ ['a','b'] = 1:[1,1,1] ^+ ['b'] = 1:1:[1,1,1] ^+ [] = 1:1:[1,1,1] = [1,1,1,1,1] >>104 もうお前がどこに向かってるのか分からんよ。 小学生はそんな小難しい理屈なんか考えずに何の問題もなくリンゴとミカンの数の足し算ができるしそれで過不足は無い。 haskellを小学生に教える理由としてはことごとく的はずれで、先に自分の中でhaskellを推すということが大前提になってしまってるだろう。目的と手段が混同されたままで何の価値もない議論になってるぞ。 入門という意味なら(癖が強いけど)環境構築も含めて JavaScript + HTML かな 使ってるのが Windows なら C# というのも選択肢に入ってくる Python とか Ruby は環境構築がアレだけど Anaconda とかで無事に入るのであれば Python というのも無くはないがそれなりにクセがある アルゴリズム体操のようなクィックソート体操があると面白いなぁ >>109 大人のピタゴラスイッチでやっていたしめじソートやじゃがいもソートは面白かったね C++をやっておけば、Arduinoを始められるという利点がある。 >>107 小学生にはおはじきで動きを教えれば良いんだが、教師の側は知っておいた方がいい。(だから参考書にも変な解釈が載ったりする) 言いたかったのは、理屈を教えず「そういう決まり」で教えるのでは無く、理屈を教えたり理屈を探究させたりする内容の授業が大切。 それこそが論理的思考をそれこそが論理的思考を育てる。 ただドリルを繰り返しても身に付かない。 そう言う意味でのプログラミングでも、処理過程の見え難い普通の言語(デバッガーがあれば多少マシ程度)よりHaskellの方が理屈を考え易い。 >>107 >>75 の理由で引くつもりは無いので、Haskellについては的外れだろうが推す。 第一、再帰が難しいと言うが、複雑度合いで行けば再帰よりループの方が複雑だ。 一般にループは末尾再帰と同程度の複雑さとされる。 論理的思考を教えるのにスタックを消費するからってのは考えないで良いなら、再帰の方が単純。 0からnまでの合計 Python def mysum(n): a = 0 for i in range(n + 1): a += i return a Haskell mysum 0 = 0 mysum n = n + mysum (n - 1) 好きな言語で簡単なコードを描いて答えてください x, y は整数 x > 0 y < 4 / x を満たす x, y の組み合わせを全て出力 みんな判ってるだろうと思うけど 0 < x < 4 の 4 とか勝手な上限設定するのは反則ね >>114 的外れだろうが推す、か。 もうただの荒しだな。 5chのクソスレで必死に啓蒙活動とか発達障害かキチガイ ぶっちゃけ普通の数学でn進数を暗記して色の管理とか行列と絡めてSQLでユーザー管理でも組ませてLINEとかはこうやってみんなのくだらねーおしゃべりを中継してるんだぞ!っとかの方が実感しやすくね? 口語使えないやつらにいきなり文法パズルやらせたって睡眠導入にしかならんと思 睡眠障害もちを集めた特別教室ならどれでも良いだろうけど >>115 #ruby #x,yは正の整数とする n=4 (1..n).each{|x|(1..n/x).each{|y|p [x,y]}} 実行結果 [1, 1] [1, 2] [1, 3] [1, 4] [2, 1] [2, 2] [3, 1] [4, 1] 小学生は沈黙している。 小学生は窓の外に鳥を見つけた。 小学生は引き出しで趣味の折り紙に熱中している。 この先生が小学生の教師だったら一人と偶然相性が合う3クラスに2人くらいの生徒が過剰反応するだけで バックグラウンドで学級崩壊してるよ。 >>115 「整数」なら範囲指定して欲しいぬ(´・ω・`) 自然数ならxもyも999まで回しても答え変わらんから、xは1..4、yは0..3でええやろ。 [(x,y)| x <- [1..9], y <- [0..9], y < 4 `div` x] > [(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(3,0),(4,0)] n = 9 [(x,y)| x <- [1..n], y <- [(-n)..n], y < 4 `div` x] > [(1,-9),(1,-8),(1,-7),(1,-6),(1,-5),(1,-4),(1,-3),(1,-2),(1,-1),(1,0),(1,1),(1,2),(1,3),(2,-9),(2,-8),(2,-7),(2,-6),(2,-5),(2,-4),(2,-3),(2,-2),(2,-1),(2,0),(2,1),(3,-9),(3,-8),(3,-7),(3,-6),(3,-5),(3,-4),(3,-3),(3,-2),(3,-1),(3,0),(4,-9),(4,-8),(4,-7),(4,-6),(4,-5),(4,-4),(4,-3),(4,-2),(4,-1),(4,0),(5,-9),(5,-8),(5,-7),(5,-6),(5,-5),(5,-4),(5,-3),(5,-2),(5,-1),(6,-9),(6,-8),(6,-7),(6,-6),(6,-5),(6,-4),(6,-3),(6,-2),(6,-1),(7,-9),(7,-8),(7,-7),(7,-6),(7,-5),(7,-4),(7,-3),(7,-2),(7,-1),(8,-9),(8,-8),(8,-7),(8,-6),(8,-5),(8,-4),(8,-3),(8,-2),(8,-1),(9,-9),(9,-8),(9,-7),(9,-6),(9,-5),(9,-4),(9,-3),(9,-2),(9,-1)] >>118 そう言うものだって諦めて、そっちはそっちで何が適してるか提案すれば良い。 私は真剣にHaskellが適してると思う。 今だって、リモート授業出来てるの全校の6%程度。 残り94%が出来ない理由は「環境が無い家庭が居る」から。 さらにプログラミングは本格的に始まったら、プログラミングの授業のノウハウ知らない学校の先生が授業する。 プログラミング教室の先生が毎回授業してくれる訳じゃない。 (だから算数以上に形骸化するのが目に見えてるんだが) 数学でプログラミング出来る方が、先生の負担は少ない。 結論有りきの本末転倒さと勝手な決めつけで相変わらずイカれてますねw プログラム言語というのはあくまでもコンピューターに指示するための道具で人間が使いやすい形を目指して作られているだけ プログラミング的思考をするのなら日本語と数式だけで十分すぎる 他の人も書いているけど テキシコー https://www.nhk.or.jp/school/sougou/texico/ がわかりやすい 自分の慣れている言語の方がプログラミング的思考しやすくなるのは当然だが、だからと言って他人に特定の言語を押し付ける必要性は無い 必要性があるのならその言語はどの言語よりも普及しているはず >>132 小学生にHaskell教えると言っても、アルゴリズム記述出来る最小限の文法のみ。 入出力、モナド、高階関数、リスト内包表記とか省く。(この辺、小学生の我が子に向けて作られたと言うGP0を参考に必要最小限まで省いた) そこまで省いて小学生向けHaskell入門書書いて驚いたのは、それでもPython・Rubyと言ったLLと比べても 思った程劣ってない表現力が残っていた事。 >>130 > さらにプログラミングは本格的に始まったら、プログラミングの授業のノウハウ知らない学校の先生が授業する。 > プログラミング教室の先生が毎回授業してくれる訳じゃない。 > (だから算数以上に形骸化するのが目に見えてるんだが) Haskellを教えるとなったら、そっちの方が形骸化するのは明らかだろう。 正しく理解して教えられる先生、論理的思考で解ける子供はごくわずかで、 教科書をなぞった手順を説明して、手順の通りに問題を解くだけというのがよくある光景になるだろう。 > 数学でプログラミング出来る方が、先生の負担は少ない。 数学が得意な先生ばかりではないし、先生自身が理解できたとしても それを小学生に教えるのは困難を極めるだろう。 論理的思考のために数学を使って教えるというなら、 そもそもHaskellなんて余計なオーバーヘッドをなくして直接、数学を教えればよい。 まあ算数の範囲を超える数学(的思考)をプログラミングの授業で教えること自体が そもそも無茶な話だ。 そんなバカげたことをやらせるより、普通に算数を手厚く教えればいい。 結局のところ、Haskellがよいという理由も、Haskellでなければならない理由も、まったく理解できない。 本人の中でHaskellは良いものだ、Haskellを押したいという大前提が先にあって、 後付けで薄っぺら理由付けをしているようにしか見えない。 論理的思考、と繰り返し出てくるが、お前さんの論理を聞いていると、まったく論理的でないと思うよ。 数学とかルールの決められたパズルを解くような、そういう意味での論理的思考は得意なのかもしれないが、 正解のない、世間の常識などのあいまいな要素を含む問題について考えるのは得意ではないのではないの?と思える。 別に俺の方が正しく考えられるというつもりは毛頭ないが、お前さんの理論は 「格差が問題になる→机上でできるHaskellをやるべき」という出発点にこだわりすぎて、 そのあとに出てくるさまざまな問題をすべて目をつぶって屁理屈でかわそうとしている(本人に自覚はないだろうけど)ように見えるよ。 真面目に考えて単純にコストとその後の実用性を考えつつ、基礎も、となるとラズベリーパイで組み込み制御の実習でもやればいいんじゃね? なんか壊れたときに暫定で動かすとか出来るようになるしパソコンやスマホの基本構造も覚えられるし。 というわけで言語はPythonに一票 本当のとっかかりにはHuman Resource Machineでも遊ばせておけばいいと思っている 自分で組んで上手く行かなくてデバッグしてを一通り経験できる それで楽しさを見いだせたら、あとはそれを応用して何をしたいか次第で選択肢は多様 ハードウェアを動かしたいならそういうキットに乗っかればよし ゲーム作りたいならUnityなりUnrealなりに乗っかればよし Webやりたかったらそれこそ無数にあるWAFからなんか選べばよし 本当のとっかかりはキーボード打ち込むところだと思う 論理的思考を育むというのが名目ならば本格的なプログラミングを学ばなくとも エクセル関数や簡単なVBA、正規表現によるテキスト置換、JSでマクロとかでも十分に論理思考を育めると思うし実用性高いものの方が多くに将来に渡って資産となろう 義務教育なら尚更 なんか子供を舐めすぎっていうか子供ってケダモノだけど学習能力本当に高いから舐めて低レベルなことを教えるより大人と同等のことを教えた方が吸収早い 大人相手とは違って言葉は安易にしたり説明噛み砕いたりする必要はあるけどね それをしないのは落ちこぼれの対処が面倒臭いから 足の速い子遅い子が居るように仕方のないことなのに低目のレベルで足並みを揃えさせ落ちこぼれをなるべく減らそうとする教育制度のせいで全体の質が低くなってる 全体の質を上げるにはこの問題を解決しないとどうしようもない 茶を濁すなら、PCの使い方、ファイルシステム、ファイル属性、拡張子、バイナリ、ascii、ググり方、文字コード、html、css といった 覚えておいて損は無いコンピュータやネット関係の基礎的な大雑把な仕組みを学校で教えといた方がよっぽど為になると思う 小学生で「背の低い順に並んで」だけで整列できるかな? Pythonは有名なライブラリですら意味不明の名前がついているからダメ 標準化機構が必要 read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる