Dr Paul Vrbik’s path to becoming a computer scientist began back in high school, where he would program his computer to solve maths problems for his homework.
"I found computer science by way of mathematics," he says.
"In maths, we learn a lot of cumbersome formulas that need to be carried out precisely in order to solve equations."
"I discovered I could solve these equations faster and more accurately by programming my computer to do so, and I became quite good at it."
Paul’s teachers noticed his proclivity for mathematical computing and pushed him in that direction following high school. And now he's a lecturer in UQ’s School of Electrical Engineering and Computer Science.
Paul currently teaches 2 courses in the Bachelor of Computer Science program, each offering a distinct perspective on the world of computing.
"In the Introduction to Software Engineering course, my students learn what a computer is (the answer may surprise) and how to instruct a computer to run a task using a programming language," he says.
"By the end of the term, students are able to write a simple interactive game like chess, the puzzle game 2048, or Sokoban."
Paul’s favourite course to teach is Functional and Logic Programming, because he says it shows students a totally different way of instructing a computer.
"Traditionally, the order of the instructions matters, whereas in functional programming it doesn't," he says.
"This helps students to have a different point of view, while adding new tools to their programming toolbox is invigorating."
Where simplicity meets innovation
Paul’s love for computer science is evident when you speak to him. His knowledge is deep, and he can recap historical facts about computer science quickly (and with a lot of enthusiasm).
One fact he finds particularly interesting is that many of the pioneers of computer science were women.
"The first computer programmer was Ada Lovelace, who wrote a program for computing Bernoulli numbers for a computer called the Babbage engine," says Paul.
"In her writing, she actually supposes that one day computers will be able to encode and play music back, which was an incredible insight for someone centuries ago."
Paul also believes the essence of computer science is simple.
"What I love about computer science is that even the most sophisticated programs we write, like the ones that drive cars or answer your ChatGPT questions, all boil down to a sequence of arithmetic operations," he says.
"We only need a handful of basic commands to implement programs of arbitrary sophistication."
Advice for future students
For high school students considering a path in computer science, Paul offers encouraging words and advice.
"Do it! And start now," he says.
"There are many excellent tutorials and courses that one can take online. Know that it will be hard at times, but that’s okay. Writing programs requires patience and precision, and sometimes you spend a week searching for a misplaced semi-colon."
Where will you start your computer science journey?