Princeton University undergraduate Charles Zhao first became enthralled with computer science in middle school, when he received a TI-84 calculator that allowed him to dabble in programming. Before long, he had created so many programs on the device that he needed to transfer some to his computer.

“The immense power of computing fascinated me,” Zhao recalled, “and I was in love with the feeling of creating programs that in turn produced immediate results.”

ORNL Participant Profile: Charles Zhao

As a participant in the Higher Education Research Experiences Program at Oak Ridge National Laboratory (ORNL), Princeton University undergraduate Charles Zhao contributed to two projects on ORNL’s Scientific Software Development Team.

While attending high school, Zhao surrounded himself with like-minded peers who shared his interest in computer science and who motivated him to pursue his passion further.

Looking to gain research experience in the field, Zhao recently participated in the Higher Education Research Experiences (HERE) Program for Scientific Software Engineering at Oak Ridge National Laboratory (ORNL).

Under the mentorship of Gregory Watson, Ph.D., a senior research scientist on the Scientific Software Development Team within ORNL’s Computer Science and Mathematics Division (CSMD), Zhao contributed to two projects during his 10-week HERE appointment.

The first was related to Profiles, a new ORNL web-based biographical information service that consolidates researchers’ information into one place and allows them to display targeted information for different purposes.

“(Profiles) will make it easier for researchers to apply for things like funding and conferences, since they can simply choose what parts of their existing information they want to display in a given profile,” Zhao explained.

With guidance from Watson, Zhao helped develop a command line interface (CLI) for Profiles that scrapes data from researcher biographies on the CSMD website, as well as their address information from an internal lab database. Zhao also contributed to the development of the Profiles server and user interface.

Zhao’s second project dealt with the Eclipse XACC (eXtreme-scale Accelerator), a software framework that, among other things, allows programmers to write their code in one quantum language and then execute that code on various quantum computing backends.

Under the direction of Alex McCaskey, an ORNL research staff scientist, Zhao used a parsing tool called ANTLR to assist in writing a compiler that parses and translates the IBM OpenQASM quantum language to the XACC intermediate representation. He then used ANTLR to help rewrite XACC compilers for the Rigetti Quil and ProjectQ quantum languages, making these compilers more robust.

Zhao gained invaluable experience as part of the team that designed the CLI architecture and readjusted code for the Profiles development effort. Through his involvement on the Eclipse XACC project, Zhao learned about language parsing and compiling, and got a glimpse of the field of quantum computing.

Zhao’s favorite aspect of the HERE internship was being part of a team “that truly wanted me to grow.”

“The team I collaborated with was both supportive and laid back,” he said. “I had a lot of freedom, but expectations were clear and help was always available.”

Zhao is pursuing a bachelor’s degree in computer science at Princeton. In the short term, he hopes to continue to explore different areas of the field while deepening his current knowledge.

He highly recommends the HERE program to other students interested in STEM disciplines.

“HERE has given me real-world experience at a world-class institution,” he said. “It has broadened my horizons while further cementing my passion for computer science, and will have lasting impacts on my future career decisions.”

The HERE program at ORNL is administered by the Oak Ridge Institute for Science and Education (ORISE) for the U.S. Department of Energy.