什么是计算机科学?

In todays digital world, Computer Science has become an important subject for everyone to learn about. The knowledge and Computational Thinking skills associated with it are now crucial to developing innovative digital technology, understanding modern society, and qualifications in this area are highly sought after.

CS Unplugged 活动旨在让您了解是什么主题 - 您可通过这样做,了解它是什么。在这个早期阶段,暂时不要正式定义它,让我们来思考它可能如何影响日常生活。例如,想想您最喜欢的搜索引擎。从表面上看,它就像一个相当简单的界面:设有一个供您键入要搜索内容的文本框,以及一个用于开始搜索的按钮。执行文本框和按钮所需的编程知识水平相当基础,您可通过编写一个简短的程序(可能少于 20 行)执行搜索,以浏览网站上的所有文本并显示任何匹配项。但显然,事实并非如此简单! 每天,搜索数量都将达到数十亿次。网页上有数十亿次搜索,上述方法会(最终)给出答案,但速度会变得极慢且无效率,没有人会使用它。

This is where Computer Science comes in; many areas of Computer Science are employed to make the system work well, and most of them are illustrated through Unplugged. How could you search billions of items in a fraction of a second (Searching Algorithms)? How do you make sure that it's easy to use (Human-Computer Interaction)? We need to keep it secure - users don't want other people to know what they are searching for, and the search engine doesn't want commercial interests to manipulate search ranking (Computer Security and Encryption)? Search engines generally predict what you are about to search for (Artificial Intelligence). It needs to be reliable - a small mistake from one of the thousands of programmers at a search engine company shouldn't prevent the site working (Software Engineering). It needs to scale well - if it becomes 10 times as popular, you don't want it to need 100 times the computing resources (Algorithms). The relevance of a search generally depends on the relationships between web sites - you need a map showing which sites are linked to which other ones (Graphs).

The areas above cover much of what the subject of Computer Science is about. Programming is just a tool for implementing ideas (well, it's a very powerful tool, and requires considerable skill to use well). But programming on its own isn't enough to create software that people love to use, and Computer Science is the area that gives programmers the inside knowledge to make their software fast, efficient, reliable, secure, usable, intelligent, scalable, and even delightful!

这就是我们开发 CS Unplugged 的原因 - 希望青少年学生能够理解计算机科学所涵盖的伟大创意,而不必首先将自己打造为专业程序员。他们并不会精确学习如何构建下一个搜索引擎、社交网络或游戏应用程序,但将了解需要哪些类型的技术方可成功。我们不希望他们将数字系统看作是无法参与的某种魔法,而是看作他们能够理解的东西,并且对某些人来说,是可创造的东西。实际上,当您开始了解哪些可以完成、哪些无法完成时,它也呈现出魔幻的一面。

阅读‘我应如何进行 CS Unplugged 教学?’ or 查看可用主题