プログラムを “考えて写経する” とは一体どういうことなのか、もう少し具体的に規定を試みるべきな気はしている
少なくとも、一般的な場合に字句解析や構文解析のレイヤーまでの認知と模倣では全然足りていないという点についてはベースラインとして合意があるものと考えたいけど (もちろん新しいプログラミング言語自体の構文などの習得を試みるときは話は別)
設計を “意識” するってのは何なんでしょうね。そもそも設計ってやつにも複数のレイヤーがあるし。
たとえば「どのように動作するか」を説明するレイヤーもあれば「なぜその動作で所望の結果を得られるか」のレイヤーもあり、「なぜそのような書き方でよいのか」もあるし「なぜ他の書き方ではなくそのような書き方にすべきだったのか」もある
後者ほどレイヤーが上というか作業よりは意思決定に近いものになので、ここを学びとるうえで教材の質が悪いとまあまあ碌でもないことになりかねないけど。質の良い教材を探してくるのは簡単ではない