家庭教師をやってみて

2020/02/05 2020/02/05 #プログラミング #勉強方法 #PHP #PHP Tech Tutor #家庭教師

実は少し前から未経験の方の家庭教師をしていました

こんにちは。Nonです。
今回は10月くらいから始めていたプログラミングの家庭教師についてお話しようと思います。

ハマりがちなところ?

配列と連想配列

以外と思うかもしれませんが、配列がわかっても連想配列がわからないことが多いです。
それに絡んでループなど入ってくると、さらにわからなくなるようです。

個人的には、ループと箱の関係はわかりやすくて参照やポインタなどのほうがよっぽどわかりにくいと思うのですが、なんででしょうかね?
数人持って数人ともそうだったので、僕の教え方の問題かもしれません。もう少し掘り下げる必要があるかと思います。

物事の考え方、論理的思考

これは個人で大きく違うと思いました。

できる人は言わずとも(プログラミングは完璧でなくても)完璧に近い構造で課題をこなします。
これが苦手な人は、プログラミングができていても構造がおかしい、みたいな課題を提出してきます。

気づいたのはユースケースを思い浮かべているかどうかだと感じました。

例えば、ただ商品の合計金額を算出する問題でも、現実では明細や小計、税額など色々な数字が登場し、その結果、合計が算出されると思います。
レシートなど見てもそうですよね。

これを頭で想像しながら組んだプログラムと、ただ合計金額を算出するだけのプログラムとでは、構造が天と地ほど違いました。

  • 前者で組んだ生徒さんは一つ一つの計算と商品の小計を出す処理が独立していて、それらを全て加算した結果が合計という構造。
  • 後者で組んでしまった生徒さんはひたすら四則演算で頑張ってしまったという構造

今では後者の生徒も構造化を理解できているので、問題ありませんが、学校を卒業した今でも、パッと思いつける人はいないように感じました。

やっぱりプログラミングに対するスタイルというかタイプは存在する

  • デザイン重視
  • 機能重視

今の所出会った生徒はこの2つのタイプが多かったです。

HTMLやCSSなどフロントが向いてるとか(今回で言えば)PHPなど裏の機能に向いてるとか言う話では無く、モチベーションがどう上がるかという話

どちらの生徒も、やはり定期的にプログラミングをやっていると飽きが来てしまうのですが、そのモチベを回復すべく結構工夫しました。

その試行錯誤の結果、わかったことです。

  • フロント、いわゆる見た目をきれいに整える(機能はまだ無い)手伝いをしてあげて、きれいな画面を見せるとモチベーションが上がる人
  • バック、いわゆる実際に動くよう(デザインはまだ無い)手伝いをしてあげて、機能を見せるとモチベーションが上がる人

がいました。もしかしたらプログラミングに対する考えというか、求めるものが結構違うのではと思うきっかけになりました。

アプリを作りたいと言うのは便利なアプリを作りたいのか、美しいアプリを作りたいのかとかいう話になりそうです。(自分でもまだ噛み砕いていない)

コツ

やっぱり先生から熱意を見せることは大事だと思いました。

僕は何かを伝えるとき、結構声に抑揚がついたり、声が大きくなったりします。僕的には(起怒っている風に見えないかな?)とか思っているのですが、以外とそうでもなく、「おとなしい人でも」しっかり聞いて頑張ろうとしていることがわかりました。

できるだけ自由に

最初は冒頭に言ったような課題を用意していたのですが、モチベーションが下がっていくのは目に見えてわかりましたので、自由な課題を用意して、アドバイスを出していくようにしたらうまくいくようになりました。

最後に

今回は未経験の方にプログラミングを教えるときのコツのようなものに関して書いてみましたが、僕も初めて半年くらいなものですので、当てにならないかもしれません。

皆さんの力になれれば嬉しいです。
また更新するかもしれません。
その時はよしなに

.

のん

所属 : 株式会社スマレジ 開発部

YouTube : のんラボ

Twitter : @nonz250

Github : nonz250

Qiita : @nonz250

My Qiita posts My Qiita contributions My Qiita followers

主にPHPを使用し、サーバーサイドを担当。最近はフロントにも興味津々。

なにかを作ったりいじったりするのが好きで、個人開発なども行っている。

趣味はバイクアイコン画像は大抵愛車の「Z250」である。友達にアイコン描いてもらえて嬉しい。

PHP / Laravel / CakePHP2 / CakePHP3 / Vue / Nuxt / C# / etc...

Tags

#のんラボ #Laravel #Vue #個人開発 #ブログ #プログラミング #javascript #Html5 #WEBサービス #Twitter #今年の抱負メーカー #勉強方法 #PWA #モバイルアプリ #Android #ツーリング #バイクに乗るエンジニア #Z250 #秋吉台 #能登半島 #バイク #冒険 #東尋坊 #Squid #リバースプロキシ #hosts #axios #cropper #AdSense #Bootstrap #MySQL #高速化 #トドTask #Telescope #デバッグ #composer #テスト #セキュリティ #POSレジ #スマレジ #本部機能 #バリデーション #入力チェック #Mac #Chrome #テスト駆動開発 #開発手法 #UI #デザイン #WEBサイト #機能美 #PHP #Laravel 6 #コメント #バージョンアップ #vue-cli #localhost #BIツール #売上分析 #TANAX #MFK250 #ツアーシェルケース2 #RESTful #API #REST API #実務的 #PHP Tech Tutor #Smaregi Tech Talk #勉強会 # ブログ #CakePHP3 #CSRF #VSCode #開発環境 #CakePHP3.0 #さくらのレンタルサーバー #モジュールモード #シェル #メール #Gmail #relay #OGP #エラーページ #抱負 #家庭教師 #ドメイン駆動設計 #DDD #読書会 #那智の滝 #伊勢志摩 #伊勢志摩スカイライン #フロント #三方五湖 #レインボーライン #ボーイスカウト・ルール #プログラマが知るべき97のこと #リファクタリング #ユビキタス言語 #車輪の再発明 #マイクロサービス #デプロイ #QA #laravel-mix #Tips #storybook #@storybook/addon-actions #昇降デスク #コードレス #書斎 #オフィス #リモートワーク #働き方 #エラーハンドリング #スマレジ4 #pixel 5 #レビュー #スマレコ #TDD #RSS #404 #高山ダム #ラーツー #React #Nuxt #node_modules #エラー #インポート #設定方法 #環境構築 #Docker #フォレストパーク神野山 #学生向け #PR #採用