---
title: "How to Break Out \"The Big Six\" of Computer Science Concepts"
description: One of the biggest hurdles facing anyone teaching computer science in the classroom is how to break out and deliver the concepts within. Here's how SparkFun breaks out The Big Six.
image: https://lh5.googleusercontent.com/1mdyIo6p0oQiu554EsFUABU7mXGglbvjiqB6xhnWc81vRipiKP5srX9nYqJn2cvwztjl8HKmsjjR3yEWE04XFFqPJu8xRAdvFNPPOK0Rmx3bkCl8GMFb2w5pRyIUmTrTvfCmNEqD
---

[![Sparkfun](https://www.sparkfuneducation.com/img/logo.png)](https://www.sparkfuneducation.com/index.html)

- [SparkFun Webstore](https://www.sparkfuneducation.com)
- [Higher Ed](https://sparkfuneducation.com/higher-ed/index.html)
- [Contact Us](https://www.sparkfuneducation.com/contact-us.html)
- [Follow Us](https://twitter.com/SparkFunEDU)

- [Home](https://www.sparkfuneducation.com)
- [Blog](https://blog.sparkfuneducation.com)
- [Curriculum](https://www.sparkfuneducation.com/curriculum.html)
- [PD/Events](https://www.sparkfuneducation.com/professional-dev.html)
- [KITS/Materials](https://www.sparkfuneducation.com/materials.html)
- [Educator Stories](https://www.sparkfuneducation.com/educator-stories.html)
- [Activities](https://activities.sparkfuneducation.com)

[Blog Home](https://blog.sparkfuneducation.com/) / [Arduino](https://blog.sparkfuneducation.com/topic/arduino) / How to Break Out "The Big Six" of Computer Science Concepts

<https://blog.sparkfuneducation.com/rss.xml>

# How to Break Out "The Big Six" of Computer Science Concepts

BY [Jeff Branson](https://blog.sparkfuneducation.com/author/jeff-branson) 5/10/18 7:00 AM

[2](https://blog.sparkfuneducation.com/how-to-break-out-the-big-six-of-computer-science-concepts#comments-listing)

[Arduino](https://blog.sparkfuneducation.com/topic/arduino), [teaching tools](https://blog.sparkfuneducation.com/topic/teaching-tools), [getting started](https://blog.sparkfuneducation.com/topic/getting-started), [basic circuits](https://blog.sparkfuneducation.com/topic/basic-circuits), [computer science](https://blog.sparkfuneducation.com/topic/computer-science)

![](https://blog.sparkfuneducation.com/hubfs/EDU/BLOG%20Images/Branson%2c%20Jeff.jpg)

One of the biggest hurdles facing anyone delivering computer science or its associated topics in the classroom is how to break out and deliver the concepts within. SparkFun has wrestled with this almost since its first days. More and more, we each code in the context of physical computing as a hardware company.

 

![](https://lh5.googleusercontent.com/Go2EfZf0vkAfXtEXvgPQdDxnX0HURFlljij7mZlN2ZAqeOLKwA-j7tlJSna0bG3-l1d144SpdhI08X1InytXLDp4WbMle8_ISHQBlmS0xWIPGfj9YXG6lvQ60TKIE8Ay_J_DPVOF)

*The Stepped Reckoner, a Gottfried Wilhelm Leibniz joint*

 Fortunately, after all this time we have hit on some ways of sorting out and delivering concepts. We've settled on a framework for teaching we call “The Big Six.” The contents have evolved over time and we still accept that the current version may not be the final version, but I will give you my shot at it, nonetheless.

We separate things out as follows:

**- Input vs. output**

**- Digital vs. analog**

**- Variable types and declaration**

**- Program flow and logic**

**- Communication**

**- Functions, objects and libraries**

It is our working assumption that if you master the basics of these in Arduino (or whatever language you choose), then the rest will be fairly self-explanatory. As well, the concepts travel well to other languages, making picking up other programming skillsets much easier.

**Digital Output**

When we start with Arduino, we start with “Blink,” and this is a fairly well-traveled way to get people started. Blink is, of course, an output.

 

![](https://lh5.googleusercontent.com/1mdyIo6p0oQiu554EsFUABU7mXGglbvjiqB6xhnWc81vRipiKP5srX9nYqJn2cvwztjl8HKmsjjR3yEWE04XFFqPJu8xRAdvFNPPOK0Rmx3bkCl8GMFb2w5pRyIUmTrTvfCmNEqD)

 *Wiring for the basic “Blink” sketch*

 

**Variables**

We alter the timing, and sometimes we’ll replace the standard “delay(1000)” with a variable (int delayTime=0;) such as “delay(delayTime),” and then increment the “delayTime” variable with a line like: “delayTime= delayTime +10.”

**Analog output**

Next, we may switch the digital output from pin 13 to pin 9 and demonstrate analog output. We’ll then start to change the brightness with a variable I like to call...”brightness.”

**Program flow and logic**

We can set boundaries with an "if" statement and compound logic, and this leads us to a fade program.

**Analog input**

Very often at this point, we’ll add a potentiometer and link the analogRead of the potentiometer to the output of the LED on pin 9. We show the difference between the 10-bit value of the analogRead command and the 8-bit analogWrite command, and we talk about dividing by four to scale the output to the LED.

Here we also take the opportunity to remove the potentiometer form the breadboard, and we replace it with a light sensor to demonstrate analog sensors.

 

![](https://lh5.googleusercontent.com/omZZ7dMkqLmWxcBmKQGYibOSotXloq6uw7kL53yaH26QsQBS1IAFShZ2qHCo3ZwmsNGAAjIVhw4P2SYEDQjuq4jSZ9ETluPSxA0Yl5qpi73GgK4kSD2hHaCfiIvxuob1ZPlxLMsA)

 *Wiring for the pot and LED*

**Libraries**

We have covered quite a bit here, but there is more to come. Introducing servos is a great way to talk about libraries and at this point in the progression, we do just that. We do some very basic servo operations, and we quickly move to a project. My colleague Derek loves to build a chicken coop here. We use the servo to open and close the chicken coop door based on the light sensor’s determination on whether it’s dark or light.

The servo library, which comes pre-installed, calls a servo object. There is another important addition: Are the chickens in the coop before you close the door?

![](https://lh6.googleusercontent.com/yt8bD14MS1elpDrqkOGPH-fi7fvfldlsc4Tzd_3pE5UUgbAsXYNSd8FWaDLkG12eBDBOH4qSmXN9zlbkz3W67GLej_EEjddSq4D3QeCJ3OaLxcEyLJRJYRc5xLxJYlvt8zZcGxPe)

*Servo wiring example*

**Digital input**

By using a button to detect a chicken on a nest (these are really fat, healthy chickens), we can incorporate digital input into our sketch.

![](https://lh6.googleusercontent.com/3bx2npvY1WgRaEj4IbeWbY7WRDtECefvCae5E9TY4t03p2YPyisqojugeS9ZpePoUoE-EWhg70F90FTT3QBAZ2DL9CF6NKa0H1pc3sc-8oPF5wlYeAbUcCyhC3XBHCAOgxUXdWxo)

*A cool Internet of chickens project!*

 This covers the basics and gives a framework for introducing the concepts. Another exploration of this framing can be found in Derek Runberg’s [book on Processing](https://www.sparkfun.com/products/13313). How have you broken out computer science concepts in your classroom? 

 

- [Tweet](https://twitter.com/share)

### Subscribe to SparkFun Education Blog

### Topics

- [helpful information (79)](https://blog.sparkfuneducation.com/topic/helpful-information)
- [Maker Education (60)](https://blog.sparkfuneducation.com/topic/maker-education)
- [teaching tools (55)](https://blog.sparkfuneducation.com/topic/teaching-tools)
- [getting started (54)](https://blog.sparkfuneducation.com/topic/getting-started)
- [Guest Post (44)](https://blog.sparkfuneducation.com/topic/guest-post)
- [computer science (40)](https://blog.sparkfuneducation.com/topic/computer-science)
- [micro:bit (38)](https://blog.sparkfuneducation.com/topic/microbit)
- [student projects (37)](https://blog.sparkfuneducation.com/topic/student-projects)
- [STEM (36)](https://blog.sparkfuneducation.com/topic/stem)
- [programming (34)](https://blog.sparkfuneducation.com/topic/programming)
- [STEAM (31)](https://blog.sparkfuneducation.com/topic/steam)
- [Events (28)](https://blog.sparkfuneducation.com/topic/events)
- [Arduino (25)](https://blog.sparkfuneducation.com/topic/arduino)
- [robotics (20)](https://blog.sparkfuneducation.com/topic/robotics)
- [e-textiles (18)](https://blog.sparkfuneducation.com/topic/e-textiles)
- [Professional Development (17)](https://blog.sparkfuneducation.com/topic/professional-development)
- [basic circuits (17)](https://blog.sparkfuneducation.com/topic/basic-circuits)
- [What is a (16)](https://blog.sparkfuneducation.com/topic/what-is-a)
- [announcement (16)](https://blog.sparkfuneducation.com/topic/announcement)
- [makerspace (15)](https://blog.sparkfuneducation.com/topic/makerspace)
- [Community Partnership Program (14)](https://blog.sparkfuneducation.com/topic/community-partnership-program)
- [Training (13)](https://blog.sparkfuneducation.com/topic/training)
- [raspberry pi (13)](https://blog.sparkfuneducation.com/topic/raspberry-pi)
- [python (11)](https://blog.sparkfuneducation.com/topic/python)
- [AVC (10)](https://blog.sparkfuneducation.com/topic/avc)
- [paper circuits (10)](https://blog.sparkfuneducation.com/topic/paper-circuits)
- [Makey Makey (8)](https://blog.sparkfuneducation.com/topic/makey-makey)
- [SIK (8)](https://blog.sparkfuneducation.com/topic/sik)
- [Adventures in Science (7)](https://blog.sparkfuneducation.com/topic/adventures-in-science)
- [microcontroller (7)](https://blog.sparkfuneducation.com/topic/microcontroller)
- [Internet of Things (5)](https://blog.sparkfuneducation.com/topic/internet-of-things)
- [Processing (4)](https://blog.sparkfuneducation.com/topic/processing)
- [Javascript (3)](https://blog.sparkfuneducation.com/topic/javascript)
- [LilyPad (3)](https://blog.sparkfuneducation.com/topic/lilypad)
- [funding (3)](https://blog.sparkfuneducation.com/topic/funding)
- [weather (3)](https://blog.sparkfuneducation.com/topic/weather)
- [Insider (1)](https://blog.sparkfuneducation.com/topic/insider)
- [Johnny-five (1)](https://blog.sparkfuneducation.com/topic/johnny-five)

All Tags

### Recent Authors

- [Megan Hemmings (79)](https://blog.sparkfuneducation.com/author/megan-hemmings)
- [Maya Kleinbort (22)](https://blog.sparkfuneducation.com/author/maya-kleinbort)
- [Derek Runberg (21)](https://blog.sparkfuneducation.com/author/derek-runberg)
- [Shane Diller (16)](https://blog.sparkfuneducation.com/author/shane-diller)
- [Jeff Branson (15)](https://blog.sparkfuneducation.com/author/jeff-branson)
- [Angela Sheehan (12)](https://blog.sparkfuneducation.com/author/angela-sheehan)
- [Melissa Felderman (9)](https://blog.sparkfuneducation.com/author/melissa-felderman)
- [Megan Arnold (8)](https://blog.sparkfuneducation.com/author/megan-arnold)
- [Brian Huang (6)](https://blog.sparkfuneducation.com/author/brian-huang)
- [Shawn Hymel (6)](https://blog.sparkfuneducation.com/author/shawn-hymel)
- [Shelby Landsman (6)](https://blog.sparkfuneducation.com/author/shelby-landsman)
- [Jahnell Pereira (5)](https://blog.sparkfuneducation.com/author/jahnell-pereira)
- [Hailey Blessing (5)](https://blog.sparkfuneducation.com/author/hailey-blessing)
- [Mike Grusin (3)](https://blog.sparkfuneducation.com/author/mike-grusin)
- [Peter Hanson (3)](https://blog.sparkfuneducation.com/author/peter-hanson)
- [Andrew Milne (3)](https://blog.sparkfuneducation.com/author/andrew-milne)
- [Toni Klopfenstein (2)](https://blog.sparkfuneducation.com/author/toni-klopfenstein)
- [Joanna Drusin (1)](https://blog.sparkfuneducation.com/author/joanna-drusin)
- [Joe Romano (1)](https://blog.sparkfuneducation.com/author/joe-romano)
- [Mrinali P. Kesavadas (1)](https://blog.sparkfuneducation.com/author/mrinali-p-kesavadas)
- [Christa Flores (1)](https://blog.sparkfuneducation.com/author/christa-flores)
- [Michelle Shorter (1)](https://blog.sparkfuneducation.com/author/michelle-shorter)
- [Colleen Graves (1)](https://blog.sparkfuneducation.com/author/colleen-graves)
- [Janelle Curtis (1)](https://blog.sparkfuneducation.com/author/janelle-curtis)
- [Eric Bogatin (1)](https://blog.sparkfuneducation.com/author/eric-bogatin)
- [Athena Zhang Baker (1)](https://blog.sparkfuneducation.com/author/athena-zhang-baker)
- [Janice Levenhagen (1)](https://blog.sparkfuneducation.com/author/janice-levenhagen)
- [Carol Hamilton (1)](https://blog.sparkfuneducation.com/author/carol-hamilton)
- [Vanessa Lail (1)](https://blog.sparkfuneducation.com/author/vanessa-lail)
- [Bobby Chan (1)](https://blog.sparkfuneducation.com/author/bobby-chan)
- [Glenn Samala (1)](https://blog.sparkfuneducation.com/author/glenn-samala)
- [Zack Weaver (1)](https://blog.sparkfuneducation.com/author/zack-weaver)
- [Dr. Jean-Sébastien Blouin (1)](https://blog.sparkfuneducation.com/author/dr-jean-sébastien-blouin)
- [Daphne Sipes (1)](https://blog.sparkfuneducation.com/author/daphne-sipes)
- [Axel Reitzig (1)](https://blog.sparkfuneducation.com/author/axel-reitzig)
- [Justin Weisz (1)](https://blog.sparkfuneducation.com/author/justin-weisz)
- [Kylie Peppler (1)](https://blog.sparkfuneducation.com/author/kylie-peppler)
- [Michael Megliola (1)](https://blog.sparkfuneducation.com/author/michael-megliola)
- [Casey Kuhns (1)](https://blog.sparkfuneducation.com/author/casey-kuhns)
- [Rebecca Grabman (1)](https://blog.sparkfuneducation.com/author/rebecca-grabman)
- [Sylvia Martinez (1)](https://blog.sparkfuneducation.com/author/sylvia-martinez)
- [Charles Randolph (1)](https://blog.sparkfuneducation.com/author/charles-randolph)
- [Ira Sather-Olson (1)](https://blog.sparkfuneducation.com/author/ira-sather-olson)
- [Kathy Strickland (1)](https://blog.sparkfuneducation.com/author/kathy-strickland)
- [Pete Lewis (1)](https://blog.sparkfuneducation.com/author/pete-lewis)
- [Jamie Roth (1)](https://blog.sparkfuneducation.com/author/jamie-roth)
- [Mimi Tran Zambetti (1)](https://blog.sparkfuneducation.com/author/mimi-tran-zambetti)
- [Ryan Jenkins (1)](https://blog.sparkfuneducation.com/author/ryan-jenkins)
- [Kristen Deuschle (1)](https://blog.sparkfuneducation.com/author/kristen-deuschle)
- [Erika Myers (1)](https://blog.sparkfuneducation.com/author/erika-myers)
- [Sara Gonzalez (1)](https://blog.sparkfuneducation.com/author/sara-gonzalez)
- [Celeste Moreno (1)](https://blog.sparkfuneducation.com/author/celeste-moreno)
- [Samantha Nagle (1)](https://blog.sparkfuneducation.com/author/samantha-nagle)
- [Pearce Melcher (1)](https://blog.sparkfuneducation.com/author/pearce-melcher)

All Authors

### Recent Posts

### Submit Your Idea

[![SparkFun Education](https://www.sparkfuneducation.com/img/logo.png)](http://www.sparkfuneducation.com/index.html)

#### Other Resources

- [Contact Us](http://www.sparkfuneducation.com/contact-us.html)
- [About SparkFun](http://www.sparkfun.com)
- [FAQs](https://www.sparkfun.com/static/faq)

- [Customer Service](https://www.sparkfun.com/support)
- [Shipping](https://www.sparkfun.com/support)
- [Terms and Conditions](https://www.sparkfun.com/terms)

#### Sign Up for Newsletter

© Copyright 2016. All Rights Reserved.