The staff pick for this blog comes from Tommy Gober, one of NICERC’s Curriculum Development Specialists.
I am really excited about all the attention computer science has been receiving with the launch of our new NICERC Computer Science curriculum. NICERC’s Computer Science curriculum is built to guide students and teachers alike as they tackle the College Board’s new AP Computer Science Principles competencies.
Computer Science in schools has been growing in popularity. The allure of technology jobs has ensured a steady stream of interest in the field. The explosive growth of the tech sector over the years has fueled continued interest. In January 2016, the White House launched the new Computer Science for All to raise student participation in this fascinating field that impacts our modern world.
One of the concepts covered in our Computer Science course is data storage and arrangement in computer memory. Most computer users don’t consider the number of different ways computers store and retrieve data. Finding the best method for storage and retrieval is an ongoing discussion in computer science. For example, if you have a file cabinet full of folders with employee information on those folders, how would you sort them? The answer somewhat depends on how you will reference each person. Most of us would say you would sort the folders based on the employee name, but do you sort based on first name or last name? It’s also possible to sort the employees by their employee ID number or their hire date. So there’s never one answer to the “best” way. Computer storage works much the same way.
If you have a disorganized list of numbers, how do you sort those numbers? The simplest method would be to start with the first number and compare with the next. If the first number is greater than the second, swap places. If not, move on to the next number. Do this over and over until you get to the end then start back at the beginning and repeat the process until the numbers are ordered. This process is known as the “Bubble Sort” because the larger numbers will “bubble up” to the top of the list. As stated, this is the simplest method, but it is also the most labor intensive of the methods. There are much faster methods, but the complexity of the method increases. Right there you can begin to see the dilemma some programmers face: do I want to make understanding the process easy and spend my time sorting or spend my time understanding the process so sorting is easy?
Expressing a process, like the sorting process explained above, is known as an algorithm. Algorithms may seem like a daunting concept at first, but with the Bubble Sort we just explored, you’ve already got a starting point. In the NICERC Computer Science curriculum, students walk through algorithms, discover that programming is not difficult and can actually be enjoyable (something teachers using Cyber Literacy have surely discovered with our robotics materials!), and receive hands-on access with the Raspberry Pi computer platform.
To gain access to our Computer Science curriculum along with a multitude of other great lessons for middle school and high school classes, click here.