はてなキーワード: SCRATCHとは
足りなかったねん(´・ω・`)
...ちょっと調べてみて分かった。思い込みでいろいろと書いていたが、Scratchはチューリング完全だし、ちゃんと再帰なんかも書けるのね。
ただ、配列が基本データ型にないのはアルゴリズム学習の観点からはかなりマイナスだと思う。
リストと配列はその振る舞いや扱いが大いに違うので、実装の詳細だから触れないでいいというわけにもいかないのではと思う。
そして、Chrome拡張を使えば競技プログラミングもできなくはないけれど、それだったら最初からC++書いたほうが早くね?とも思ってしまう。
たぶんエントリーはそこでもいいし、それでそれなりにアルゴリズムを勉強できるけれど、それ以外の言語を知らないというのはかなりのマイナスポイントなのではないのだろうか。
いやScratchでも、複雑なアルゴリズムはちゃんと実装できるし、ちゃんとしたプログラミング言語だぞ。
むしろ他のたとえばJavaプログラマーでもアルゴリズムを実装できないアホが多いしな。
ただ、NHKの教育番組を見ればScratchがめちゃくちゃできるわけではないし、Scratchがめちゃくちゃできても仕事にはつながらないけどな。(ただし、Scratchをめちゃめちゃやった人が次のプログラミング言語の習熟は早いってのはある。)
ほかの増田がすでに出しているけれど、
つ https://www.nhk.or.jp/school/sougou/programming/
SCRATCHなど言語とは言わん!という主張なら...まあ、そうかもねと思う。
かつて、SCRATCHを小学生などにボランティアとして教えているという人が面接に来たときは、「なんでこんなにコードが書けない奴がうちの会社の面接に来たんだ?」と思ったような気がする。まあ、自称コードをバリバリ書く人でもそういう人がいるのでこういうプログラミング学習向けのプログラミング言語が悪いというわけでもないのだけれど、たぶん、この手の言語はアルゴリズム学習には不向きで、うちの会社の面接ではそこそこ複雑なアルゴリズムを必要とする問題を聞くから相性が悪いんだろうな。
そこでのよくある問題を共有しようと思っています。授業中の内職問題です。
授業中の「内職」というのは、授業において関係ない行為をすることです。
教室での対面授業の時では「内職」の内容は他の授業の課題だったりするのですが。
Zoom配信授業となるとYoutubeやTikToc、マインクラフト、他のオンラインゲーム(つい最近だとフォートナイト)、チャット(LINE)だったりします。こうなると、私の話なんか聞いてないってことが本当に多いです。Zoomを起動しながら、やっていたり、Zoomを開いているパソコンとは別に、スマホを弄っていたり。
また、教室の対面授業大きく違うのが「内職」の発覚が遅れることにあります。教室だとわりと内職している生徒はわかりやすいのです。話しているのに下を向いている他の生徒と違うことをしているため発見がしやすいのです。しかし、オンラインを通して生徒の状況が分からないため内職しているかが発覚しにくいのです。オンラインの場合どう発覚していくか? というのは、その生徒に対して授業中に「この答えはどうですか?」「この問題を問いてみてください?」とかを聞くと答えられない時にまずは「疑惑」レベルから始まります。というのも、先生の話をちゃんと聞いても分かってない場合と判断が最初つかないからです。しかし、対面時の教室授業では理解できていた生徒が、オンラインでの説明で「分かりません」とかになってくると「なんかやってるな?」という感じになります。
最初私は生徒があまり理解していないのを感じて、生徒の内職ではなく、わたしのオンライン授業のやり方がまずい?等思って改善に勤めていましたが、保護者の方から「授業中にマイクラやってるんだけど?」という連絡を受けて始めてその問題に気づきました。現状の対策として、Zoomのビデオは最低限オンにする、マイクもできる限りミュートしない、授業の支障にならない静かな場所で受けさせる等の対策を取ってます。こうすると、音で内職が把握できたり、画面越しに生徒の顔を見てる発覚がしやすくなります。また、最終的に検索履歴や起動ログを見せてもらったりします(プライバシー等の問題があるため、保護者に許可を貰ってから確認します。)
保護者が生徒の様子を見ている等が良い解決になりますが、共働きで家に保護者がいる状況ではない、テレワークでなかなか生徒の様子を見れない、等で実現がなかなか難しいのです。むしろこういった学習塾のオンラインスクールでは、親が面倒を見てもらいたいというニーズもあり、そういったことをお願いは難しい環境だったりします。
また、私の呼び掛けにすぐに応じない等もヒントになります。ただし、完全な対策にはなりません。酷い生徒には、Google検索のフィルターや、ゲーム起動制限等を保護者にお願いしてもらうようにはしていますが、私の授業では、Scratchでの教育やGoogleの検索等でネットで調べることやっていたりしているので、そうすると授業に参加し辛くなります。また、家での授業終わりの遊びの時間も含めての学習習慣だと私は考えていますので、基本的にはパソコン等での制限はしたくないのです(もちろんアダルトサイト等のフィルターは必要だとは思いますが。)。
もし、高校生、大学生以上であれば、これは大きく問題になることはないように思います。ある年齢以上になると、こういったものは彼等自身の責任になるからです。
しかし、小中学生になってくると問題になることが多々あると思います。なぜなら、「授業に集中できるように指導する」「学習態度を身につけさせる」「学習習慣を身につける」というのが求められてくるからです。
もちろん、学習塾にはこういったものが重視されていないところもあるでしょうが、私の勤めているところでは「生徒一人一人の面倒見の良さ」を売りにしているところがあり、こう言ったことを重視しています。こういった、塾ですら問題になるのですから、塾でなく小中学校のオンライン授業とかも同様な問題になっていると思います。
私はある程度、リテラシー等もありまだまだ上手くやれている方だと思いますが、今後オンライン授業が定常的になってくるとこういった問題が深刻になってくるように思います。ですので、ここで、私から共有させて頂きます。(ある程度、オンライン授業をされている方にとっては常識のようなものですが、この間、そうでない方にこの話をすると驚かれたので、オンラインを授業をこれから受けさせる保護者の方や、オンライン授業を始める先生方に届けばいいなと思います。)
働いたらお金を返すと言うことで買ってもらった。(ちなみに本当に返した。うちの親はそういうことをきっちりノートに書いている。)
ゲームを作るにはドットを書かないといけないし、作曲も必要だと思っていた。
そして、高校の音楽の先生が作曲をする人で、授業で作曲があった。(普通の地方の公立高校である。)
そういった経緯があって電子ピアノを買ったのだった。
今思えば、別にピアノを習っているわけではなく(別の楽器は習っていたが)何も弾けないのによく買ってくれたものだと思う。
基礎練もせずに定番の曲とかエヴァとかジブリとかを練習していた。
ゲームを作りたかったので、もちろんRPGツクールはやっていたし、音楽ツクールかなでーるもやっていた。
そんなときに買った電子ピアノには、フロッピーディスクに曲を保存できるようになっていた。
そして、当時使っていたであろうフロッピーが刺さったままになっていた。
使い方を忘れたので電子ピアノのマニュアルをダウンロードしつつ(良い時代になったものだ)何か曲が入っていないかロードしてみた。
すると、8〜16小節ぐらいの曲が2曲とジブリの曲が1曲入っていた。自分が録音した曲である。
自分が作った曲は、基本的にゲーム用なので短い曲かループ用である。
それらを聞いていると、ふつふつと上記のようなことを思い出して非常にノスタルジックな気分になったのであった。
電子ピアノを買ったときはパソコンを持っていなかったし、知識もなかったし、フロッピーが何なのかあまりよく分かっていなかった。
いや、当時もMIDIで他の機器と互換性があると説明されていた気がするが、それがどういうことなのかよく分かっていなかったのだ。
当時のフロッピーディスクはボロボロでいつ壊れてもおかしくないので、新しいフロッピーディスクを買った。
PCでも読み込みたいので、フロッピーディスクドライブも買った。
一時はMIDI作りにハマっていた(そのときは電子ピアノのことはさっぱり忘れていた)ので、作曲のソフトも少しは使える。
フロッピーディスクを買ったことで、ピアノで曲を弾く → MIDIで保存する → PCで楽譜として開く、ということが20年越しに出来るようになった。
今となってはピアノを弾くこともないし、曲を作ることもない。(Scratchで簡単なゲームは作った。いい時代になったものだ。)
My favorite 4-ingredient homemade pasta recipe — easy to make by hand, in a stand mixer, or in a food processor. Plus tips on how to roll out your pasta by hand or using a pasta maker.
The inspiration for it all began on our trip to the Amalfi Coast this spring, where Barclay and I became wholeheartedly convinced that we needed more 100%-from-scratch Italian food happening here at home in our little kitchen. Stat. So Barclay set his sights on perfecting homemade mozzarella this spring (more on that to come) and I came home ready to dive into the world of homemade pastas, gnocchis, and breads of all kinds. I even broke my minimalist no-new-kitchen-appliances-while-we’re-in-Europe rule and brought home an adorable little traditional pasta maker and wooden drying rack to make our pasta dreams come true.
Turns out, homemade pasta is even more delightful — and easy and delicious and fun — than I expected!
First off, the fresh pasta dough itself is a breeze to make. If you happen to own a food processor, the dough can be prepped in less than 5 minutes. (Or you can make it by hand or in a stand mixer in less than 15 minutes.) The process of rolling out the noodles is also easier than I expected, especially once I got the hang of using my little pasta maker. (I’ve included instructions below as well for how to roll out pasta using a stand mixer or a rolling pin by hand.) I’ve also enjoyed experimenting with the various different pasta flours and discovering which ones I like best for different occasions. (Short answer — I prefer “00” flour most of the time, but occasionally mix it with semolina for heartier shapes or sauces.) Mostly, though, we’ve just enjoyed eating fresh pasta. It has such a delicious, fresh, chewy, unmistakable bite to it. And it has instantly kicked some of our favorite pasta recipes up a mega notch. (Here’s lookin’ at you, cacio e pepe!)
Also fun? Inviting a group of girlfriends over on a Friday night to share a bottle of rosé as we roll out a batch of homemade pasta together. And having leftover linigune in the fridge to pull out for a quick dinner on a busy weeknight. And surprising friends and neighbors with a tupperware full of cute little fresh pasta nests as gifts. And being “that home” that now has fresh pappardelle casually draped and drying by our sunny living room window.
I’m loving it all. And if you also happen to be a fan of really good pasta, I have a feeling this might be your new favorite thing too.
So to continue with Italian Week here on the blog today, I am sharing everything I’ve learned so far about the art of making some seriously delicious homemade pasta. I’ve tried to include lots of different methods and options to work with whatever you have in your kitchen. So please poke around and find whatever method works best for you — and report back if you give homemade pasta a try! I would love to hear how it goes.
HOMEMADE PASTA RECIPE | 1-MINUTE VIDEO
Semolina Flour
Alright, to make 1 pound of classic homemade egg pasta, you will need the following pasta ingredients:
Flour: I really love to make my homemade pasta with “00” flour, which yields the silkiest pasta. But if I am making a sauce that is a bit more hearty, I will use half “00” and half semolina flour, which makes the pasta a bit more sturdy and helps the sauce to cling to the pasta better. That said, any of these three flours (or a combination of them) will work with this recipe:
“00” flour: My personal favorite, which makes the texture extra silky.
Semolina flour: A heartier flour, which can help the pasta cling better to the sauce. (Semolina is also my favorite flour to sprinkle on the cutting board and pasta, while you are in the process of rolling out the dough.)
All-purpose flour: Also works pretty well if this is the only flour you have on hand.
Eggs: This recipe calls for four large eggs.
Olive oil: This will also help to moisten the dough. (If the dough is still too dry, you can also add in a few teaspoons of water.)
Sea salt: We will add a teaspoon of fine sea salt to the recipe, plus I recommend adding a little extra to your pasta water when cooking the pasta.
資格勉強ならば、体系的にまとまった書籍や試験範囲があるので、書籍をとっかかりとして勉強しやすいだろう。しかし、「就職」を前提としたプログラミングの勉強だと、たちまちにハードルがあがる。
言うなれば、週末に趣味でやるレベルではなく、「実務レベル」という到達目標があり、なおかつ肝心な「実務」について一切想像ができない。周りにエンジニアはおらず相談ができない。
ほんまこれやね。
「何を作るのか?」によって、同じプログラミングといっても必要になる知識量が全然違う。
Webプログラミングは簡単な部類なので中学生でも習得できる。独学も可能。これに70万円も学費を出すのは情弱でしかない。
(バイオインフォマティクスとかだと、プログラミング以外の専門知識が大量に必要なので一気に難易度が上がる)
素人向けに「プログラミングすごろく」=分野別のゴール(成果物)に至るまでに揃える必要がある技術要素のリストが必要ですね。
こういう地図をWeb、AI、ゲーム、IoTとか分野ごとに用意してあげればOK
本を読んでも理解できない人は、まずは月額1,000円程度の課金+質問サイトを利用してみたら良い。
話が長くなるから、たった1つだけ秘訣を紹介すると、プログラミング上達のコツは「嘘をつかないこと」
人間と違ってコンピューターは、曖昧な指示や間違った指示を出すとエラーを吐いて、こっちが思った通りに動いてくれない。
人間相手なら、適当な指示や騙すことも可能だけど、コンピューター相手だとハッタリは1ミリも通用しない。
これが大きな特徴=壁になっている。
いろんな人を見て思うことは、嘘つきはデバッグ作業(プログラムの中にある間違いを訂正する作業)がうまくできなくて、結果的に達人プログラマーになれない。
これってプログラミングができる人にとっては当たり前の話でしかないので、特に強調されることがないんだけど、だからこそ素人向けには重要な説明のポイント。
プログラミングって所詮は人間が作り出した技術でしかないので、仕組みは調べれば全部分かるようにできている。言うほど難しいものじゃない。
このプログラミング言語はMtGだと多分この色の組み合わせだろう。
みたいなのをまとめたら次のようになった(TIOBEのランキング順トップ50)。
後半は知らない言語もあって怪しいが、おおよそこのようになると思われる。
※改めて見てみると何箇所か違和感があったので最初の版からちょっとだけ修正した。
順位 | プログラミング言語 | 色の組み合わせ | 内訳 |
---|---|---|---|
1 | Java | アブザン | 白黒緑 |
2 | C | ゴルガリ | 黒緑 |
3 | Python | ティムール | 緑青赤 |
4 | C++ | ジャンド | 黒赤緑 |
5 | C# | バント | 緑白青 |
6 | Visual Basic .NET | セレズニア | 緑白 |
7 | JavaScript | ボロス | 赤白 |
8 | PHP | グルール | 赤緑 |
9 | SQL | 無色 | |
10 | Swift | 4C(緑欠色) | 白青黒赤 |
11 | Go | ゴルガリ | 黒緑 |
12 | Assembly language | 黒単 | 黒 |
13 | R | イゼット | 青赤 |
14 | D | グリクシス | 青黒赤 |
15 | Ruby | 赤単 | 赤 |
16 | MATLAB | イゼット | 青赤 |
17 | PL/SQL | 無色 | |
18 | Delphi/Object Pascal | アゾリウス | 白青 |
19 | Perl | ラクドス | 黒赤 |
20 | Objective-C | エスパー | 白青黒 |
21 | SAS | アゾリウス | 白青 |
22 | Visual Basic | 緑単 | 緑 |
23 | Dart | ジェスカイ | 青赤白 |
24 | Scratch | 白単 | 白 |
25 | Scala | 5C | 白青黒赤緑 |
26 | Groovy | ナヤ | 赤緑白 |
27 | Transact-SQL | 無色 | |
28 | F# | アゾリウス | 白青 |
29 | Rust | マルドゥ | 赤白黒 |
30 | COBOL | オルゾフ | 白黒 |
31 | ABAP | アゾリウス | 白青 |
32 | Lisp | シミック | 緑青 |
33 | Kotlin | 4C(緑欠色) | 白青黒赤 |
34 | Logo | 白単 | 白 |
35 | RPG | ディミーア | 青黒 |
36 | Lua | 緑単 | 緑 |
37 | Fortran | スゥルタイ | 黒緑青 |
38 | PowerShell | ジェスカイ | 青赤白 |
39 | Ada | ディミーア | 青黒 |
40 | LabVIEW | ディミーア | 青黒 |
41 | Erlang | 緑単 | 緑 |
42 | Julia | イゼット | 青赤 |
43 | ML | 青単 | 青 |
44 | Scheme | シミック | 緑青 |
45 | Haskell | エスパー | 白青黒 |
46 | TypeScript | ジェスカイ | 青赤白 |
47 | OpenEdge ABL | アゾリウス | 白青 |
48 | LiveCode | アゾリウス | 白青 |
49 | PostScript | 無色 | |
50 | ActionScript | ジェスカイ | 青赤白 |
見返してみるとおおよそ次のルールに従って決めているような気がした。
緑の判定があやふやな気が若干しないでもない…
色 | イメージ |
---|---|
白 | 高レイヤ、初心者向け |
青 | 浮世離れ、ベンダー |
黒 | 低レイヤ、黒魔術 |
赤 | 速い、先進的 |
緑 | 基盤、グルー |
無色 | 道具 |
共感してくだっさたり心配してくだっさたり、アドバイスをくださった皆さんありがとうございました。
頂いたアドバイスを参考にして、朝の準備の時間割兼アラームになるプログラムをscratchで作ってみました。今朝はそれをTVにキャストしていつでも確認できるようにしたところ、上の子は自分の用意を自分の力で終えることができました。がんばったね!と褒めるととてもうれしそうに登校してくれて本当に嬉しかった。こどもが笑顔で「いってきます」と言ってくれたのは久しぶりな気がします。
また、アドバイスを読んでいて目からうろこが落ちたことがひとつあって、たしかに上の子は時計が読めますが、具体的にこのタスクにかかる時間はどれくらいか、今から寝るまでに残りのタスクをすべて片付けるとしたら、終わるころには何時になっているか、みたいなことまではまだまだ理解できていないようです。なのでこれもscratchで、寝るまでにしないといけないこと及びそれにかかる時間を表示し、終わればちょっと褒めてもらえるプログラムを作りました。同じようにTVにキャストしておいたら、最初はいろいろと私が作ったプログラムの不備を指摘してきましたが最終的には宿題などすべて勝手にやってくれました。
下の子に関しても、私は良かれと思って保育園に行かなくてはならない理由を朝から説明してましたが、アドバイス通りそれをやめてみて、ひたすら「うんそうか行きたくないよね」と受け止める方向にしてみました。理由の説明などは前日の夕方や休みの日など本人の余裕のある時にしようとおもいます。あと、今朝は上の子が登校した後、下の子の登園前に二人だけで近所のパン屋でモーニングしてきました。前日から約束していたので今朝は笑顔で起きてくれました。これも久しぶりです。ご指摘の通り、普段上の子ばかり手をかけてたのでたまには下の子とも二人の時間をとりたいと思います。
同じように悩んでいる方の役に少しでも立てばいいかと思い、作ったプログラムはscratchで共有にしてますのでよかったら探してみてください(見つかるかはわかりませんが)紙で書いておくと下の子にぐちゃぐちゃにされたりしますが、これだと大丈夫ですし、不備があってもある程度の年齢の子供なら自分で直して使いやすいよう改良してくれます。下の子にキーボードをめちゃくちゃに叩かれながら大急ぎで作ったものですし、そもそも私は最終学歴通信制高校卒、今はpdfファイルを印刷したものに手書きで書き込みをした後、EXCELファイルにそれを手入力するような職場で週3パートしてるだけの人間ですのでかなり稚拙ですがまあ一応参考にはなるかと。自由にリミックス?してください。
こんな内容で誤解する方もいないとは思いますがscratchからは、びた一文もらってませんしscratchの閲覧数が増えても私の懐には一銭も入りません。一応恩返しのつもりです。子育てはひとりじゃ無理だと今回強く感じたので。今日は久しぶりに昼過ぎまで予定がないのでごろごろしようと思います。ありがとうございました。
なんで、うまくいかないの
上の子は集団登校の集合時間の5分前までパジャマのままミカンの薄皮をずっとむいてる
朝の準備は自分でするって約束したし、遅れても自己責任で、って昨日話したから見守ってたけど、最終的にブチギレてしまった。
今日は無理だからでも早めに迎えに行くからって、来週の月曜日なら休めるし、そもそもあと3回行ったら土曜日で休みだから今日はがんばろって言っても聞いてくれない。結局怒鳴って、じゃあもう家に1人でいてね!って言ってそれでやっと着替えてくれる。
私が半泣きで怒鳴って、こどもたちも泣いて、もういや
私が悪いの?どうやったらいいの?わかんない
みんな余裕なさすぎとか言うけど、金も時間もない人間が余裕を生み出す方法を具体的に教えてください。今日から実践するので可及的速やかに。
上の子は宿題をしない。私は1時間ごとに「そろそろ宿題しな!」って声がけをしてた。上の子は毎回生返事。これを5回くらい繰り返して私はブチギレ、それに対して子供は泣いて結局宿題はできない、っていうのを1ヶ月ほど繰り返した。なのでもう私は宿題について何もコメントしないことにした。そしたら本当に全くしなくなった。笑っちゃう。
さっき「ママ、分からないことあるからおしえて」って言われて(え、宿題してるの!!!えらい!!)と思って部屋に行ったらscratchで謎のゲームを作ってた。もうなんかどうでもよくなっちゃって、適当にバグ直してあげて先に寝室に来た。どうせ早く寝ろって言ってもケンカになるだけだし。なにが正解か分からん。めんどい。叱らない子育てがしたくていっぱい育児書読んだ。どの本にも家庭は安心できる場所じゃなきゃいけないって書いてた。その通りだと思った。そんな家庭を作りたかった。過干渉か、放置か、結局どっちかになっちゃって結局うまくいかない。
13日11:30ごろお礼のトラバしたのは本人です。長くなっちゃうしトラバでいいかと思ったけど確かになりすましの可能性ありますもんね。あと、本当にステマじゃないんですが読み返すとあまりのステマ臭に笑いました。スクラッチほどの世界規模のサービス?がステマなんてしないでしょと思いますが、まぁそんな常識通じないご時世なのでしょうがないのですね。
え?Scratchさえやらないんだ。
勤めている会社の組込みソフトウェア開発で、matlab simulinkを使ってモデルベース開発をしているメンバがいる。
simulinkでは、scratchやレゴのmindstormのようにブロック図を書くと、ソースコードが自動生成される。
それを聞いたとき、直接ソースコードいじれないなら細かい調整が利かなさそうという印象と、プログラミングしないエンジニアってろくなもんじゃなさそうという印象を持った。
そこから気になってモデルベース開発を調べてみると、ブロック図でシステムを作り込むので設計者の意図が他メンバに共有されるハードルが低かったり、システムに問題が発生したらブロック図つまり上流工程で修正させるので場当たり的なコード修正による時限爆弾のようなバグが増えにくかったり、確かに感心するようなメリットがあることもわかった。
場当たり的なコード修正が後々の大きな問題となってプロジェクトの工数を食いつぶす経験がある諸兄は多いと思う。
モデルベース開発みたいな、設計成果物を与えればあとはAIがプログラミングしてくれる未来はすぐそこまで来てるのかもしれない。
それはそれで面白そうだと思う反面、いままで培ったプログラミングスキルが不要になるのは寂しいなと老害のような気持ちも湧いてくる。