內容目录

上一个主题

数独(Sudoku)基础知识

下一个主题

课程计画

本页

「逻辑」是什么?

对一个开始学习去探索这个世界的学子而言,逻辑是最重要的工具之一。

最基础的逻辑就是二分法,也就是「是」与「非」,或者在电脑科学里面的「0」与「1」。这是人类在认知上、与他人沟通上的最小分类方法。所以学习逻辑对中小学生而言是非常重要的,因为这是所有知识的基础,也是所有信仰的基础。

**如果依某一特定的角度、在某一特定时候,你无法判断某个事物是「是」或「非」、或者「存在」或「不存在」,那你就是不了解这个世界,同时你也不了解你自己。 **

从解数独来学习逻辑

学习逻辑可以变成一件有趣的事情,如果我们能够从游戏中去学习的话,而数独就是一种很好玩的游戏。我们可以列举很多以数独来学习逻辑的优点:

  • 它的规则相当简单, 任何一个人能够在5分钟内了解它。

  • 它又够复杂,它可以有多达数十亿种的组合。

  • 它可以分各种不同的困难程度,来让不同程度的人都能使用。

以学习 Python 程式设计来学习逻辑

学习一种电脑语言是一种很直觉的方法来学习逻辑。 Python 是一种直译式电脑语言,提供一种简便的方式来实作程式的设计。你可以在下面官方网站来取得该电脑语言的所有资源: https://www.python.org/。我们从其 FAQ中剪輯一段來說明為何Python 適合程式設計的初學者:

问题:

对一个程式设计初学者而言,Python是否是一个好选择?

解答:

是的。

现在学生开始学习程式时,还是在使用传统的电脑语言,如Pascal, C, C++。但这是有点古板了,学生应该得到更好与更简单的方法来开始他们的程式探索,而Python 就提供了这些特点。它拥有非常简单及一致的文法结构,以及大量的标准程式库,最重要的是,它让学生能够将心思放在解决问题的程式设计技巧上,而不是在电脑科学的细节上。使用Python,学生可以很快地学习程式设的基本知识,如回圈(loops)、程序(procedures)。甚至在第一堂课,就可以让他们尝试使用自订的物件。

一个从来没有程式设计经验者,一开始就使用静态式电脑语言(如C等)似乎是不自然的。它让学生必须先去了解电脑复杂的内部结构,使整个课程缓慢下来。学生必须学习如何使用电脑的角度来思考、解决问题及设计界面。虽然就长期目标而言,学习静态式电脑有其必要性与利益性,但对初学者而言,大可不必将程式设计的门槛弄得那么高。

Python拥有很多优点来当作学习程式设计的首选电脑语言。就如同Java,它拥有大量的标准程式库,可以让学生在课堂上去实作一些专案,而这些专案都可以是一些实用的应用程式,而不是简单的加减乘除四则运算。同时,使用这些标准程式库可以让学生学习程式的再利用。其他丰富的第三方模组也非常好用,如PyGame,都可以直接拿来让学生使用。

Python是一个互动式的直译器,可以让学生直接边撰写程式边测试。它可以让你在一个视窗边写程式,而在另外一个视窗执行与测试这些程式码。

这个程式库的特点

这世上已经有太多的数独游戏或者学习程式,有些是为了娱乐,有些是为了数学的研究,而此专案则是专注在逻辑的学习上。而且,这里的逻辑是专门以人的角度为出发点,而不是电脑科学的角度。所以这个专案有以下特点:

  1. 让人们学习「逻辑」 的基本精神。

  2. 它「不是」要成为一般性的程式设计课程。

  3. 它「不是」要成为严谨的数学研究。

  4. 探索解数独的方法是以人的角度,而「非」电脑科学角度。

  5. 让人们自己去发现解数独的方法,并且以自己的文字来命名它。 ( 这虽然不在此Python Package 里面,但必须将此安排在课程里面。)

  6. 让人们能够学习Python 程式设计以时做学生们自己探索出来的方法。

  7. 学习以物件导向程式设计(OOP)来求解数独。 OOP方法可以比拟为人的思考与行为角度。