Thursday, 26 Nov 2020
Education

What Is Theoretical Computer Science (And Should You Pursue It)

What’s the difference between computer science and theoretical computer science? Theoretical computer science emphasizes mathematical techniques and the unrealized possibilities in computer science.

That may sound abstract. But computer science is one field where philosophical abstractions are relevant. From artificial intelligence to hacking to quantum physics, the theory side of computer science is front-and-center to cutting edge developments.

Read on to learn more about theoretical computer science. You may decide to pursue it yourself.

Foundations of Theoretical Computer Science

In the early 20th century, German mathematician David Hilbert developed the Hilbert program. This wasn’t a program in the computer programming context. Rather, it was a program in the academic sense of organized research.

The goal? To identify all presumed mathematical truths, join them, and prove their mutual compatibility.

More fundamentally, Hilbert was attempting to answer a crucial question in mathematics—can math ever achieve its basic purpose? In other words, can the symbols and operations of math be anything more than symbolic?

Enter Kurt Gödel. According to Gödel’s incompleteness theorem, the answer is a resounding “no.” This leaves questions about the possibilities and limits of computation.

Theoretical computer science is in some sense connected to theoretical mathematics. One key premise they share: we likely can’t know everything. So then what can we know?

Topics in Theoretical Computer Science

Theoretical computer science is relevant to many domains of applied computer science. A partial list includes:

  • Cryptography—how to achieve secure communication by transforming information
  • Algorithms—the development of conditional rules sets (“if/then”)
  • Data structure—how to organize information for efficient use
  • Machine learning—how machines can mimic human mental processes
  • Quantum computing—using principles of quantum mechanics in place of traditional binary principles

Again, this is only a partial list. The reach of theoretical computer science is far and wide.

Careers in Theoretical Computer Science

Many careers in this field are academic, focusing on research and teaching. That’s true of most theoretical fields, whether they have practical applications or not.

Beyond the academic setting, it’s also possible to find work in the private industry. That includes consulting work—either solo or with a firm—and in-house work as an employee.

Any high-tech field business could find itself in need of theoretical computing expertise. That said, particular fields are more likely to have such a need. Examples include the topics listed above—and more.

Preparation for Theoretical Computer Science

Are you interested in pursuing theoretical computer science? If so, it’s important to have a strong grounding in both mathematics and computer science. You can get a lot of core training from school. But if you’re passionate about the subject, you can learn a lot more on your own.

Educational Paths

If you’re accepted to a college that offers a major or minor in theoretical computer science, that’s a solid option. Otherwise, you could balance your training between mathematics and computer science. It also helps to have some training in philosophy.

Many computer science theorists pursue post-graduate training up to and beyond the doctorate level. That’s particularly helpful if you plan to teach and publish.

If you’re interested in combining theoretical computer science with another domain, then other degrees could come in handy. For example, if you want to focus on machine learning, AKA artificial intelligence, then you could pursue extra training in that field.

Practical Skills

Certain skills are important for most careers in computer science. Whether you’re coding web pages with CSS and HTML or developing machine learning algorithms with Python, these will prove invaluable.

Command-line interface (CLI)—This is a computer’s terminal interface, where a user types command rather than clicking them with a mouse. Here’s a simple command-line cheat sheet.

Regex—Regex is short for a regular expression. It’s a method for analyzing text and picking out patterns. Here’s a simple regex cheat sheet.

Text editors—This is often where you’ll write and edit code. You can do this through a graphical program like Sublime Text. Some people prefer the power and flexibility of the early CLI program, Vim. Here’s a simple Vim cheat sheet.

Where to Learn More

The exciting field of theoretical computer science is changing all the time. Here are some resources to learn more about the field and keep up with new developments.

Prominent journals in the field include:

Groups and associations include:

Events and conferences include:

Websites with more information on theoretical computer science:

That’s enough to get you started.

The Future of Computing Belongs to Theorists

Now you know the basics of theoretical computer science. It’s an intellectually stimulating field, packed with challenges and real-world implications.

Were you intrigued by this brief introduction? If so, you should spend some time studying topics in computer science and mathematics. That way, you’ll know for sure if your interest is strong enough to build a career on.

Curious about other topics? Look around our site for more fascinating articles!

Post Comment