Exploring Computer Science is a year-long, survey-level course consisting of 6 units, approximately 6 weeks each: Human/Computer Interaction, Problem Solving, Web Design, Programming, Data Analysis, and Robotics. The course was developed around a framework of both computer science content and computational practice. Assignments and instruction are contextualized to be socially relevant and meaningful for diverse students. Units utilize a variety of tools/platforms, and culminate with final projects.
Exploring Computer Science uses Scratch.
Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations. Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century. Get started with this Creative Computing curriculum guide.
The Mobile Computer Science Principles course (Mobile CSP) satisfies all requirements of the College Board's new AP Computer Science Principles course, which has been designed to help broaden participation in computer science among high school girls and underrepresented minorities. Students learn computer science by building socially useful mobile apps. In this way, student learning will be associated closely with their interests and grounded in their schools, their homes, and their communities.
Mobile CSP uses App Inventor.
MIT App Inventor is an innovative beginner's introduction to programming and app creation that transforms the complex language of text-based coding into visual, drag-and-drop building blocks. The simple graphical interface grants even an inexperienced novice the ability to create a basic, fully functional Android app within an hour or less. Get started with lessons and tutorials at AppInventor.org.
The Beauty and Joy of Computing (BJC) is an introductory computer science curriculum developed at the University of California, Berkeley, intended for non-CS majors at the high school junior through undergraduate freshman level. It was one of the five initial pilot programs for the AP CS Principles course being developed by the College Board and the National Science Foundation. The overarching theme is to expose all students to the beauty and joy of computing.
BJC uses Snap!.
Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to CS for high school or college students.
Game Design Academies
Games aren’t just a great way to engage students in learning—they’re also a compelling entry point to exploring careers in technology. That’s why Zynga.org has partnered with SFUSD to bring a two-year Game Design Academy to Balboa High School and Thurgood Marshall High School. Through enhanced curriculum rooted in computer science, exposure to tech careers, and hands-on work with game industry professionals, the program aims to leverage students’ interest and excitement around games to teach the fundamentals of technology education and to prepare the next generation of tech industry professionals to fill the jobs of tomorrow.
AP Computer Science A is a Java-based course that is compatible with many CS1 courses in colleges and universities. The course emphasizes both object-oriented and imperative problem solving and design. TeachAPCS.com offers many great resources.
AP Computer Science Principles is a new course designed to be equivalent to a first-semester introductory college computing course. Students will develop computational thinking vital for success across all disciplines and have the opportunity to express their creativity. This course was designed to broaden participation among traditionally underrepresented groups. Curricula include Mobile CSP and the Beauty & Joy of Computing (see above).
Khan Academy provides self-guided lessons in many content areas, including computing. Users can learn programming skills, in order to:
- CS Field Guide: an online interactive resource for high school students learning about CS | Teachers' Guide
- CS Custom Search: search Google for additional materials (such as lesson plans, tutorials, activities, and videos) to support your classroom
- National Integrated Cyber Education Research Center (NICERC): free curriculum in cyber literacy, cyber science, physics, advanced math, and CS
- Pencil Code: a unique switchable editor that lets you program in either blocks or text, to create art, music, games, and stories | Teacher's Manual
- MobilizeCS: an introductory high school course focusing on big data
- How to Think Like a Computer Scientist: interactive Python textbook | Version for CS Principles (Teacher Version)
- Blown to Bits: computer science textbook (used in many AP CS Principles courses)
- Coding Bat: interactive coding exercises in Java and Python
- CodeHS: online introductory and advanced CS courses
- CS Unplugged: off-the-computer activities to learn computing concepts
- Skype in the Classroom: search by subject and age group to arrange a time with a volunteer guest speaker best suited for your class
- View SFUSD CS teachers' websites: Mr. Ferraro at Balboa HS | Mr. Tan at Galileo HS