How is Discrete Math Relevant to IT and Business?

Introduction to Decision Systems

One recent change to the Information Technology programs at Globe University is the replacement of the required Algebra II course (that greatly covered exponents, logarithms, and trigonometry) with a required course on discrete math.

Some of you may wonder about the rationale for this change. In this post, I will point you to some background reading and provide some specific examples of how discrete math is relevant to IT and business professionals.

Let me preface these remarks with the following: Trigonometry, logarithms and exponents are still important—just not as important as discrete math. If you can take Algebra II as well as the new required course, you should do so.

The new course, called “NS320 Introduction to Decision Systems,” uses a book entitled “For All Practical Purposes 8th edition,” COMAP, Freeman 2009. In this course we cover several interesting topics that together form much of the mathematical foundation of management science and the computing disciplines.

To learn more about the mathematics relevant to IT professionals, I direct you to a volume published by the Association of Computing Machinery, “Computing Curricula Recommendations: Information Technology Volume,” approved by the ACM/IEEE committee on curricula recommendations in September 2008. The publication is in *.pdf format online. Also, you will find several other publications, most notably the Overview volume, that helps folks understand the five computing disciplines recognized by most in the U.S. and how they overlap or are differentiated from one another.

It is important to realize that IT is a relatively young academic discipline. Very few laymen and in fact very few computing professionals and academicians understand IT. By circulating the information in the curricula volumes above, we may break down any barriers to understanding and dispel misunderstandings about what IT “is.” The curricula volumes are not meant to be decisive, however. In fact, the authors fully acknowledge that the assertions within those volumes represent only the current consensus among experts and further that they fully expect the contents will need to be updated several times in the coming decade, as technology and the field are expected to evolve quickly.

I hope you find the curricula volumes, and the specific examples below, to be helpful.

What is Discrete Mathematics?

Discrete math is the math of the countable. Discrete mathematics is a collection of topics that do not fit neatly into any of the dominant mathematics topics. There is algebra, statistics, geometry, trigonometry, calculus and linear algebra. Discrete mathematics topics are generally outside of all of these topics, yet they have a tendency to inform and sometimes cross the other mathematical disciplines. Discrete math is the math of:

  • Sets
  • Logic
  • Relations
  • Structures
  • Trees
  • Graph theory
  • Groups
  • Finite state machines (computers)

These topics are rarely covered in-depth in a high school curriculum, although this may change as we delve deeper into the information age.

Within collegiate mathematics departments, discrete math is relatively new on the scene. The rise of computing and the influence of computing academic faculty members resulted in many mathematics departments offering a course on discrete topics. In other cases, the computing departments offer these courses themselves because often the computing professors are most qualified to teach these courses.

At my alma mater, St. Cloud State University, discrete math was taught by the mathematics department, but the computing department offered its own course on programming logic that complemented the topics in the discrete math course. Both of these courses were sophomore-level courses. We could easily fill a three-quarter sequence with discrete topics, but we, like most schools, work many of these topics into our computing curriculum. We introduce discrete topics within the context of the computer programming course sequence and later classes.

As we discussed earlier, many of the discrete math topics are also of interest to management science students as well. Given that information technology is one computing discipline that is heavily influenced by management science, I expect to see information technology graduates who are successful in their careers to rise as operations management stars.

Examples of real-world applications of discrete mathematics:

The computer is a discrete computation machine

Therefore, any discrete mathematical models are very helpful as they are very easy to implement in computer code. Additionally, an understanding of discrete math is helpful to understand how a computing machine works. It helps to dispel the “magic box” metaphor.

Graphs

In mathematics, “graphs” has two meanings. Within this context, a “graph” is a discrete structure. It is a network of nodes that are connected with edges.

Graphs are composed of two sets, nodes and edges. An edge connects two (not necessarily different) nodes. Laymen may call graphs “networks”, as graph theory is most prominent in networking problems. A network could be a system of roads, a system of telephone lines, or an intranet network, such as the one that connects your computer to the others in your building.

The language and algorithms of graph theory will help the IT student think and communicate in a clear way with other computing professionals when discussing network architecture and real world networking problems. Some graph problems do not have efficient algorithms to solve them. Recognizing so-called “hard” problems is the first step toward determining that it may be best to not attempt to solve the problem yourself. If confronted with a “hard” problem find a computer scientist, or consult the literature, rather than duplicate that work on a possibly unsolved problem yourself. A company pays an IT professional to solve real world problems—not to work on the open and unsolved problems—that’s what computer scientists are for.

By the way, graphs are only one fundamental example of a discrete structure. Other discrete structures include lists, queues, deques, trees, and hash tables and are covered in computer programming classes. The these are all easier understood by students who have been adequately prepared with an introduction to graphs.

Gantt Charts

Gantt charts are used to model scheduling problems and are widely used in management sciences, especially project management, and operations management. Scheduling problems as a general class are NP-Hard and NP-Complete.

Addressing the general scheduling problem is beyond the scope this class and again, outside of what an IT professional should be doing. Using mature scheduling software that incorporates the work of computer scientists and operations researchers is what an IT professional should be doing. To do so effectively, again, an understanding of the fundamentals and the difference between problem classes is very helpful.

Discrete Probability and Information Science

Passwords and encryption keys are designed to be difficult to ‘crack’. Cracking an encryption key or a password by a brute-force attack is highly improbable. How improbable? Discrete probability provides us with the mathematical tools to determine just how good our security policies and practices are.

However, some companies have policies that actually cripple security encryption or password measures. For example, effective password strength may be quite weaker than theoretical password strength. This can be calculated by analyzing a company’s policy or practice.  Imagine that Company A has problems with users who forget their passwords. Therefore IT recommends that users create easy to remember passwords by combining any two words that have a combined number of letters greater than eight. How many combinations is that? How much easier is it now to guess someone’s password?

Discrete probability gives us the tools we need to answer these questions. Concepts here are also the foundation of cryptography and cryptanalysis. These and other information hiding and uncovering techniques are discussed and covered deeply in upper-level IT classes.

Voting Systems

Many companies use business intelligence systems. These systems may seem to work by a “magic” to those with little understanding of artificial intelligence concepts.

The use of a balloting system to make decisions is in our culture for a reason. It is a way for us to form a kind of mass-mind; a gestalt. This concept is often extended into computer systems.

For example, a network contains many computers, some of which are controlled by pirates. How do we determine which computers are bad? One way is to have a network traffic monitoring program on each machine that periodically casts votes regarding the most reliable computers in its immediate neighborhood. Those that get few votes will get less traffic.

Another approach could include sampling packets sent that are received by the intended recipient. Counting the machines that were involved in losing each lost packet could help us determine which computers were involved in transmissions that were not properly received. The machines that receive the most counts are the most likely suspects of being controlled by pirates.

Game Theory

Game theory is a cartoon-like window into the world of economics. Game theory provides a way to model and forecast the behavior of competitors and the possible outcomes from a competition. Many business decisions may have unanticipated repercussions as competitors may “fight back.”

A computer programmer can use to these tools to model her own (customer’s) business decisions and make forecasts. Again, the computer scientists and operations researchers are the ones who write the programs, but it is often the IT professionals who will be best qualified within a company to properly use such a program.

Linear Programming, Business Applications and Problem Solving Skills

There is a close kinship between IT and business. The pervasive theme of this course is to discuss business problems and methods used to model and solve these problems. IT professionals are problem solvers who specialize in using their tools to solve business problems.

Additionally, the exact same tools that we use today to solve business problems can be used to solve computing problems. Perhaps not all IT professionals are as good at solving problems as they could be, since many have not been adequately prepared.

Summary

A college degree goes beyond merely plugging things in and seeing if they work. Our graduates will be adequately prepared to become problem solvers and leaders in their profession.