Courses will serve all students, from those who wish to take only one course, to those who want a more intensive experience. Students will have the flexibility to start at any level. Advanced students may start with more rigorous courses and progress to electives that include discrete math and iPhone programming, or supplement with SBCC courses. Those who prefer a more gentle introduction may take several introductory courses and finish with AP Computer Science.
Introductory courses include:
- Exploring Computer Science, a year-long course that offers students a ‘big picture’ introduction.
- Computational Art, a year-long course that will combine art and computer programming.
SBHS Graduation requirements:
For those committing to the CS Master Program or 2-Year program, introductory CS courses (including Exploring Computer Science and Computational Art) will incorporate the curriculum requirements for Freshman Seminar. In addition, the Computational Art course will meet the requirements for the Visual/Performing Arts or Language graduation requirement at SBHS. Please note that computer science does not fulfill a graduation requirement but does count for elective credit at SBHS.
Courses for the 2015/16 school year:
|* It is recommended that students take Pre-Calculus with Python for their Pre-Calculus course; this is a special course offered by the CS Academy.|
EXPLORING COMPUTER SCIENCE (P)……………Full year
Recommendation: Passed Math I (A or B), concurrent enrollment in Math II; or motivated student concurrently enrolled in Math I – Enriched
Note: UC/CSU approved for elective credit “g”
Exploring Computer Science is a hands-on introduction to computer architecture, programming, and using the computer as a creative tool. The class is taught in the computer lab and is project-based, rather than textbook-based. The class is divided into four to six basic units, each 1 to 2 months long. Units consists of: a survey of computer architecture and human/computer interaction, web site development, interactive game theory and game development using Snap!, data analysis, introduction to java principles using Processing, some basic robotics, and animation. Each unit uses a series of projects of increasing complexity to introduce, refine, and integrate programming and development concepts, culminating with a “capstone” project as a unit final.
COMPUTATIONAL ART………………………………Full year
Recommendation: Passed Math I (A or B), concurrent enrollment in Math II
Note: UC approved for area ‘f’ – fine arts
In this course, students learn to write simple text-based computer programs using Processing to create fine art. By the end of the course, students will master the standard programming constructs of variables and mathematical operators, control structures (conditionals, loops, functions), and data types and compound data structures. Students will also learn and master the basics of color theory, the role of shape in traditional art, how shapes are represented computationally, how 2D mathematical functions can represent and control shape, the basics of 2D coordinate systems, the basics of curves, the basics of composition and relationship, the basics of perspective, how images are represented digitally, basic image manipulation (e.g. edge detection), the principles of animation, hierarchical modeling for rigid body animation, and simple particle simulations.
COMPUTER SCIENCE (AP)…………………………Full year
Recommendation: Math III or Pre-Calculus with Python*
Note: UC/CSU approved for elective credit “g”
AP Computer Science is an introductory course in computer science, which uses the Java programming language. The course emphasizes the design issues that make programs understandable, adaptable, and, when appropriate, reusable. In addition to this, the topics covered include the development and analysis of algorithms, the development and use of fundamental data structures, and the study of standard algorithms and typical applications. Finally, an understanding of the basic hardware and software components of computer systems and the responsible use of these systems are integral parts of the course.
MOBILE PROGRAMMING (Honors or Regular)………Full year
Recommendation: Mobile H: Pre-Calculus with Python* or above; Mobile CP: Math II-Enriched or above
Note: UC approved for area ‘g’ – elective
In this course, students will learn the Objective-C programming language, the Xcode IDE, iOS app design paradigms and Design Patterns, the major View Controller paradigms used to create iOS apps, and selected Cocoa Frameworks for making fun, engaging, and useful Mobile apps in iOS.
PRE-CALCULUS WITH PYTHON (Honors)*…………New, Full Year
Recommendation: “C” or higher in Algebra 2 and Trigonometry, or teacher recommendation.
Note: UC/CSU approved for Mathematics “c”
This course will emphasize the sort of complex algebraic manipulations, which will be needed in all calculus courses. Students will need to be comfortable with trigonometric, exponential, logarithmic and complex algebraic functions as well as sequences before taking this course. The topics include limits, areas under the curve, instantaneous rates of change (derivatives), vectors, matrices, conic sections, polar coordinates, parametric equations, and series. This course will also include many examples of mathematical modeling that will be accomplished through the use of programing labs.
SBCC COURSES APPROVED FOR ADVANCED STUDENTS:
- CS 114 Python Programming (UC/CSU transferrable) 3 SBCC units (evenings)
- CS 131 Assembly Language Programming
- CS 145 Introduction to Data Structures (UC/CSU transferrable) 3 SBCC unit (evenings)