Cracking the code

Xiaoying (Sharon) Gao believes programming is an essential skill everyone should learn—and her aim is to make it accessible to all.

Sharon, an Associate Professor of Computer Science in the School of Engineering and Computer Science, has dedicated her academic career to introducing first-year Computer Science students to programming, a notoriously difficult skill to master. Four years ago, she developed a new first-year programming course that removed some of the barriers to learning the skill.

“The course is called ‘Programming for the Natural and Social Sciences’, but I think it should be called ‘programming for everyone’. I really think programming is a skill everyone should know.

“Computers are everywhere, and so many people can benefit from learning this skill. My passion is making programming accessible to all.”

The course is also notable for addressing gender disparity in computer science, which is another of Sharon’s passions. Sharon joined the School in 2000, when it was the School of Mathematical and Computing Sciences, and initially she was one of the few female academics in the School.

“Now things have changed—we have seven female academics in the School. Having more female staff members is so important, because it shows our female students that there’s a place for them in this field.”

Sharon began her academic journey studying mechanical engineering in China, but when she discovered computer science during her Master’s year, she immediately switched her focus. She then moved to Melbourne to complete her PhD under the guidance of Professor Leon Sterling, a pioneer in expert systems and logic programming.

The move was the right one for her career, but culture shock meant it came with significant challenges at first.

“In China you always have your own group, and you do everything together—you study together, you eat together, you live together. I lived in a dormitory with seven other women for four years, so we became like sisters.

“When I studied in Melbourne, I knew no one, and it was a challenge at first. I was lucky that my husband joined me a year later, at a university that was just 10 minutes away. He followed me to Melbourne, and then he followed me here!”

Sharon’s husband, Professor Mengjie Zhang, is also based in the School of Engineering and Computer Science. The pair have a daughter, who has also shown a very strong interest in computer science.

Despite the demands on her time, Sharon has been able to stick to her goal of regularly learning new skills, including snowboarding, skiing, ice skating, and diving.

“Life is not just about career, or family. There has to be something for yourself.

“I fell in love with snowboarding at first sight—I thought it looked so cool! In my first class, I fell so many times. There’s a lesson for my students in that. Programming is not something you can learn from just reading a textbook. It’s like snowboarding—you have to learn it by doing it.

“It also shows my students what they can achieve. When I talk to my students, some of them say ‘Programming is too hard. Coding isn’t my thing.’ If I tell them I can complete an online programming course in one week, they’ll say ‘Well, that’s your area! That’s not surprising.’

“So instead I tell them: Look, at my age, I can learn how to snowboard. What lesson can you take from that?”