Computer Science

Computer Science is all about problem solving.

As you learn programming or web and/or app development you learn how to break down a problem into smaller chunks and use that framework to solve problems. That process--which can be applied to any problem solving in your life--is called "computational thinking."

What classes can you take? All courses are electives that are open to all sophomores, juniors, and seniors if their schedule permits. For brief summaries, click on a class title, but for full academic descriptions, see the Curriculum Guide below.

App Development

Students learn about the powerful Swift programming language (used to develop mobile applications for Apple products such as the iPhone and iPad) and learn the skills to develop an iOS app from scratch. By the end of the course, students will have developed a completed app and gained a basic understanding of object oriented principles and memory management.

See some samples.


Students learn to use the Arduino platform and learn basic C programming. Arduino is an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them.

In their first class, students teams of students built a robotic arm, a fingerprint scanner, and a voting system, among other projects.

Java Programming

Using the Java programming language, and modeled after the Advanced Placement Computer Science A curriculum, students in this class learn about primitive data types, basic control structures, basic data structures, and the principles of object design. They gain hands-on experience implementing a number of standard algorithms for searching, sorting, manipulating strings, and managing compound data structures. Principles of structured program design, designing elegant solutions to computable problems, and learning to test and debug computer code effectively are all emphasized.

Python Programming

In this introduction to the Python programming language, students learn how to use data types, variables, selection, and iteration techniques. They study the concepts of tuples and lists as well as basic file and error handling. Python has the advantage of being platform independent and is widely used in industry to create everything from web sites to computer games. Course includes some game design.

Responsive Web Page Design

From user interface design to front end coding in HTML, CSS and Javascript, students in learn the essential elements of responsive web page design. They learn how to use CSS libraries, such as Bootstrap, to create responsive layouts and how to use Javascript variables and functions, and respond to user input using Javascript. Students gain hands-on experience developing web applications such as photo gallery and text editor.

See samples of some student pages. Students who complete a prerequisite may also take an Advanced Web Design course.

Computing News

Last week, Web Design students were involved in educational research with Facebook and Blue Trot consultancy around the use of Virtual Reality in the classroom. In the lesson, students were split into groups and learned how to collaborate creatively using virtual reality (VR) devices.

´╗┐Virtual Reality (VR) is an emerging technology that transports the user’s mind somewhere else. Because of its expense and complexity, VR is far from ubiquitous in current classrooms. Facebook’s Education Modernization team has partnered with Blue Trot, a research consultancy, to design and implement the first-of-its-kind social classroom activity. During the scenario, teams rotated in timed rounds as “designers” in the VR device while the remaining group members communicated instructions through design memos. Students created virtual field trips to Iran, New York, and San Francisco.

  • Computing News
Bullworks Team Takes Second at Tech Challenge 2017!

The Branson Bullworks tech challenge team won second place overall in the annual Tech Challenge 2017 Rock The Ravine sponsored by Dell. Benji Wu '20, Ray Kwei '20, Margot Mead '20,and James Zhao '19 competed against over 100 other teams in the 9-12th grade category. More than 2,500 students took part in the 30th annual challengewhich was held at the San Jose Technology and Innovation Museum.

  • Computing News

Python Programming students visited Telltale Game Design in San Rafael, where they learned from industry professionals about the creative process and principles of game design from end to end. Telltale is an award-winning independent developer and publisher of digital entertainment. They design story-based games that the user moves through and controls, including Batman, Guardians of the Galaxy, The Walking Dead, Game of Thrones, and Mindcraft. 

  • Computing News

Our students have attended Hackathons where they worked together and exercised their programming skills.