「正式な」方法は教育目的にはあまり良いアイデアではないと思います。さらに言えば、コンピューターのプログラミングは「正式な」方法です。教育ツールとして成功しますか?
必要なのは、理解、直観、および抽象化に対処する能力です。正式な方法はそれをすべて妨げます。むしろ、構文に焦点を合わせて、試行錯誤、ハッキング、パターンマッチング、模倣を促進します。リストは延々と続く。
厳密な数学のどの部分も、正しく推論する方法を人々に教えます。ドメインが単純であるほど、優れています。ユークリッド幾何学を真剣にやったときに高校で学んだ推論について学んだことすべて。大学の微積分と線形代数が残りを行いました。
別の魅力的な代替手段は哲学的論理であり、人々がステートメントについて考え、情報内容とは何か、そしてその結果は何かを理解する方法を人々に教えます。彼らはシンボルで生徒をdrれさせることなくそれをします。
すべてのトップコンピューターサイエンティストの在庫を取得すると、哲学の正式なトレーニングを受けている人がどれだけいるかに驚くでしょう。哲学の学生たちがコンピューターサイエンスをありふれた科目だと考えるようになったため、私たちはすべてを失いつつあります。生徒に哲学を学ばせることは、ある程度それを打ち消す可能性があります。バートランドラッセルの西洋哲学の歴史を通して彼らを働かせてください。それは驚くべきことです。
プログラミング言語の理論で働いているなら、Quineを読んでもらうこともできます。Quineは私が表示的意味論の「神の父」だと思っています。(クワインは、本質的に自然言語の表示的意味論をやっていたWordやオブジェクトクリストファーストレイチーのためのインスピレーションの巨大なソースだった。しかし、この本は非常に難しいだろう。)編集したコレクションクインテッセンスは、初心者のためのクワインのアイデアの素晴らしい源です。
[追加された注記:数学に対する哲学の利点の1つは、学生が議論を見るようになることです。数学では、間違った議論を見ることは決してなく、その教育的価値が制限されます。]