前言
由我们编写的《Scratch+ 小学数学》出版后,受到社会各界的关注。在此感谢大家对编程与学科学习融合的支持。曾有家长询问:怎样培养孩子的编程能力?实践证明,图形化编程与小学数学的融合能够在很大程度上提升学生学习数学的兴趣,同时也可锻炼学生的逻辑思维能力。
“为人父母者,则为其计深远”,通过小学阶段图形化编程与小学数学的融合学习,学生可以在一定程度上建立基本的编程思维和提高逻辑思维能力。如果希望在更深程度上学习,并在升学考试中有所突破,那么怎样才能通过图形化编程向代码编程甚至信息学奥赛方面过渡呢?本书的知识体系将为您的学习提供参考。
本书的基本内容包括30 章,分7 个部分,前6 个部分知识体系架构包括编程平台介绍、
计算机基础知识、从图形化编程到C++ 入门、数学知识基础、数据结构和算法补充与归纳。
编程平台介绍主要包括图形化编程模块和C++ 编辑调试Dev-C++ 平台的介绍,读者可以初步了解图形化编程模块与C++ 代码编程的联系与区别。通过这部分的学习,读者可以了解代码编程中将来可能面对的界面与问题。
计算机基础知识是信息学奥赛初赛的考查内容,需要了解计算机的基本原理、信息学奥赛的基本常识、操作系统的基本知识及计算机网络的相关知识。作为计算机基础知识,也是读者更加深入学习信息学奥赛的基础,同时也是了解计算机这门学科机制的基础。
从图形化编程到C++ 入门部分能够使读者很好地从原有的图形化模块编程思维转向C++ 代码编程思维,由于前期很多读者有了《Scratch+ 小学数学》的学习经验,那么这部分将是进入信息学奥赛C++ 编程的重要阶梯。
数学基础知识部分紧接在由图形化编程向C++ 编程过渡之后,是因为参加信息学奥赛要取得更好的成绩,必须将数学知识的学习放在比较重要的位置,数学知识实质上是计算机知识的基础,同时,掌握更多的数学知识及数学原理可以帮助读者更好地解决信息学奥赛和现实中的问题。
数据结构是学习计算机知识的重要组成部分,也是计算机专业学习的必修课,通过抽象的数据结构可以帮助我们将现实问题抽象成一种具有可行性的问题解决结构,与此同时,数据结构也为我们解决问题提供了另一种思路。读者在初步学习的时候可能会有所困惑,这些都是正常现象,通过本部分的知识与案例学习将加深读者对数据结构的理解。
算法补充与归纳是在前面5 个部分学习的基础上,对没有涉及的算法进行补充,同时也将各种经典算法进行归纳。当然,在这部分并不能全部囊括所有经典案例,但本书中所涉及的案例都可以揭示相关算法的内在核心思想。
在学习编程方法上,没有捷径可走,但有方法可循。
信息学奥赛初赛以笔试为主,笔试所涉及的知识面非常广泛,需要长期学习积累,当然本书可为读者提供提纲作用。
本书在每一章节中都没有包含练习模块,其原因有两个:一是初赛利用真题可以很好地了解出题者思路,在本书的第七部分初赛真题中,为读者提供了2019—2022 年CSP-J/S 真题及参考答案,可供读者练习使用;二是复赛的上机练习,由于我们采用的练习平台是Dev-C++ 软件平台,而考试系统是通过黑盒测试的方式来检测程序的正确与否的,所以若想针对复赛的程序进行上机练习,读者可以通过访问http://www.xajoj.cn/index.php 进行相关题库和知识点的练习,并通过程序反馈判断程序是否正确。
本书的成书参考了各位网友的博客分享及案例展示,其中有TINGHAIK、大学要有梦想的博客、Alex_McAvoy、我是8 位的、Rosun_、zolalad、不止思考( 奎哥)、云水、zhipingChen、御心飞行、Ucsasuke、九日王朝、知行执行等,同时,由于部分内容在网络中无法追源,不能一一详述,在此一并感谢各位网友的分享。最后感谢张龙梅老师在本书校稿时所做的贡献。
最后,感谢社会各界对编程的支持与厚爱,希望编程学习为读者的生活与学习开辟一片新的天地。由于作者水平有限,难免有疏漏和不妥之处,在此诚挚欢迎读者提出意见和建议。
