Curriculum Vitae
Information for prospective employers in both academia and industry.
See the Portfolio page for a showcase of projects demonstrating the skills listed here.
Contents
- Personal Details
- Education
- Employment
- Volunteer Work
- Awards
- Teaching Experience
- Technical Experience
- Publications
Personal Details
Name | Adam Rehn |
Location | Cairns, Queensland, Australia |
Contact | adam@adamrehn.com |
Web | https://adamrehn.com |
ORCID | https://orcid.org/0000-0003-0205-0602 |
Education
- Queensland Certificate of Education (OP 2) Cairns State High School | Graduated 2008
- Bachelor of Information Technology with Honours (Class 1A) James Cook University | Graduated 2013
- Doctor of Philosophy (Information Technology) James Cook University | Graduated 2017
Employment
- Sessional Lecturer James Cook University | February 2013 - July 2017
- Casual Research Assistant James Cook University | May 2017 - September 2019
- Independent Consultant (Sole Trader) Various Clients | November 2016 - Present
- Co-Founder and Director TensorWorks Pty Ltd | October 2017 - Present
- Sessional Lecturer CQUniversity | February 2018 - October 2020
Volunteer Work
-
James Cook University Student Mentor Program
2009 - 2016
Mentored groups of new students during their first semester to support their transition into university study. -
Smithfield State High School
2016
Assisted in teaching Grade 12 students the principles of web development with HTML, CSS and jQuery. -
Freshwater State School Code Club
2016
Assisted in teaching Grade 4, 5 and 6 students the basics of programming using the Scratch programming language. -
Redlynch State College P-6 Code Club
2017
Assisted in teaching Grade 6 students the basics of programming using the Scratch programming language.
Awards
-
Excellence in Information Technology Award
Business Liaison Association | 2008
Awarded to a high school student interested in pursuing a career in IT who had demonstrated significant achievement in their IT-related school studies. -
Don Close Prize in Software Engineering
University Award | 2010
Awarded to the student with the highest grade for the subject CP2013: Software Engineering. -
Prize for Excellence in Third Year Bachelor of Information Technology (Cairns)
University Award | 2011
Awarded to the student with the highest overall GPA for their third-year undergraduate IT coursework subjects. -
University Medal
University Award | 2013
Awarded to students graduating with First Class Honours whose thesis grade fell within the top 10% across the entire university.
Teaching Experience
I have taught the following subjects in my capacity as a member of the sessional teaching staff at James Cook University:
-
CP3311/CP3408: Game Engine and Simulation
Semester 1 2013, 2014 & 2015 (Lab Instructor) | Semester 1 2016 & 2017 (Lecturer + Lab Instructor)
Taught students how to develop 2D and 3D games using the Unity3D game engine. -
CP1300: Programming II
Semester 2 2013 & 2014, Semester 1 2015 (Lab Instructor)
Taught students object-oriented programming principles using the Java programming language. -
CP1200/CP1404: Programming I
Semester 1 2014, Semester 2 2015 (Lab Instructor)
Taught students the basics of programming using the Python programming language. -
CP1500: Database Management
Semester 2 2014 (Lab Instructor)
Taught students the principles of designing and querying relational databases using SQL. -
CP3307: Mobile Programming
Semester 1 2015 (Lab Instructor)
Taught students mobile application development for both the Apple iOS and Google Android platforms. -
CP2402: Hardware and Software Fundamentals
Semester 2 2016 (Lecturer + Lab Instructor)
Taught students about the structure and function of operating systems, with a focus on IPC, synchronisation and memory management. -
CP3402: Content Management Systems
Semester 1 2017 (Lab Instructor)
Taught students how to create websites and custom themes using the Wordpress CMS. -
CP5310: E-Business Technologies
Semester 1 2017 (Lab Instructor)
Taught students about various web technologies, including client-side and server-side web languages, interchange formats, and protocols.
I have taught the following subjects in my capacity as a member of the sessional teaching staff at CQUniversity:
-
COIT13229: Applied Distributed Systems
Term 1 2018 (Lab Instructor) | Term 1 2019 & 2020 (Lecturer + Lab Instructor)
Taught students about the architecture of distributed systems, with a focus on client/server RPC mechanisms in the Java programming language. -
COIT11226: Systems Analysis
Term 2 2018 (Lecturer + Lab Instructor)
Taught students about the basics of the Systems Development Life Cycle (SDLC), including both waterfall and agile methodologies. -
COIT11222: Programming Fundamentals
Term 1 2019 (Lecturer + Lab Instructor)
Taught students the basics of programming using the Java programming language. -
COIT13234: Mobile Software Development
Term 1 2019 (Lecturer + Lab Instructor)
Taught students mobile application development for the Google Android platform. -
COIT11134: Object Oriented Programming
Term 2 2019, Term 1 2020 (Lecturer + Lab Instructor) | Term 2 2020 (Lab Instructor)
Taught students object-oriented programming principles using the Java programming language. -
COIT13235: Enterprise Software Development
Term 2 2019 (Lecturer + Lab Instructor)
Taught students how to develop multi-tiered enterprise applications using the Java EE platform. -
COIT13148: Special Topic (Unity Game Development)
Term 2 2019 (Lecturer + Lab Instructor)
Taught students how to develop 3D games using the Unity3D game engine. -
COIT12200: Software Design & Development
Term 1 2020 (Lecturer + Lab Instructor)
Taught students about advanced aspects of the Systems Development Life Cycle (SDLC) and basic multi-tiered application architecture.
Technical Experience
I have extensive experience working under and developing software for the Microsoft Windows, Apple macOS, and Linux operating systems, as well as experience developing for the Apple iOS and Google Android mobile platforms. I have developed cross-platform libraries and command-line tools, as well as servers and graphical applications, in a wide variety of programming languages. My recent work features a strong focus on automation and tooling to enhance developer workflows when building software with cloud-native technologies.
Listed below is a brief selection of the programming languages, libraries and frameworks that I have experience with.
Programming Languages
- C / C++ (including C++11/14/17)
- JavaScript / TypeScript
- Python
- Java
- C#
- R
Engines & Libraries
- Unreal Engine 4
- Unity3D
- Electron
- NVIDIA CUDA
- LLVM / Clang
- SciPy Ecosystem
Containers & Machine Learning
- Docker
- Kubernetes
- TensorFlow
- Keras
- Caffe
Publications
For a complete list of my academic publications, see the Publications page.