Exploring Computer Science

Course Overview

Goals

Exploring Computer Science (ECS) is designed to introduce students to the breadth of the field of computer science through an exploration of engaging and accessible topics. Rather than focusing the entire course on learning particular software tools or programming languages, the course is designed to focus on the conceptual ideas of computing and help students understand why certain tools or languages might be utilized to solve particular problems. The goal of Exploring Computer Science is to develop in students the computational practices of algorithm development, problem solving and programming within the context of problems 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.

Unifying Themes and Practices

The individual lessons in this course were developed to reinforce the unifying themes and support the use of the computational practices that we expect students to employ.

The three themes are:

    • The creative nature of computing
    • Technology as a tool for solving problems
    • The relevance of computer science and its impact on society

There are many technological tools that enable people to explore concepts and create exciting and personally relevant artifacts that impact society. In this course, programming is used as one of the tools, but not the only tool. Students are asked to be creative in designing and implementing solutions as they translate ideas into tangible forms. As students actively create, they will also discuss the broader implications of computing technologies.

    • Throughout the course students will gain experience in employing the following computational practices:
    • Analyze the effects of developments in computing (impact/connections)
    • Design and implement creative solutions and artifacts
    • Apply abstractions and models
    • Analyze their computational work and the work of others
    • Communicate computational thought processes, procedures, and results to others
    • Collaborate with peers on computing activities

As students design and implement solutions using abstractions and models, they will analyze the processes they and their peers use to arrive at solutions, study the effects of their creations and learn how computing concepts connect explicitly and implicitly to other disciplines. Students will learn about the collaborative nature of computer science by working in teams and communicate the results of their work in writing and orally supported by graphs, visualizations and computational analysis.