Contents
|
Any field with the word "science" in its name probably
isn't a science. -- Conventional wisdom among many "real"
scientists in the early years of field.
Computer Science is no more about computers than astronomy
is about telescopes. -- Edsger Dijkstra
Did You Know? |
CS in HS |
In most US high schools, classes with the name "computer science" are not considered
science classes, but are part of the vocational educational track. |
Not For NCAA |
The general level of high school "CS" classes is so academically weak that several years
ago, the NCAA announced it would stop accepting such classes to meet eligibility requirements |
The goal of the Computer Science: Principles course will be to
teach high school student's core computer science knowledge and capabilities. Because
computer science is not taught in most high schools (except for the CS A-Test in Java Programming),
the first task for the development team
was to determine what that content should be. In concept it should be information most important for an
educated citizen to know and understand. CS experts were queried to identify the relevant topics, and
after multiple iterations, the development team created a list
known as the Seven Big Ideas. The course's content and the exam questions will derive from
these organizing principles.
Computing is a creative human activity that engenders innovation and promotes exploration
Creativity and computing are prominent forces in innovation; the innovations
enabled by computing have had and will continue to have far-reaching impact. At the same
time, computing and computer science facilitate exploration and the creation of knowledge.
This course will emphasize the creative aspects of computing. Students in this course will
create interesting and relevant artifacts with the tools and techniques of computing and
computer science.
Abstraction reduces information and detail to focus on concepts relevant to understanding
and solving problems
People use abstraction every day, but it is a central problem-solving technique
in computer science. Traditional examples of abstraction in computer science include control
and data abstraction in programming languages as well as analyzing and understanding hardware
and software systems. This course will include examples of abstractions used in modeling the world,
in managing complexity, and in communicating with people as well as with machines. Students in
this course will learn to work with multiple levels of abstraction while engaging with computational
problems and systems.
Data and information facilitate the creation of knowledge
Computing enables and empowers new methods of information processing that
have led to monumental change across disciplines, from art to business to science. A staggeringly
large amount of raw data provides part of the foundation of our information society and economy.
People use computers and computation to translate, process, and visualize raw data, creating
information. Computation and computer science facilitate and enable a new understanding of data
and information that contributes knowledge to the world. Students in this course will work with data
using a variety of tools and techniques to better understand the many ways in which data is transformed
into information and knowledge.
Algorithms are tools for developing and expressing solutions to computational problems.
Algorithms help elementary school students learn to multiply, but algorithms realized in
software have affected the world in profound and lasting ways. The development, use, and analysis
of algorithms is one of the most fundamental aspects of computing. Students in this course will work
with algorithms in many ways: they will develop and express original algorithms, they will implement
algorithms in some language, and they will analyze algorithms both analytically and empirically
Programming is a creative process that produces computational artifacts
Programming and the creation of software have changed our lives. Programming results
in the creation of software, but it facilitates the creation of more general computational artifacts
including music, images, visualizations, and more. In this course programming will enable exploration
and study as well as being the object of study. This course will introduce students to the concepts and
techniques used in writing programs and to the ways in which programs are developed and used by
people; the focus of the course is not programming per se, but on all aspects of computation. Students
in this course will create programs, translating human intention into computational artifacts.
Digital devices, systems, and the networks that interconnect them enable and
foster computational approaches to solving problems
Digital devices and the Internet have had a profound impact on society. The principles
of systems and networks that helped enable the Internet are also critical in the implementation of
computational solutions. Computer networks support communication and collaboration. Students
in this course will gain insight into how systems and networks operate, to the principles that facilitate
their design, and will analyze the effects of systems and networks on people and society.
Computing enables innovation in other fields including science, social science,
humanities, arts, medicine, engineering business
Computation has changed the way people think, work, live, and play. Our methods for
communicating, collaborating, and problem-solving, and doing business have changed and are
changing due to innovations enabled by computing. Many innovations in other fields are fostered
by advances in computing. Computational approaches lead to new understandings, new discoveries,
and new disciplines. Students in this course will become familiar with the many ways in which
computing enables innovation in other fields.
These big ideas form the intellectual foundation for the new course.
Though the Seven Big Ideas embody many computing concepts, they are not themselves "the content".
|