# Level 1B: 3-5 年级 (8-11 岁)

# 计算机系统

Computing Systems

序号 标准和描述 相关概念 实践
1B-CS-01 Describe how internal and external parts of computing devices function to form a system.
描述计算机设备的内部组件和外部组件如何共同运作, 来形成一个系统.
Computing devices often depend on other devices or components. For example, a robot depends on a physically attached light sensor to detect changes in brightness, whereas the light sensor depends on the robot for power. Keyboard input or a mouse click could cause an action to happen or information to be displayed on a screen; this could only happen because the computer has a processor to evaluate what is happening externally and produce corresponding responses. Students should describe how devices and components interact using correct terminology.
计算机设备往往依赖于其他设备或组件. 比如说, 机器人依靠物理连接的光传感器来监测亮度的变化, 而光传感器则依赖于机器人的电源. 键盘输入或者鼠标点击可能会导致一个动作的发生或者让信息显示在屏幕上, 这种情况的发生, 是因为计算机有一个处理器来评估外部发生的事情, 并产生相应的响应. 学生应该使用正确的术语描述设备和组件是如何相互作用的.
Devices
设备
7.2
1B-CS-02 Model how computer hardware and software work together as a system to accomplish tasks.
模拟计算机硬件和软件如何作为一个系统, 共同工作来完成任务
In order for a person to accomplish tasks with a computer, both hardware and software are needed. At this stage, a model should only include the basic elements of a computer system, such as input, output, processor, sensors, and storage. Students could draw a model on paper or in a drawing program, program an animation to demonstrate it, or demonstrate it by acting this out in some way.
想要使用计算机完成任务, 既需要硬件, 也需要软件. 在这个学习阶段, 模拟的计算机模型应该只包括计算机系统的基本组件, 例如输入、输出、处理器、传感器、存储器. 学生可以在纸上或者绘图软件中绘制一个模型, 制作一个动画或者其他方式来演示模型.
Hardware & Software
硬件 & 软件
4.4
1B-CS-03 Determine potential solutions to solve simple hardware and software problems using common troubleshooting strategies.
使用常见的故障排除策略, 确定潜在的解决方案, 解决简单的硬件问题和软件问题
Although computing systems may vary, common troubleshooting strategies can be used on all of them. Students should be able to identify solutions to problems such as the device not responding, no power, no network, app crashing, no sound, or password entry not working. Should errors occur at school, the goal would be that students would use various strategies, such as rebooting the device, checking for power, checking network availability, closing and reopening an app, making sure speakers are turned on or headphones are plugged in, and making sure that the caps lock key is not on, to solve these problems, when possible.
尽管计算机系统可能有所相同, 但是常见的故障排除策略可以适用于所有计算机系统. 学生应该能够找出解决问题的方案. 比如设备没有反应、没有电源、没有网络、应用程序崩溃、没有声音或者密码输入失败. 应该在学校中模拟这些问题, 目标是让学生使用各种策略, 比如重启设备、检查电源、检查网络是否可用、关闭和重新打开应用程序、确保扬声器已开启或者耳机已插入、确保大写锁定键没有开启, 来解决这些故障.
Troubleshooting
故障排除
6.2

# 网络与互联网

Networks and the Internet

序号 标准和描述 相关概念 实践
1B-NI-04 Model how information is broken down into smaller pieces, transmitted as packets through multiple devices over networks and the Internet, and reassembled at the destination.
模拟"信息"如何被分解成更小的部分, 通过网络和互联网以数据包的形式, 通过多个设备传输, 并在目的地重新组合
Information is sent and received over physical or wireless paths. It is broken down into smaller pieces called packets, which are sent independently and reassembled at the destination. Students should demonstrate their understanding of this flow of information by, for instance, drawing a model of the way packets are transmitted, programming an animation to show how packets are transmitted, or demonstrating this through an unplugged activity which has them act it out in some way.
"信息"通过物理连接或者无线通信来发送和接收. 它被分解成称为"数据包"的小单元. 这些数据包被独立地发送并在目的地重新组合. 学生应该通过以下方式来展示他们对信息流(信息传输)的理解: 绘制数据包传输的模型、制作动画展示数据包是如何传输、通过一个"不插电的计算机活动"[1]或者其他方式来演示这个过程.
Network Communication & Organization
网络通信 & 网络架构
4.4
1B-NI-05 Discuss real-world cybersecurity problems and how personal information can be protected.
讨论现实世界的网络安全问题以及如何保护个人隐私信息
Just as we protect our personal property offline, we also need to protect our devices and the information stored on them. Information can be protected using various security measures. These measures can be physical and/or digital. Students could discuss or use a journaling or blogging activity to explain, orally or in writing, about topics that relate to personal cybersecurity issues. Discussion topics could be based on current events related to cybersecurity or topics that are applicable to students, such as the necessity of backing up data to guard against loss, how to create strong passwords and the importance of not sharing passwords, or why we should install and keep anti-virus software updated to protect data and systems.
正如我们在线下保护个人财产一样, 我们也需要保护我们的计算机设备和存储在设备上的信息. 我们可以使用各种安全措施来保护信息. 这些措施可以是物理性的或者虚拟性的. 学生们能够讨论或者使用日志和博客来表达, 以口头或者书面形式来解释与个人网络安全相关的话题. 讨论的话题可以使用与网络安全有关的时事或者适用于学生群体的话题. 比如备份数据以防丢失的必要性、如何创建强密码以及不共享密码的重要性、我们为什么应该安装和更新防病毒软件以保护数据和系统.
Cybersecurity
网络安全
3.1

# 数据及分析

Data and Analysis

序号 标准和描述 相关概念 实践
1B-DA-06 Organize and present collected data visually to highlight relationships and support a claim.
以可视化的方式组织和展示收集到的数据, 以突出数据间的关联, 并用来支持观点
Raw data has little meaning on its own. Data is often sorted or grouped to provide additional clarity. Organizing data can make interpreting and communicating it to others easier. Data points can be clustered by a number of commonalities. The same data could be manipulated in different ways to emphasize particular aspects or parts of the data set. For example, a data set of sports teams could be sorted by wins, points scored, or points allowed, and a data set of weather information could be sorted by high temperatures, low temperatures, or precipitation.
原始数据本身没有太大意义. 数据往往需要排序或者分组, 来提供额外的洞察. 对数据进行整理, 可以使得向他人解释和交流数据时更加容易. 零散的数据可以基于一些共性进行聚集. 同样的数据可以用不同的方式进行处理, 来强调数据集合的特定方面或者部分. 比如, 一组运动队的数据可以按照胜负、己方得分或者对方得分进行排序, 一组天气信息可以按照高温、低温或者降水进行排序.
Collection Visualization & Transformation
数据收集 & 数据可视化 & 数据转化
7.1
1B-DA-07 Use data to highlight or propose cause-and-effect relationships, predict outcomes, or communicate an idea.
使用数据来强调观点、提出因果关系、预测结果、传达想法
The accuracy of data analysis is related to how realistically data is represented. Inferences or predictions based on data are less likely to be accurate if the data is not sufficient or if the data is incorrect in some way. Students should be able to refer to data when communicating an idea. For example, in order to explore the relationship between speed, time, and distance, students could operate a robot at uniform speed, and at increasing time intervals to predict how far the robot travels at that speed. In order to make an accurate prediction, one or two attempts of differing times would not be enough. The robot may also collect temperature data from a sensor, but that data would not be relevant for the task. Students must also make accurate measurements of the distance the robot travels in order to develop a valid prediction. Students could record the temperature at noon each day as a basis to show that temperatures are higher in certain months of the year. If temperatures are not recorded on non-school days or are recorded incorrectly or at different times of the day, the data would be incomplete and the ideas being communicated could be inaccurate. Students may also record the day of the week on which the data was collected, but this would have no relevance to whether temperatures are higher or lower. In order to have sufficient and accurate data on which to communicate the idea, students might want to use data provided by a governmental weather agency.
数据分析的准确性与数据的真实性相关. 如果数据不充分, 或者数据在某些方面不正确, 那么基于数据的推理和预测就不太可能准确. 学生在表达一个观点的时候应该能够引用数据, 比如, 为了研究速度、时间和距离之间的关系, 可以让学生操作机器人以匀速行驶, 并以不断增加的时间间隔, 来预测机器人在这种匀速下行驶了多远. 为了做出准确的预测, 仅靠一两次不同时间的测试是不够的. 尽管机器人也可以收集来自传感器的温度数据, 但是这些数据与任务无关. 学生还必须精确测量机器人行进的距离, 以得出有效的预测. 学生们可以记录每天中午的气温, 以此为依据, 说明一年中哪些月份的气温更高. 如果学生在非上学日没有记录中午的气温, 或者记录不正确, 或者不是在一天中相同的时间记录温度, 数据就会不完整, 所传达的信息可能不准确. 尽管学生可以记录是星期几收集的数据, 但是这与气温高低没有关系. 为了有足够的、准确的数据来支持自己的想法, 学生们可能希望使用政府气象机构提供的数据.
Inference & Models
推理 & 模型
7.1

# 算法与编程

Algorithms and Programming

序号 标准和描述 相关概念 实践
1B-AP-08 Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
比较和改进同一项任务的多种算法, 并确定哪种算法是最合适的
Different algorithms can achieve the same result, though sometimes one algorithm might be most appropriate for a specific situation. Students should be able to look at different ways to solve the same task and decide which would be the best solution. For example, students could use a map and plan multiple algorithms to get from one point to another. They could look at routes suggested by mapping software and change the route to something that would be better, based on which route is shortest or fastest or would avoid a problem. Students might compare algorithms that describe how to get ready for school. Another example might be to write different algorithms to draw a regular polygon and determine which algorithm would be the easiest to modify or repurpose to draw a different polygon.
不同的算法可以得到相同的结果, 然而有时候其中一个算法可能是最合适的. 学生应该能够用不同的方法来解决同一个问题, 并决定哪种方法是最好的解决方案. 比如, 学生可以使用地图来规划从一个地点到达另一个地点的多种算法. 他们可以看看地图软件建议的路线, 然后根据哪条路线最短、最快或者能够避免麻烦, 把路线改成更好的. 学生可以比较上学路线的算法. 另一个例子是, 编写不同的算法来绘制一个正多边形, 并确定哪种算法最容易修改, 或者最容易复用来绘制不同的多边形.
Algorithms
算法
6.3
3.3
1B-AP-09 Create programs that use variables to store and modify data.
创建使用"变量"存储和修改数据的程序
Variables are used to store and modify data. At this level, understanding how to use variables is sufficient. For example, students may use mathematical operations to add to the score of a game or subtract from the number of lives available in a game. The use of a variable as a countdown timer is another example.
"变量"用于存储和修改数据. 在这个学习阶段, 了解如何使用变量就足够了. 比如说, 学生可以运用数学运算, 来增加游戏中的得分, 或者减去游戏中角色的生命值. 再比如说, 使用变量作为倒计时器.
Variables
变量
5.2
1B-AP-10 Create programs that include sequences, events, loops, and conditionals.
创建包括序列、事件、循环和条件判断的程序
Control structures specify the order (sequence) in which instructions are executed within a program and can be combined to support the creation of more complex programs. Events allow portions of a program to run based on a specific action. For example, students could write a program to explain the water cycle and when a specific component is clicked (event), the program would show information about that part of the water cycle. Conditionals allow for the execution of a portion of code in a program when a certain condition is true. For example, students could write a math game that asks multiplication fact questions and then uses a conditional to check whether or not the answer that was entered is correct. Loops allow for the repetition of a sequence of code multiple times. For example, in a program that produces an animation about a famous historical character, students could use a loop to have the character walk across the screen as they introduce themselves.
"控制结构"规定了程序中指令执行的顺序, 并可以将指令组合起来创建更加复杂的程序. "事件"允许程序的部分指令根据特定操作运行. 比如说, 学生可以编写一个解释水循环的程序, 当点击特定组件时, 程序显示关于水循环的那一部分的信息. "条件"允许当某个条件为真时, 执行程序中的一部分代码. 比如说, 学生可以编写一个数学游戏, 提出"乘法事实问题"[2], 然后使用"条件"来检查输入的答案是否正确. "循环"可以让一个代码序列多次重复执行. 比如说, 在制作关于一个历史名人的动画程序中, 学生们可以使用循环, 让历史人物在屏幕上走来走去得介绍自己.
Control
控制
5.2
1B-AP-11 Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
将问题分解成更小的、可以控制的子问题, 来促进程序开发
Decomposition is the act of breaking down tasks into simpler tasks. For example, students could create an animation by separating a story into different scenes. For each scene, they would select a background, place characters, and program actions.
"分解"是把任务分解成更简单的任务. 比如说, 学生在制作动画, 可以把故事分解成不同场景, 再针对每个场景选择背景、地点、角色和程序行为.
Modularity
模块化
3.2
1B-AP-12 Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
修改、改编或者将现有程序的某些部分合并到自己的程序中, 开发新的东西或者添加更多的高级功能
Programs can be broken down into smaller parts, which can be incorporated into new or existing programs. For example, students could modify prewritten code from a single-player game to create a two-player game with slightly different rules, remix and add another scene to an animated story, use code to make a ball bounce from another program in a new basketball game, or modify an image created by another student.
程序可以分解成更小的部分, 这些部分可以合并到新的或者已有的程序中. 比如说, 学生可以修改单人游戏中已经编写好的代码, 来创建一个规则稍有不同的双人游戏. 或者, 改编一个场景, 并添加到另一个动画故事中. 或者, 在新的篮球游戏中, 使用已有游戏中让篮球弹跳的代码. 或者, 基于另一个学生创建的图像进行修改
Modularity
模块化
5.3
1B-AP-13 Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences.
使用"迭代过程"来规划一个程序的开发, 将他人的观点和用户的偏好纳入考虑
Planning is an important part of the iterative process of program development. Students outline key features, time and resource constraints, and user expectations. Students should document the plan as, for example, a storyboard, flowchart, pseudocode, or story map.
"规划"是程序开发迭代过程中的一个重要组成部分. 在规划中, 学生列出程序的关键功能、时间和资源的限制、用户的期望. 学生应该用故事板、流程图、伪代码[3]、或者故事图将规划记录下来.
Program Development
编程开发
1.1
5.1
1B-AP-14 Observe intellectual property rights and give appropriate attribution when creating or remixing programs.
在创作或者改编程序时, 遵守知识产权
Intellectual property rights can vary by country but copyright laws give the creator of a work a set of rights that prevents others from copying the work and using it in ways that they may not like. Students should identify instances of remixing, when ideas are borrowed and iterated upon, and credit the original creator. Students should also consider common licenses that place limitations or restrictions on the use of computational artifacts, such as images and music downloaded from the Internet. At this stage, attribution should be written in the format required by the teacher and should always be included on any programs shared online.
知识产权因国家而异, 但版权法赋予作品的创作者一系列权利 -- 防止他人抄袭作品并以他们不喜欢的方式使用作品. 学生应该识别改编的情况(借用和基于别人作品衍生创意), 并且注明原创者. 学生应该认识和考虑常见的许可协议[4] (这些许可协议对数字作品的使用进行了限制和约束, 比如说对于网络下载的图像和音乐的使用限制). 在这个学习阶段,学生应该按照老师要求的格式对引用作品的作者进行署名, 在网上分享的任何程序都应该标注原创者.
Program Development
编程开发
5.2
7.3
1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
测试和调试(识别和修复错误)程序或者算法, 以确保它按照预期运行
As students develop programs they should continuously test those programs to see that they do what was expected and fix (debug), any errors. Students should also be able to successfully debug simple errors in programs created by others.
当学生开发程序时, 他们应该不断地测试这些程序, 看看程序是否按预期运行, 并且修复出现的错误. 学生还应该能够成功地调试别人编写的程序中的简单错误.
Program Development
编程开发
6.1
6.2
1B-AP-16 Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development.
在老师的指导下, 和同伴合作时, 在程序开发的设计、执行、审查阶段承担不同的角色
Collaborative computing is the process of performing a computational task by working in pairs or on teams. Because it involves asking for the contributions and feedback of others, effective collaboration can lead to better outcomes than working independently. Students should take turns in different roles during program development, such as note taker, facilitator, program tester, or "driver" of the computer.
"协作编程"是指通过结对或者团队合作来执行任务. 因为融合了不同人的贡献和反馈, 所以有效的合作可以得到比独立工作更好的结果. 在程序开发过程中, 学生应该轮流扮演不同的角色, 比如文档记录者、主导者、程序测试员、协调者
Program Development
编程开发
2.2
1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations.
使用代码注释、报告、演示, 来描述程序开发过程中的决策选择
People communicate about their code to help others understand and use their programs. Another purpose of communicating one's design choices is to show an understanding of one's work. These explanations could manifest themselves as in-line code comments for collaborators and assessors, or as part of a summative presentation, such as a code walk-through or coding journal.
人们解释自己的代码, 是为了帮助其他人理解和使用他们的程序. 交流程序设计过程中的决策选择的另一个目的是, 展示对自己作品的理解. 这些解释可以是合作者和评审者的内联代码注释, 也可以作为总结性演示的一部分, 比如代码演练或者编程日志
Program Development
编程开发
7.2

# 计算机科技的影响

Impacts of Computing

序号 标准和描述 相关概念 实践
1B-IC-18 Discuss computing technologies that have changed the world, and express how those technologies influence, and are influenced by, cultural practices.
讨论计算机技术对世界的改变,并说明它们是如何影响文化习俗并反受其影响
New computing technology is created and existing technologies are modified for many reasons, including to increase their benefits, decrease their risks, and meet societal needs. Students, with guidance from their teacher, should discuss topics that relate to the history of technology and the changes in the world due to technology. Topics could be based on current news content, such as robotics, wireless Internet, mobile computing devices, GPS systems, wearable computing, or how social media has influenced social and political changes.
新的计算机技术的产生和现有技术的改造出于多种原因, 包括增加好处、降低风险、满足社会需求. 学生在老师的指导下, 应该讨论科技发展史以及由科技引起的世界变化. 话题可以基于时事, 比如机器人、无线互联网、移动设备、全球定位系统、可穿戴设备, 或者是社交媒体如何影响社会和政治.
Culture
文化
3.1
1B-IC-19 Brainstorm ways to improve the accessibility and usability of technology products for the diverse needs and wants of users.
用"思维风暴"的方法, 提高技术产品的可访问性和可用性, 以满足用户的不同需求和期待
The development and modification of computing technology are driven by people’s needs and wants[5] and can affect groups differently. Anticipating the needs and wants of diverse end users requires students to purposefully consider potential perspectives of users with different backgrounds, ability levels, points of view, and disabilities. For example, students may consider using both speech and text when they wish to convey information in a game. They may also wish to vary the types of programs they create, knowing that not everyone shares their own tastes.
计算机技术的发展和改进是由人们的需求和欲望驱动的, 计算机技术对不同群体的影响是不同的. 想要预测不同用户的需求和期待, 就需要学生有目的地考虑不同背景、能力水平、观点以及残疾用户的潜在视角. 比如, 当学生想要在游戏中传达信息时, 他们可能会考虑同时使用语音和文本. 因为他们知道并不是每个人都会分享自己的偏好, 所以他们可能希望让自己创造的程序多元化.
Culture
文化
1.2
1B-IC-20 Seek diverse perspectives for the purpose of improving computational artifacts.
寻求不同的视角, 来改进作品
Computing provides the possibility for collaboration and sharing of ideas and allows the benefit of diverse perspectives. For example, students could seek feedback from other groups in their class or students at another grade level. Or, with guidance from their teacher, they could use video conferencing tools or other online collaborative spaces, such as blogs, wikis, forums, or website comments, to gather feedback from individuals and groups about programming projects.
计算机提供了协作和分享想法的可能, 让学生可以从不同的视角中获益. 比如说, 学生可以向班里的其他小组或者其他年级的学生那里寻求反馈. 或者, 在老师的指导下, 他们可以使用视频会议工具或者其他在线协作空间, 比如博客、维基百科、论坛、网站评论, 来收集个人和群体对其编程作品的反馈.
Social Interactions
社交互动
1.1
1B-IC-21 Use public domain or creative commons media, and refrain from copying or using material created by others without permission.
使用"公共领域"[4:1]或者"知识共享"[4:2]的作品, 未经许可, 避免拷贝或者使用他人创作的材料
Ethical complications arise from the opportunities provided by computing. The ease of sending and receiving copies of media on the Internet, such as video, photos, and music, creates the opportunity for unauthorized use, such as online piracy, and disregard of copyrights. Students should consider the licenses on computational artifacts that they wish to use. For example, the license on a downloaded image or audio file may have restrictions that prohibit modification, require attribution, or prohibit use entirely.
计算机技术提供的可能性引发了道德上的复杂性. 在互联网上发送和接收视频、照片、音乐的拷贝非常方便. 这为未经授权的使用创造了可能, 例如网上盗版和无视版权的行为. 学生应该考虑他们希望使用的虚拟作品的许可证问题. 比如, 下载的图像或者音频文件上的许可证, 可能有禁止修改、要求声明原作者或者完全禁止使用的限制.
Safety Law & Ethics
法律 & 道德
7.3

  1. "不插电的计算机科学"是指不需要使用计算机, 而是在游戏活动中学习计算机科学. 在国外有专门的网站讲解这个主题 -- https://csunplugged.org (opens new window)https://code.org/curriculum/unplugged (opens new window) ↩︎

  2. "Multiplication Fact (乘法事实/乘法原理)": "乘法"表述的是物品相加总数的事实. 比如说, 通过将 2 行 3 列的物品相加, 我们知道了 2 x 3 的结果就是 6, 这属于一种确定的"事实". 美国人将其称为"乘法事实 (Multiplication Fact)", 类似几何学中的"公理" ↩︎

  3. "伪代码 (pseudo-code)": 是指模仿代码的形式来描述程序的运行逻辑, 但是使用的是符合人类阅读习惯的写法, 而不是真正的编程语言. 也就是说, 伪代码只能用来描述思路, 但是不能用来运行. 它的目的是辅助算法设计阶段的思考, 因为在这个阶段, 需要关注的是思路, 而不是具体实现. 而“伪代码”可以让我们不用纠结于具体的代码实现

    function 求最大值(a, b)
        如果 a >= b
            a → 最大
        否则
            b → 最大    
    
    1
    2
    3
    4
    5
    ↩︎
  4. 传统的"版权制度"是一种限制性的协议, 也就是说, 只有它明文许可的事情, 别人才可以做, 否则就是侵权. 这种协议阻碍了作品传播, 从长远来看, 也损害了社会公共利益. 而"公共领域(Public Domain)"的作品是没有版权的, 所有的权利都归使用者. 传统的"版权制度"相当于保留所有权利, "公共领域(Public Domain)"则是放弃所有权利. "知识共享(Creative Commons)"介于这两个极端之间, 只保留声明的几种权利, 除此之外的权利全部放弃, 相当于"负面清单". "知识共享"分为多种许可协议, 具体的内容需要上网查询 ↩︎ ↩︎ ↩︎

  5. needs 是指必不可少的基本需求, wants 是指满足基本需求之后的欲望和期待 ↩︎