プログラミング言語じゃなくて、プログラミングの基礎を学びたい

# 教科書のプログラムを丸写ししていませんか？

![HeneShort_001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2538420/f9b1797d-ec84-81e3-e66e-f7ffa97dc80f.png)

![HeneShort_002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2538420/445c60b7-5a48-27b5-cd79-4856f46a0916.png)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">「図形と数の並びで学ぶプログラミング基礎」発売しました！<a href="https://twitter.com/hashtag/%E3%83%97%E3%83%AD%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0?src=hash&amp;ref_src=twsrc%5Etfw">#プロラミング</a> <a href="https://twitter.com/hashtag/Python?src=hash&amp;ref_src=twsrc%5Etfw">#Python</a> <a href="https://twitter.com/hashtag/Scratch?src=hash&amp;ref_src=twsrc%5Etfw">#Scratch</a> <a href="https://twitter.com/hashtag/%E3%83%98%E3%83%8D%E6%9C%AC?src=hash&amp;ref_src=twsrc%5Etfw">#ヘネ本</a> <a href="https://twitter.com/hashtag/%E6%BC%AB%E7%94%BB?src=hash&amp;ref_src=twsrc%5Etfw">#漫画</a> <a href="https://twitter.com/hashtag/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%88%9D%E5%BF%83%E8%80%85?src=hash&amp;ref_src=twsrc%5Etfw">#プログラミング初心者</a> <a href="https://twitter.com/hashtag/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E7%8B%AC%E5%AD%A6?src=hash&amp;ref_src=twsrc%5Etfw">#プログラミング独学</a> <a href="https://t.co/OsTkxYCzT8">pic.twitter.com/OsTkxYCzT8</a></p>&mdash; 図形と数の並びで学ぶプログラミング基礎 by 竹中要一＆熊野ヘネ (@ROzWik1TwBBEgwl) <a href="https://twitter.com/ROzWik1TwBBEgwl/status/1497023159253417984?ref_src=twsrc%5Etfw">February 25, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

漫画中の男の子みたいな初学者はいませんか？

「プログラムに何が書かれているか考えなさい」と言われても、そもそも、何をどうすればいいのかさっぱりわからない。

そんなプログラミング初学者のために本を書きました。

## 図形と数の並びで学ぶプログラミング基礎

![カバータイトル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2538420/22818cb2-6922-2f8c-6b5a-7d2fde9e9c0d.png)

[技術評論社のサイト](https://gihyo.jp/book/2022/978-4-297-12659-9)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">【新刊】2022年2月28日発売『図形と数の並びで学ぶプログラミング基礎』本体2,280円＋税、竹中要一／熊野ヘネ　著　『数学』が苦手な人でも大丈夫！ <a href="https://t.co/qdWoVWHlPh">https://t.co/qdWoVWHlPh</a> <a href="https://t.co/3wm68kR3nh">pic.twitter.com/3wm68kR3nh</a></p>&mdash; 技術評論社販売促進部 (@gihyo_hansoku) <a href="https://twitter.com/gihyo_hansoku/status/1493776199977365508?ref_src=twsrc%5Etfw">February 16, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


プログラミングの授業で学生さんを見ていると、教科書の写経をしているだけで、プログラムの中身に頓着しない方を多く見ます。

そのような人向けに、とてーも優しい部分からプログラムの基礎を説明しています。

# プログラミングの基礎ってなんだろう

## プログラミングを学ぼうと思います。どうすればいいですか？

このように質問すると、「今ならPython でしょ」とか、「C言語を学ぶべきだ」という回答が返ってくるかと思います。

でも、その回答はすこし外れています。

Python は比較的優しく学習できるし、C言語はとっても重要です。

でも、質問している人はC言語のint型とか、pythonで関数定義をする方法を知りたいのでしょうか。

もちろん、そういう人もいるかと思います。
しかし、技術者でない人、管理職の人、そしてプログラミング言語初学者の人が発する質問だとしたら、的が外れています。

プログラミング言語に寄らないプログラミングの知識というものがあるはずです。それを学んでもらいたいと思っています。

## 何が学べるの？ 

漫画に挙げた問題の（１）は簡単に解けると思います。

![問題1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2538420/de639bc5-cccc-1296-bbf9-f136392639bd.png)


答は✚ですね。

では、どうして答は✚なのですか？

この理由を説明できる事は、プログラムを考える事につながります。

では、問題（２）から（４）はどうでしょう？

![問題2-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2538420/15d41593-69f9-a7fa-70d6-a997e137685b.png)

問題（２）は**暗黙知**を学ぶ問題の一つです。

　暗黙知とは、経験的に知っているけど、上手く言葉で説明できない知識です。
こんなの知っていて当たり前でしょ？と思っている知識も暗黙知です。

問題（３）（４）は**模範的な**回答例だけお伝えし、問題の意図は秘密にしておきます。

（３）お日様マーク　（４）０　：数字のゼロ

**模範的な**と強調したのには理由があります。
（３）の答えは雪でもいいし、（４）の答はどんな数字でもよいからです。

なぜでしょうか？
その理由が気になる方は本書を手に取ってもらえると嬉しいです。

## 他に学べること

この本に含まれる学習項目を示します。

* 100点満点のプログラムを作成することは無理ゲー
* 暗黙知 
* 数列と漸化式
* 自己再帰関数

プログラミング言語の教科書ではない、と上述しました。
しかし、プログラムの基礎知識とプログラム言語は無関係ではありません。

基礎知識と言語とのギャップを埋める助けになればいいなと思い、
Python と Scratch のコードも載せています。

## 大学で本書はどのように使われるの？

本書は、関西大学総合情報学部１年生５００名の必修科目「データサイエンス基礎」の教科書です。

全１５回９０分授業の５回分に相当します。

## ヘネ本って呼んでね

![ヘネ本って呼んでね.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2538420/3b7f0b7c-036e-575d-85a1-e1a6b480e886.png)