A collection of computer science resources.

Computer Programming I

by MarionPallotta Curriculum Office
It is critical to have a revised Computer Programming I pacing guide to insure all teachers in the High School have a source of guidance to drive their instruction. A common pacing guide for teachers to follow creates consistency with-in the course.
Curriki RatingNR

Materials to support interdisciplinary computing.
Curriki Rating3


by Janet Pinto
Coding materials
Curriki RatingNR

Materials for teaching literacy & CS.
Curriki RatingNR

Finals, Midyears, Review Packets, Oh my!
Curriki RatingNR

Face Transplant Project

by Kevin Driscoll
Digital image editing project. This project assumes that students have a familiarity with selection, transformation, layers, and history tools in a digital image editing program such as the GIMP or Photoshop.

It is most effective when paired with a critical look at the use of digital photo editing techniques in mass media (see my related collections.)

Curriki Rating3

This is an introductory digital image editing project in which students will create an absurdist collage from images they find online. Students will be challenged to exercise their web research skills as well as develop familiarity with digital image manipulation software.

To get started, I gave all of the students the same T-Rex JPEG and encouraged them to try upsetting audience expectations by repurposing this image. Students should be familiar with selection, transformation, history, and layers.

Although I have used this project in a lab with Adobe Photoshop, it can also be run successfully on free software such as the GIMP.

This project assumes that students have access to the Web.

This project could be improved by adding art historical context re: dada, surrealism, and pop art.

Curriki Rating3

A collection of programming problems with solutions expressed in a variety of programming languages for teachers and learners of Computer Science.

This collection of resources was created in collaboration with Ankur Verma, Anubhav Aggarwal, and Vijay Majumdar as part of the OLPC Summer of Content, 2007.

Curriki RatingNR

Materials relating to the 9th grade Computer Science Final Exam
Curriki RatingNR

Ninety percent of K-12 schools in the U.S. do not teach computer science, according to Code.org. But by the end of 2013, it wants to switch flip that stat--so that 90% of schools do teach it. The non-profit is aiming to get 10 million students to participate in the "Hour of Code" as part of Computer Science Education Week (CSEdWeek) on December 9-15.
Curriki RatingNR

The fascinating history of the computer is described and illustrated with over 50 photos.
Curriki Rating3


by Lauren Angelone
This folder contains all formative and summative assessment rubrics for Video Game Design in the Science Classroom. These assessments are also embedded within the unit.
Curriki RatingNR

Committee Members - James DeSantis, Susan Thompson. AutoCAD 2 is an introductory course of study that stresses the application of the design process as it relates to Pre-Civil Engineering, Pre-Mechanical Engineering and Pre-Architecture. The course will be delivered through the use of AutoDesk Design Software (an industry leader in design software). AutoCAD 2 is structured as a half-year, ½ credit course designed to be taught in a computer laboratory-based learning environment. Student will be involved primarily with “hands-on/minds-on” learning experience activities, comprising approximately 90% of the course curriculum delivery. The remaining curriculum will be delivered through traditional methods including selected textbook readings, teacher guided lectures and discussions, worksheets, student-generated technology reports, video-based and computer-based presentations.

Upon completion of this course, students should be knowledgeable concerning the operation of Computer Aided Design Software including AutoCAD, Inventor, Architecture, Civil 3D and Rapid Viz. They will understand how the software is used in industry and why. Students will be able to produce presentations including drawings, which will meet industry standards.

Curriki RatingNR

Exploring Computer Science is a yearlong course consisting of 6 units, approximately 6 weeks each. The course units draw on the curricular framework listed in Levels II and III of the ACM’s A Model Curriculum for K-12 Computer Science (2003). 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 around the following topics:

Human Computer Interaction Students are introduced to the major components of the computer, including: input, output, memory, storage, processing, software, and the operating system. Students consider how Internet elements (e.g. email, chat, WWW) are organized, engage in effective searching, and focus on productive use of email. Fundamental notions of Human Computer Interaction (HCI) and ergonomics are introduced. Students learn that “intelligent” machine behavior is not “magic” but is based on algorithms applied to useful representations of information. Students learn the characteristics that make certain tasks easy or difficult for computers, and how these differ from those that humans characteristically find easy or difficult. Students gain an appreciation for the many ways (types of use) in which computers have had an impact across the range of human activity, as well as for the many different fields in which they are used. Examples illustrate the broad, interdisciplinary utility of computers and algorithmic problem solving in the modern world.
Problem Solving This unit covers the basic steps in algorithmic problem-solving, including the problem statement and exploration, examination of sample instances, design, program coding, testing, and verification. Tools for expressing design are used. This unit also includes selected topics in discrete mathematics including (but not limited to) Boolean logic, functions, sets, and graphs. Students are introduced to the binary number system. Students construct complex expressions based on fundamental Boolean operations and learn how to relate the mathematical notion of functions to its counterparts in computer programming. They learn basic set theory and its application in computer science. Students are introduced to graphs using puzzles. Suitable exercises are presented that illustrate the value of mathematical abstraction in solving programming problems.
Web Design This section prepares students to take the role of a developer by expanding their knowledge of programming and Web page design and applying it to the creation of Web pages, programs, and documentation for users and equipment. Students learn to create user-friendly manuals, Web sites, and program interfaces. Students apply fundamental notions of Human Computer Interaction (HCI) and ergonomics. Code documentation and hardware and software limitations are also explored. The notions of hierarchy and abstraction are central to computing. They are crucial to the translation between machine code and a user-friendly interface, to creating reusable code, and to the design of software that is broadly applicable rather than solving only a narrowly defined problem. This unit makes these abstract ideas concrete by focusing first on real-life (non-computing) examples, and then on the specific uses of hierarchy and abstraction in computer science.
Programming Students are introduced to some basic issues associated with program design and development. Students design algorithms and programming solutions to a variety of computational problems, using Scratch. Programming problems should include control structures, functions, parameters, objects and classes, structured programming and event-driven programming techniques. This unit introduces data structures, including arrays, vectors, stacks, and queues, and their associated components, operations, and uses. Benefits and limitations of different data structures are presented. The concept that analysis and understanding of data structures can be used as a fundamental organizing principle in the design of solutions is explored.
Computing and Data Analysis In this unit students explore how computing has facilitated new methods of managing and interpreting data. Students will use computers to translate, process and visualize data in order to find patterns and test hypotheses. Students will work with a variety of large data sets that illustrate how widespread access to data and information facilitates identification of problems. Students will collect and generate their own data related to local community issues and discuss appropriate methods for data collection and aggregation of data necessary to support making a case or facilitating a discovery.
Robotics Students apply previously learned topics to the study of robotics and work in small groups to build and program a robot to perform a required task. Students make use of a programming language to control the behavior of these robots in dynamic environments. As a class (or a district) they will test out their robots under a specific set of circumstances in a robotics competition.

Ethical and social issues in computing, and careers in computing, are woven throughout the six units. The proliferation of computers and networks raises a number of ethical issues. Technology has had both positive and negative impacts on human culture. Students will be able to identify ethical behavior and articulate both sides of ethical topics. Students study the responsibilities of software users and software developers with respect to intellectual property rights, software failures, and the piracy of software and other digital media. They are introduced to the concept of open-source software development and explore its implications. Students identify and describe careers in computing and careers that employ computing. Information is provided about the required technical skill set, soft skills, educational pathways, and ongoing training required for computing careers. Students also explore how computers are used in other career choices. Finally, students are made aware of which additional secondary-level courses might be needed in preparation for various careers.

Joanna Goode and Gail Chapman are the authors of  Exploring Computer Science and are the co-directors of the curriculum design team.  High school teachers have been involved in contributing instructional materials and have provided important feedback that has been used to improve the materials. Furthermore, along with a design team, the authors have conferred with K-12 and higher education computer science educators around the country involved in computer science reform to inform the creation of these materials.

The members of the design team include:
Joanna Goode, University of Oregon
Gail Chapman, University of California, Los Angeles
Jane Margolis, University of California, Los Angeles
John Landa, Los Angeles Unified School District Computer Science teacher
Todd Ullah, Principal of Washington Preparatory High School
Diane Watkins, Director of Science, Los Angeles Unified School District
Chris Stephenson, Executive Director, Computer Science Teachers Association

Curriki RatingNR

Students interested in learning to code, design websites (mobile or otherwise), or become UX experts, will find resources on this page just for them.

Curriki RatingNR

Great resource with loads of lessons, reference information, and discussions about computational thinking and teaching it - something for all grade levels. This site features materials that support teaching computational thinking throughout the K-12 curriculum and expose everyone to this 21st century skill.

Curriki RatingNR


by Janet Pinto

Codeacademy offers interactive computer science tutorials for beginners. So far, they have tutorials on:
?  JavaScript
? Python
? Ruby
? APIs

Curriki RatingNR

HTML Tag Flashcards

by STEM sheets

Learn HTML tags that are used to structure websites with these free printable and customizable flashcards. Each card contains the HTML tag and an optional description of the tag. The flashcard set can be customized with over 100 different cards including the newest HTML5 tags. Card size and color are customizable. Creates a printable PDF.

Curriki RatingNR

Do NOT follow this link or you will be banned from the site!

Non-profit Tax ID # 203478467