← 一覧

コンピュータサイエンスとは違う切り口でのプログラミング授業

from アイディア

  • プログラミング的思考を身につける
  • 日々の生活の中で繰り返していることを探そう
    • 自分の生活を意識すること
      • 創作のヒント
    • 生活とプログラミングを結びつける
  • それを自動化できないか考えよう
    • どんな言語やツールを使ってもいい
      • できればAutomator的なもの
      • RPA
      • n8n
      • Google Workflows
    • 例えば
      • UIの修正などを伝える時にBefore, Afterなど画像を連結してそこに指示を書き加えたいのだが、画像を連結するためにわざわざPhotoshopを使うのは面倒なので標準機能で何とかしたい
      • ネットプリントの番号を写真でメモするのだが、1日とかで勝手に消えて欲しい
        • 消えるカメラ(自分用Snapchat)
  • シェルスクリプト
    • GUIで同じ作業をしようとすると大変なもの
      • フォルダや書類を大量に作る
        • GUIで確認する
        • 全て消す
    • GUIと一対一対応するもの
      • 見えないものと見えるものを対応付ける
    • 小さいコード
    • 役に立つコード
    • 毎日書く
  • テキスト処理を使って詩を書く
    • あくまでも詩としての良さを重視する
    • 短冊に俳句を書くように、エディタなり画面があるという考え方
    • 繰り返し、文字の置換などプログラム的な処理を加える
      • めちゃくちゃ長い詩
      • 時間を持つ詩
    • レイアウトを工夫する
  • 少ないピクセル数を基本としたグラフィックプログラミング
    • Design By Numbersみたいな
    • 配列とその並べ方を意識する
    • 3D計算まで
  • Illustrator, Photoshopでスクリプトを使う
    • 手作業をスクリプトで再現
    • スクリプトを手作業で再現
    • PhotoshopのScriptListenerを読む
    • Sketch, Figmaでも
  • 定数1.618を使わない黄金比のデザイン的な導出
  • ϕ=1+52\phi = \frac{1 + \sqrt5}{2}
  • APIをしらみつぶしに使う
    • 目的から実現の方法を導き出すのではなく、実現できるものをどう適用するか
    • 手段と目的を反転させる
  • フィジカルIFTTT
    • 色んな条件と入出力を予め用意しておいて、ワークショップで組み合わせる
      • パラメータの調整
      • 定数、変数、関数の概念
    • スイッチを押したら、近づいたら
    • 音が鳴る、光る、映像が流れる、
  • バイブコーディング
    • 外出しながらスマホで開発
    • キーボード以外の入力