A Brief History and The Profession of IT

We'll get to the history of computing in a moment, but first, let's talk a little more about Information Technology (IT). What is it? How is it related to the discipline of Computer Science (CS)? If you are going to work with computers as part (or all) of your profession, what do you need to know? To answer these questions, let's compare IT to CS and take a look at a concept promoted by Dr. Peter Denning called, "Great Principles of Computing"*.

IT and CS
Definitions of IT vary, but in general, IT encompasses all fields that enable the use of modern digital technology to solve problems involving data/information. Professionals in Information Technology must be competent with a variety of skill sets. Some of these include technical skills, communication skills, leadership skills, general business knowledge, strategic thinking skills, the ability to manage with a global perspective, and the ability to lead and collaborate well with teams.

Computer Science is more technical in nature. It is the study of computation and the mechanical devices involved in computation. These computation processes and devices are designed or “engineered”. The processes have mathematical properties and can be evaluated for performance. The design and evaluation of a process is often very experimental in nature.

A comparison of IT and CS appears in the following table. An interesting analogy to help us think about the differences is that IT professionals learn to utilize the technologies and CS professionals create and define the technologies. There is a significant relationship (and overlap) between the two and it is always good to understand the technologies that you wish to utilize. Keep in mind that this is a simplistic comparison and it is more complex than this, but this is a good start.

IT versus Computer Science
IT is a very broad umbrella covering the related areas of computer science and engineering, Internet delivery and management, database management and data processing, human-computer interaction,and management information systems as to how these fields are used for business solutions. Computer Science considers more narrowly
hardware structures and design, software structures and design, data structures and design, algorithms, and performance and analysis of structures and algorithms.
The IT professional is the "architect" who uses existing products / applications and combines them for the solution.
The CS professional is the "engineer" who designs, or the "scientist" who discovers, new solutions.

Great Principles of Computing
When most people think of professions in computing, they automatically think that the only option is to become a programmer. In the paper, "Great Principles of Computing", Denning tries to present a method of teaching technology to show that it is so much more than just programming. If we take a look at what Denning points out as the core technologies of computing, we see that learning and performing programming is just one piece of what we need to learn about technology.

Core Technologies of Computing
Algorithms
Artificial Intelligence
Compilers
Computational Science
Computer Architecture
Data Mining
Data Security
Data Structures
Databases
Decision Support Systems
Distributed Computation
e-Commerce
Graphics
Human-Computer Interaction
Information Retrieval
Management Information Systems
Natural-Language Processing
Networks
Operating Systems
Parallel Computation
Programming Languages
Real-Time Systems
Robots
Scientific Computation
Software Engineering
Supercomputers
Virtual Reality
Vision
Visualization
Workflow

From this list of core technologies, many may miss the greater picture of what technology is all about. From this list, Denning has created a "principles-based" view of technology to bring the bigger picture into focus and to help us understand what we need to know in the study of technology

Denning breaks the study of technology into two parts, the first being computing practices. Computing practices enables us to put everything we know together to make it useful, supporting the abilities to program, engineer systems, build models of systems to help make predictions, innovate or make changes to procedures and organizations, and through the creation of applications to support people and their work.

The second part involves the great principles of computing, which is further broken down into those principles involved in design and those involved in mechanics.

Principles of Mechanics:

  1. Computation: What can be computed and what are the limits of computing?
  2. Communication: How can the transmission of messages occur from one point to another?
  3. Coordination: How can multiple entities cooperate to achieve a single goal?
  4. Automation: How can cognitive tasks can be performed by a computer?
  5. Recollection: How can information be stored and retrieved?

Principles of Design:

  1. Simplicity: How can we avoid complexity?
  2. Performance: How can we predict and enhance performance.
  3. Reliability: How do we keep devices and information available when needed?
  4. Evolvabililty: Can our design be adaptable to changes of function or scale?
  5. Security: How do we allow or limit access as needed?

Principles of Computing Mechanics deal with the structure and operation of computations. Knowing how the structures are built and work does not cover everything in the field of technology. The Principles of Design pick up to enable the mechanics to perform in the service of people. Computing Practices put everything together to bring this service to actuality.

So what?
This course is the first course in the study of Information Technology. Our hope is that this wider view of the study of technology may provide for a better understanding of the big picture. During our study of the core technologies, keep in mind why we are studying each topic and of the ultimate goals of the study of technology. We'll try to revisit the great principles as we go along. Also keep in mind that each core technology has its own history of creation and development. As you proceed through the history of computing, see if you can determine the context of that history and where it fits into the big picture.

* "Great Principles of Computing", Denning, Peter J.; Communications of the ACM; November 2003; Vol. 46, No. 11; pp 15-20.