The Virtual Chemistry Set of the 21st Century

It is beyond clich? to say that most New Year's resolutions are forgotten by the second week of January. Similarly, I've noticed that spring cleaning rarely has the impact it was intended to have.

The best time to work on self-improvement is during the summer - when the days are longer, the weather is warmer, and people feel altogether happier and sharper.
If you are looking to improve your professional skills this summer, few things will help you as much as picking up some basic computer programming experience. Learn- ing how computer programs are used to automate tasks and how you can manipulate them to work for you will improve your efficiency at work, give you a sense of satisfaction, and empower you to focus more on the creative and intellectually stimulating parts of your work. I'm not suggesting that you start by creating your own applications, but instead that you acquaint yourself with the more advanced tools that are available in the applications you already use.

Build on what you already know

If you spend most of your time working in Excel, pick a few keyboard shortcuts from the menus and make a concerted effort to use them regularly. If you find yourself doing a repetitive task, spend a few minutes searching online to see if there's a faster way. You can create some very simple keyboard macros, then look at the Visual Basic scripts behind them and tweak the scripts to do more tasks or do tasks better.

To help you improve your Excel skills, ChEnected features a series of tips called Excelling with Excel. More-advanced training is available with the AIChE eLearning short course, "Spreadsheet Problem-Solving for ChemEs."

If your work involves discreet data, try to use Microsoft Access to solve some of your automation tasks. There are plenty of free tutorials online that will walk you through creating joins graphically and that will empower you to work with larger datasets more efficiently.

If you are working in engineering-specific software like Aspen, look into the alternative view modes for a textual explanation of the diagrams in front of you. Although the visual representation of a process is easier to understand at a glance, understanding the underlying code that represents the diagram will unlock additional features and improve your workflow. Like the character Cypher in The Matrix tells us, "You get used to it. I don't even see the code. All I see is _____." Fill in the blank: pump, mixer, heat exchanger, etc.

Readers seeking a refresher on the fundamentals of HTML coding can learn for free with the interactive exercises presented at the site

The move from text to visualizations

With improved technologies that enable instantaneous and archived video transmission, much of the work we do is moving toward graphical representations and textual shorthand that would be incomprehensible to Shakespeare, Chaucer, or even Orwell. Although I hope that students never stop learning proper, written English, I suspect that writing five-page essays will become less important in the near future. Students will instead pick up elementary programming, starting with graphical instructions sets (I recommend the open-source program Alice, which is aimed at elementary school students) and continuing into high-level object-oriented languages.

Being able to not only use a computer, but also instruct it to do something new, transforms the casual user into a creator and can provide unparalleled satisfaction for the novice programmer. Although we are not manipulating actual machinery the way our parents may have in college, we have the ability to do much more with much less. Basic computer programming opens up not only the ability to automate tasks, but also enables the creation of movies, music, and games, as well as new custom-designed applications.

Using these potential outlets to motivate students to study a fundamentally academic discipline is akin to the chemistry set of the 21st century, without the risks of fire or mercury poisoning.

Job security through new skills

Some of the world's most innovative and successful people have come together to form, an initiative that aims to raise awareness of the need for computer science education at every level. claims that by 2020 there will be one million more jobs in the U.S. that require computer scientists than there will be students graduating with computer degrees to fill those jobs. There will also be many more jobs that can benefit from familiarity with the same skills. Chemical engineering graduates have experience increasing the efficiency of large processes and will be particularly equipped to take on those opportunities.

Steve Jobs famously stated that everybody "should learn how to program a computer because it teaches you how to think." If any academic discipline forces students to think at the most fundamental level, it is chemical engineering. By combining the lessons of both disciplines, chemical engineers with programming experience are in the best
???position to succeed.

What's your summer self-improvement project?

This article appeared in the July issue of CEP Magazine, which is available to members online, including an extensive archives of back issues.


Nemoy Rau's picture

Great piece! Another big help is to look into MOOC classes to definitely keep learning and expanding your skills. Just because you finished your MBA or UG in Chemical Engineering doesn't mean you can keep stopping with school. Keep learning!!!!

You may or may not want to be a programming expert, but the most valuable ability from learning a programming language is to gain a grasp of the underlying logical concepts. For example, it's vital to get the idea that "A=A+1" isn't algebra but is a computation with re-assignment of the value (compute A+1 and replace the original A with this value). Likewise, looping is not only a way to carry out repetitive steps, but it also can be used to explain the power of GPU and other vector-supercomputing processors. The language C is probably the most valuable programming language to be savvy about. Marshall Brain's "How Things Work" website has a terrific introduction ( With C, you can expand to C++, GPU-programming tools like CUDA, and smartphone-app coding with C#. Also in my experience, (mentioned in Arjun's blog post) is great for learning Python, a computation-focused programming language that is also widely used for scripting within software systems like LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator, a classical molecular dynamics code).