Courses Offered

Santa Barbara High School’s Computer Science Academy offers courses for students at any level of programming experience, from beginning to advanced. All CS Academy courses are described below. For an overview of the various curriculum options offered by the academy, including all pathway and certificate programs, please see Pathways & Certificates.

Robotics with Arduino (College Prep, 1 term)

In this one term course, students learn the basics of electronics, robotics, and programming while building essential 21st century skills such as critical-thinking, collaboration, innovation, communication, self-management, design-thinking, and perseverance. This course satisfies the UC/CSU elective “g” requirement.

Exploring Computer Science (College Prep)

Students explore major areas of computer science such as the impact of computer science on society, web development, app development, robotics, and more.  Students learn how to use computer science as a tool for problem solving. Major themes in the course include the collaborative nature of computer science, creativity, logical thinking, problem solving, and the impact of computer science.  This course satisfies the UC/CSU elective “g” requirement.

Computational Art (College Prep)

Students learn foundational concepts of art and computer science.  They learn to write code to create images, animation, and solve problems in a variety of artistic styles.  Creativity in art and code is a major theme of the course as are logical thinking, problem solving, collaboration, and the impact of computer science. This course satisfies the UC/CSU fine arts “f” requirement.

CS 105 Theory and Practice I (dual enrollment with SBCC)

Recommendation: Completion of Exploring Computer Science or Computational Art

Students reinforce and build on the programming concepts they learned in an introductory class.  They learn to write, test, and revise code written in Java. Major themes in the course include logical thinking, problem solving, and program design.  This course satisfies the UC/CSU elective “g” requirement.

Designing Software for the Web (College Prep or Honors)

Recommendation: Completion of Exploring Computer Science or Computational Art

Students learn to create interactive and dynamic websites.  Course topics include designing user-friendly websites, security, database management, and data analysis.  Major themes in the course include the collaborative nature of computer science, problem solving, code design, and logical thinking.  This course satisfies the UC/CSU elective “g” requirement.

iOS Mobile Programming (College Prep or Honors)

Recommendation: Completion of CS 105 or Designing Software for the Web, or by instructor approval

Students learn to create iPhone apps.  Students will reinforce and build on the concepts they learned in APCS A or Designing Software for the Web.  Major themes in the course include the collaborative nature of computer science, creativity, software design principles, and problem solving.  This course satisfies the UC/CSU elective “g” requirement.

CS Service Learning (Honors)

Recommendation: Completion of CS 105 or Designing Software for the Web, or by instructor approval

Students identify a real world problem or need that can be solved with computer science and work with a team to collaborate with stakeholders to plan a solution, implement and test the solution, deploy it in the real world, and use feedback from stakeholders to revise or improve the solution.  Students acquire knowledge and skills commonly needed by software engineers, project managers, and others in related jobs.  This course satisfies the UC/CSU elective “g” requirement.

CS 118/Math 118 Data Science for All (dual enrollment with SBCC)

Recommendation: Completion of Math 2

Students learn the fundamentals of data science using real-world data sets from a variety of disciplines while also investigating inherent uncertainties and issues associated with exploring data. Students learn foundational statistical concepts and inferential thinking by learning computation methods in a commonly used programming language such as Python.  No prior programming or statistical experience is necessary.  This course earns students 4 units at SBCC in Math or Computer Science (it is cross-listed in both departments) through Dual Enrollment.

View Sample Schedules