Posted: Tue, 01/19/2016 - 18:16
Even though our students are using technology everyday they do not know that Computer Science is more than just coding. Computer Science is not just programming. Programming is simply a tool that computer scientists use just as telescopes are used in Astronomy and chemicals are mixed in Chemistry1. In trying to bring depth to their shallow view of Computer Science and spark some interest, I decided to do some research and relate some of their common daily activities to Computer Science. I found an interesting article by Philp Guo1 that did just that. I have summarized the article and included some of my own in the table below.
Activity | CS Concept |
Web surfing | Searching algorithms, parallel computing, databases, web crawling, data mining, abstraction, communication protocols, web design |
Playing video games | Computer graphics, computer generated imagery, animations, artificial intelligence, machine learning, networking, client-server architecture |
Downloading multimedia | Networking, distributed algorithms, reliable networking protocols, error detection and correction, compression algorithms |
Online shopping | Network security, cryptography, databases, web programming, artificial intelligence, machine learning |
Using cell phones | Programming for embedded devices, networking, communication protocols, wireless networking, mobile applications, user interface, GPS technology |
Using websites like Facebook | User interface, security models, databases, search algorithms, visualization |
Booking flights and flying | Software reliability, communication protocols, networking, search algorithms, databases, path algorithms |
Watching movies with special effects and animated films | Animations, 3D computer graphics, computer generated imagery, visualization, computational geometry |
Making music | Algorithms, communication protocols, Musical Instrument Digital Interface (MIDI) |
Reading electronic books and using tablets | Touch technology, user interface, databases, app development, networking, web design, file compression algorithms, digital imaging |
Streaming online movies | Networking, routing, network mapping, content delivery architecture, reliable networking, databases, web design, user interface, network security, |
Fitness activity tracking using wearables like FitBit | Programming for embedded devices, networking, wireless networking, communication protocols, GPS technology |
Finding your way | Networking, wireless networking, GPS technology, user interface |
I also often get asked “What is the difference between Computer Science, Computer Engineering and Software Engineering?” All three of these disciplines have a lot of overlap since all of them work with data and devices. While Computer Engineering focuses on the hardware aspect of computers “from microprocessors to embedded computing devices to laptop and desktop systems to supercomputers” 8, Computer Science emphasizes on “how data and instructions are processed, stored, communicated by computing devices” 8. In addition to the areas covered by Computer Science, Software Engineering also deals collaborative software development, software architecture, testing, deployment, communication skills, management, and working with non-technical customers. I found this table at one of the college websites9 that clearly distinguishes between these three areas of study.
References
http://whatis.techtarget.com/definition/MIDI-Musical-Instrument-Digital-Interface
https://answers.yahoo.com/question/index?qid=20091231132309AAS9oFC
http://www.techhive.com/article/2158040/how-netflix-streams-movies-to-your-tv.html
Sangeeta Bhatnagar is a high school Math and Computer Science teacher in San Jose, CA. She has been teaching Exploring Computer Science (ECS) and AP Computer Science A for last five years. She is piloting the AP Computer Science Principles course this year. Sangeeta also works as an ECS facilitator.