This section provides recommended Computer Science programs and instructional material a teacher may use for their Computer Science instruction or students may use to explore the field of computer science.
NOTE
Please work with your IT department to ensure the applications are approved for your school’s environment and any external web sites are unblocked (e.g. App Inventor is a web based application which requires a user to create a gmail account to store their projects).
Prior Workshops
Computer Science Principles
The computer science principles workshops are designed to introduce the seven “big ideas” in the AP Computer Science Principles curriculum. The materials are intended for secondary students and teachers.
- The Computer Science Principles via Music and Art uses EarSketch and Processing to introduce the seven “big ideas”.
- The Mobile Computer Science Principles (MCSP) workshop uses mobile apps development on the App Inventor 2 platform to introduce the seven “big ideas”. These applications are developed to work on an Android device such as a phone or tablet.
Coding is Cool
Level 1 workshop introduces computer science and coding to high school students using App Inventor 2 mobile apps to develop functioning mobile applications for an Android device.
Level 2 workshop introduces computer science and coding to high school students using Hybrid Art with Processing and the Finch Robot.
GenCyber
The GenCyber workshop enables participants to understand security procedures, practices, and threats regardless of their knowledge level in IT/CS.
The workshop introduces knowledge of cyber security first principles, increases the curiosity of the participants about the field of cyber security, encourages participants to seek further education in cyber security and motivates participants to seek a career in cyber security.
For School Administration
The Computing by Design workshop assists professional school counselors, administrators, and teachers nationwide with information and resources to guide more — and more kinds of — students to explore computing education and careers.
Computer Science Courses
CS Exploration Courses
There are two main introductory computer science courses designed for middle and early high school students.
The Exploring Computer Science (ECS) curriculum consists of 6 units which provides an introduction to the world of computer science and problem solving suitable for all students. The curriculum package comes with daily instructional lesson plans for teachers, plus supplemental extension resources. Some schools offer a reduced one semester version using a subset of the units (we recommend units 1, 2, and 4), while others offer the full two semester program.
CS Discoveries is an introductory course from Code.org that empowers students to engage with Computer Science as a medium for creativity, communication, problem solving, and fun. This course is recommended for grades 6-10.
CS Principles
Several Computer Science Principles courses have been developed that incorporate the College Board’s AP Computer Science Principles Curriculum Framework. To further evaluate the options look explore the following: Available CS Courses.
The Boise State CS 501 course for secondary teachers utilizes much of the Mobile CSP material.
- The Mobile CSP Professional Development program aims to prepare teachers to teach the College-Board endorsed Mobile CSP Advanced Placement course. The PD is designed to be accessible to teachers new to computer science as well as experienced CS teachers.
- The Mobile CSP community has workshops available for secondary teachers to learn the course curriculum refer to their site for Professional Development for High School Teachers.
Code.org AP CSP 5-day workshops are offered during the summer to prepare teachers to instruct the AP Computer Science Principles course beginning the fall after the teacher completes the professional development training.
- Idaho Digital Learning provides professional development opportunities to any and all educators in the State of Idaho.
- If you have questions about the Code.org Idaho professional development training, contact Idaho Digital Learning at (208) 342-0207 or email idla@IdahoDigitalLearning.org.
Additional CS Educational Materials
Scratch
Scratch is a web based programming language and an online community where students program and share interactive media such as stories, games, and animation. As students create with Scratch, they learn to think creatively, work collaboratively, and reason systematically.
- Learn more about Scratch
- Scratch Help, Getting Started and Resources
- Scratch wiki
- Frequently asked questions
EarSketch
EarSketch is a free educational programming environment. Its core purpose is to teach coding in two widely used languages, Python and JavaScript, through music composing and remixing. This learning environment was developed first at Georgia Institute of Technology under Prof. Jason Freeman and Prof. Brian Magerko.
Reference Material
Music Demos
- Live coding demo (10m27s)
- Andrew Sorensen Keynote: “The Concert Programmer” – OSCON 2014 (10m23s)
- Creative AI: Computer composers are changing how music is made
Music Representation
App Inventor 2
The Mobile Computer Science Principles course is supported by the Mobile Computer Science Principles Project (Mobile CSP). The course is funded by the National Science Foundation to provide a broad and rigorous introduction to computer science based on App Inventor, a mobile programming language for Android devices. The course is based on the College Board’s emerging Advanced Placement Computer Science Principles curriculum framework for introductory computer science.
App Inventor is a great site for learning how to program mobile android apps. The site provides on-line book and video lessons that step you through the creation of successively more complex apps.
Curriculum Links
App Inventor 2 Information
App Inventor 2 Tutorials
- Hello Purr
- Paint Pot
- Mole Mash
- Presidents Quiz
- Presidents Quiz Take 2
- Persistent Data in a Local Database (MoleMash with TinyDB)
- TinyDB Extended Demo
- Persistent Data in a Web Database
- Tutorial Gallery
Additional Material for Teaching
- Links for Teaching
- Tips and Tricks
- Beginner Video Tutorials
- Concepts Cards (sample code for specific task)
- Important Concepts
Processing
Processing is a great entry-level text based programming language, development environment, and online community. Processing was initially created in 2001 as a software sketchbook to teach computer programming fundamentals in a visual context.
Processing is a dialect of the “Java” programming language: the syntax is similar, but adds custom graphic and interactive features which allows a student to write interesting programs and see visual results right from the beginning.
Processing Intro
- Intro to Processing slides
- Extra examples [Google Drive with directories of examples]
Processing Information
- Processing Site
- Processing Download and Set-up
- Processing Examples
- Processing Tutorials
- Processing Video Tutorials
- Processing Language Reference Manual
- Processing Books
A great feature about Processing is the ability to expand its capabilities via libraries. For example, one library provides extensions that interact with the Finch Robot designed for Computer Science education.
Finch Introduction
- Intro to Finch Robot (using Processing)
- Finch example code
- Finch drawing code
Getting Started
Additional Workshop Materials
Computer Science is more than programming tools or languages, it is also about new methodologies and developing 21st century skills. Thus consider utilizing some of the following material in your class. The”unplugged” materials do not require a computer.
Additional Computer Science Material (videos, lesson plans, teaching practices, …)
- What is computer science workshop slides
- Computer Science Principles workshop slides
- Exploring Computational Thinking
- Google “Made w/ Code” encouraging coding education specifically for girls
- Team-Based Learning Web Site
- Pair Programming
- Extreme Programming
- Network Theory
- History of Computer Programming Languages
“Unplugged” Computer Science Material
Videos/Books
The Beauty and Joy of Computing – Ted Talk by Dan Garcia
Dan Garcia gave a thought-provoking talk on the importance of increasing computer literacy within our younger generations.
Your Life, Liberty, and Happiness after the Digital Explosion Blown to Bits – Book by Hal Abelson, Ken Ledeen and Harry Lewis
How the Digital Revolution is transforming your world more profoundly than you ever imagined.
Other sites
Acknowledgements
These workshops were hosted by Boise State’s Department of Computer Science in partnership with the Boise State Concurrent Enrollment program.
The IDoCode project funded by National Science Foundation CS10K award #1339403
Boise State’s Department of Computer Science is a recipient of a Google CS4HS award.