Computing, or Computation Science, is now considered the third pillar of scientific inquiry, alongside theory and egperimentation. It is also a natural science, not an artificial one, and highly interdisciplinary. Computing practitioners can find careers in dozens of fields.
Biology. “Biology is today an information science. The output of the system, the mechanics of life, are encoded in a digital medium and read out by a series of reading heads.” — David Baltimore
Business management processes, like workflow and commitments.
Evolution of social networks, ecomomies, political organizations.
DNA Transcription. Yep, that’s running a program. It ain’t magic.
Particles and their interactions in quantum mechanics. Quantum waves carry information.
Chemistry. Remember those equations? 2H2 + O2 → 2H2O + E is a computation.
Neurons? Brain function? Thought processes? Consciousness? Information is flowing!
Computing is a natural science. Computation is a principle, not a tool.
Exercise: Find answers (via an online search if you wish) to the question of how many bits per second can the conscious mind process. Which researchers came up with that value? How did they measure that?
Disciplines Within Computing
Computing, a.k.a. Computation Science, or Informatics, has several subfields:
Computer Science (CS)
The theory and practice of computation, algorithms, software systems, data organization, knowledge representation, language, intelligence, and learning.
Software Engineering (SE)
The design, organization, and construction of large-scale, often mission-critical (software) systems, with a focus on product efficiency, reliability, robustness, testing, maintenance, and cost-effectiveness.
Computer Engineering (CE)
The design of digital systems such as communications systems, computers, cell phones, digital audio players, digital video recorders, alarm systems, x-ray machines, and laser surgical tools.
Information Technology (IT)
The construction, maintenance, and troubleshooting of an organization’s computing infrastructure (both hardware and software), including networks, email systems, web sites, databases, and telephony. IT work generally involves configuration and upgrading in addition to programming.
Information Systems (IS)
The design of computing solutions for companies, non-profit organizations, educational institutions, and governments to support their mission and improve their effectiveness. IS is generally taught in business schools.
Questions
The four questions that have motivated advances in the field of computing:
What is computation?
What is information?
What can we know through computing?
What can we not know through computing?
Principles of Computing
Of course it’s important to focus on technical details of computing systems to make things happen, but it’s also useful to take an academic big picture look at the field and ask about its big ideas or undelying principles. In 2007, Peter Denning catalogued what he called the great principles of computing. He grouped these principles into seven categories.
There’s no rule saying these are be-all and end-all of computing catgories, and given that they were dreamed up in 2007, perhaps things have changed?
Exercise: These principles sure seem engineering-influenced, or science-influenced, or technology-influenced. Can you think of any socially-influenced themes that might suggest a new category, or a different structure for this ontology?
Myths about Computing
The following myths have done a lot to harm the image of computing as a field and kept much-needed talent away:
The only people that study computing are game-playing, socially inept, nerdy, male, geeks.
All the jobs in computing are being offshored.
Computing is only about programming desktop computers.
Computing ended with the dot-com bust.
There’s no real field of computing, anyway, it’s just a minor part of other fields—my art class or business class will teach me all I need to know to be a great programmer.
Let’s go back in time to 2012. What were computers like then?
Computing in the News
Please visit ACM TechNews. This should show you that computing goes way beyond the popular limited perceptions of the discipline.
Careers
If you have a good, solid
undergraduate education in Computing (especially Computer Science), you will gain skills enabling you to go on to lucrative careers in:
Biology, Genetics, Computational Biology
Medicine, Medical Imaging
(Web) Search, Data Mining, Information Retrieval
Online Music and Movie Distribution
Entertainment: Film, Television, Animation
Gaming
Mobile Devices and Applications
Security, Defense, Cyberwarfare
Aerospace
Transportation
Business, Law, or Medicine. (Professional schools in these fields love to get new students with a technical background, who tend to naturally have good logical and analytical skills.)
Here’s another one: Live Coding is programming as a performance art. From Wikipedia:
Live coding ... is a performing arts form and a creativity technique centred
upon the writing of source code and the use of interactive programming in an
improvised way. Live coding is often used to create sound and image based
digital media, as well as light systems, improvised dance and poetry, though
is particularly prevalent in computer music usually as improvisation, although
it could be combined with algorithmic composition.
Here’s a little Sonic Pi performance:
Exercise: Explore Sonic Pi. Optionally, practice building some tracks. At the end of the course, consider giving a live coding performance to the class.
There’s this term you might have heard: computational thinking (CT). It was used a bit near the turn of the century. Now, not so much. What does it mean?
Exercise: Read both the Wing and Barba articles. Barba refers to Papert’s Power Principle. What is the Power Principle exactly?
Careful about putting too much on to the “computational thinking” aspect, though:
...our goal should not be Computational Thinking, but Science, Mathematics, History, Engineering, and Everything Thinking. Computing is a tool that can be used to learn everything else better. The root of that argument is in the roots of our field.
Computing has elements of science, art, craft, and engineering. Computing practice is generally very collaborative and also interdisciplinary. To do well, you should possess various soft skills in:
Teamwork
Verbal communication
Written communication
Time management
Problem solving
Flexibility
and you should have the following personal attributes:
Patience. This stuff takes time.
Tolerance of ambiguity. Requirements don’t always make sense.
Collegiality. This field is collborative, you can’t do things by yourself.
Appreciation for diversity. Others will have completely different ideas and approaches than yours, and they may be right.
Work ethic. This stuff is hard. (If it were easy, do you think the industry salaries would be so high?)
Identification of opportunity. There always seem to be ways to improve, but you have to know where to look.
Risk tolerance. You’re going to have to try things that may blow up.
Sense of social responsibility. Because computing is for the common good, don’t put others down.
Gender issues in the computing field are often in focus; here are some interesting resources for learning more:
It’s not just gender that gets discussed in the world of tech; there are larger issues surrounding race, allyship, intersectionality, you name it. The idea of belonging in tech is a subject of study. More resources:
Thanks to friends at Google and UpperlineCode for curating a good portion of this list.
Occupational Outlook
Jobs for graduates with degrees in Computer Science or Software Engineers remain plentiful. Check out the U.S. Bureau of Labor Statistics Outlook for the following professions in the Computer and Information Technology sector: