Blog Post

What is Computer Science? A Quick Guide to Computer Science in the Modern World

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

  1. http://pgbovine.net/computer-science.htm

  2. http://cpsc.yale.edu/our-research

  3. http://whatis.techtarget.com/definition/MIDI-Musical-Instrument-Digital-Interface

  4. https://answers.yahoo.com/question/index?qid=20091231132309AAS9oFC

  5. http://digitalpublishing101.com/digital-publishing-101/digital-publishing-basics/under-the-hood-the-technology-behind-ebooks/

  6. http://www.techhive.com/article/2158040/how-netflix-streams-movies-to-your-tv.html

  7. https://en.wikipedia.org/wiki/Touchscreen

  8. https://www.lewisu.edu/experts/wordpress/index.php/computer-science-vs-computer-engineering-whats-the-difference/

  9. https://users.csc.calpoly.edu/~djanzen/secsdiff.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.