Exploring Computer Science-Period 3 (Period 3)
Assignment Calendar
Course Description
Exploring Computer Science introduces students to the breadth of the field
of computer science through an exploration of engaging and accessible topics.
The goal of Exploring Computer Science is to develop in students the computa-
tional thinking practices of algorithm development, problem solving and program-
ming within the context of situations or scenarios that are relevant to the lives
of today’s students. Students will also be introduced to topics such as interface
design, limits of computers and societal and ethical issues.
There are three underlying themes:
1. The creative nature of computing
2. Technology as a tool for solving problems
3. The relevance of computer science and its impact on society
Course Objectives:
The course is divided into the following units:
1. Human Computer Interaction:
Students are introduced to the major components of the computer, including: input,
output, memory, storage, processing, software and the operating system. Students
consider how Internet elements (e.g. email, chat, WWW) are organized, engage in
effective searching and focus on productive use of email. Fundamental notions of
Human Computer Interaction (HCI) and ergonomics are introduced. Students learn
that “intelligent” machine behavior is not “magic” but is based on algorithms applied
to useful representations of information. Students learn the characteristics that make
certain tasks easy or difficult for computers and how these differ from those that
humans characteristically find easy or difficult. Students gain an appreciation for the
many ways (types of use) in which computers have had an impact across the range
of human activity, as well as for the many different fields in which they are used.
Examples illustrate the broad, interdisciplinary utility of computers and algorithmic
problem solving in the modern world.
2. Problem Solving:
This unit covers the basic steps in algorithmic problem-solving, including the problem
statement and exploration, examination of sample instances, design, program coding,
testing and verification. Tools for expressing design are used. This unit also includes
selected topics in discrete mathematics including (but not limited to) Boolean logic,
functions sets, and graphs. Students are introduced to the binary number system. Stu-
dents construct complex expressions based on fundamental Boolean operations and
learn how to relate the mathematical notion of functions to its counterparts in computer
programming. They learn basic set theory and its application in computer science. Stu-
dents are introduced to graphs using puzzles. Suitable exercises are presented that
illustrate the value of mathematical abstraction in solving programming problems.
3. Web Design:
This section prepares students to take the role of a developer by expanding their
knowledge of programming and Web page design and applying it to the creation of
Web pages, programs and documentation for users and equipment. Students learn
to create user-friendly manuals, Web sites and program interfaces. Students apply
fundamental notions of Human Computer Interaction (HCI) and ergonomics. Code
documentation and hardware and software limitations are also explored. The notions
of hierarchy and abstraction are central to computing. They are crucial to the translation
between machine code and a user-friendly interface, to creating reusable code and to
the design of software that is broadly applicable rather than solving only a narrowly
defined problem. This unit makes these abstract ideas concrete by focusing first on
real-life (non-computing) examples and then on the specific uses of hierarchy and
abstraction in computer science.
4. Programming:
Students are introduced to some basic issues associated with program design and
development. Students design algorithms and programming solutions to a variety of
computational problems, using Scratch. Programming problems should include control
structures, functions, parameters, objects and classes, structured programming and
event-driven programming techniques. This unit introduces data structures, including
arrays, vectors, stacks and queues, and their associated components, operations and
uses. Benefits and limitations of different data structures are presented. The concept
that analysis and understanding of data structures can be used as a fundamental
organizing principle in the design of solutions is explored.
5. Computing and Data Analysis:
In this unit students explore how computing has facilitated new methods of managing
and interpreting data. Students will use computers to translate, process and visualize
data in order to find patterns and test hypotheses. Students will work with a variety of
large data sets that illustrate how widespread access to data and information facilitates
identification of problems. Students will collect and generate their own data related to
local community issues and discuss appropriate methods for data collection and
aggregation of data necessary to support making a case or facilitating a discovery.
6. Robotics:
Students apply previously learned topics to the study of robotics and work in small
groups to build and program a robot to perform a required task. Students make use
of a programming language to control the behavior of these robots in dynamic envi-
ronments. As a class (or a district), they will test out their robots under a specific set
of circumstances in a robotics competition.
Upcoming Assignments See all
Could not find any upcoming assignments due.