美国小学教育什么课程?
本人在美国一所大学读的MSIT, 正好今年教了我们PL100(小学)和CS50(本科计算机基础)两门课. 因为学校是公立学校, 所有老师都是有政府补贴的, 所以上课基本不用付学费(只有几美元的费用)
因为要照顾到各个国家不同语言的小学生, 所有的授课内容都是以演讲为主, 课堂讨论为辅, 并且老师会同时教几个班,所以课上的内容是以PPT为主, 加上一些跟小学生互动的游戏和题目让小朋友们能更好的理解所讲的内容 每个单元结束后会有测验来检验学生们对知识的掌握程度。
以PL100这门课为例, 第一单元讲的是数制和计算的速度, 包括二进制,十进制等等,以及什么是算法(简单讲解,并不是很深入),如何比较算法的时间复杂度。然后会有一张图表来表明不同进制的优缺点,以及适用场景。接下来会有一个练习,让学生分组来设计一个算法来求解最大公约数和最小公倍数的问题,并用C++实现出来。最后会有一个总结来讲这个单元的内容和重点。
其实小学的知识点都很简单, 主要在于培养小朋友对于数学和科学的兴趣。举个例子, 在讲不同的进制的时候,老师会说二进制有一个好处就是可以表达任何数(从-128到+127),而十进制则不行,这样就会引申出后来的编程中为什么用整型(int)而不是浮点型(float)来进行运算,这是由计算机本身的特点决定的(由于内存限制,int的大小要比float大很多,在运算过程中,整数通常比浮点小数的精度损失更少)。
另外就是CS50这门课程,是哈佛大学著名的计算机入门课,共有三部分内容,分别讲计算机系统结构,操作系统,和计算机网络。因为是给大学生上得课,因此会更深一层来讲解知识,也会引入更高级的议题。但是授课方式仍是以演讲为主,课后作业难度较大而且需要大量的课外阅读来完成(主要是看教材太厚了,教授不可能面面俱到的把每一页都讲完)。每单元也会有测试来了解学生对知识的掌握情况。