Dr Nasser Giacaman

At the University of Auckland: PhD, BE with 1st Class Honours in Software Engineering, PGCert in Academic Practice.


Nasser commenced his relationship with the University of Auckland in 2002 as a student in the Bachelor of Engineering (Honours) programme, followed by a PhD in the Department of Electrical and Computer Engineering (ECE) completed in 2010. 

During 2010 and 2011 he lectured in the Computer Science department (Faculty of Science) while undertaking his post-doctoral study in ECE, before being appointed as Lecturer in the Software Engineering programme in September 2011.  

His disciplinary research interest includes Parallel Programming, particularly focusing on high-level languages in the context of desktop and mobile applications running on multi-core systems. A number of tools stemming from his PhD have been released to the open-source community on the ParallelIT website

Following the completion of his PGCert in Academic Practice in 2014, he is now researching Software Engineering Education by driving the development of tools and apps to help students learn difficult programming concepts. More recently this includes:

Extending his interest in Software Engineering Education, another research interest is investigating other Education domains, particularly:

  • Software for mathematics education
  • STEM education

BE(Hons) in Software Engineering (first class honours)
PGCert in Academic Practice

Research | Current

  • Software Engineering education
  • Mobile application development
  • Virtual Reality and Augmented Reality for education
  • STEM education development
  • Parallel computing for interactive applications on multi-cores
  • Language implementation (source-to-source compilers)


Research groups


Teaching | Current

  • COMPSYS 202 / MECHENG 270 - Object Oriented Design and Programming
  • SOFTENG 206 - Software Engineering Design 1
  • SOFTENG 701 - Advanced Software Engineering Development Methods
  • SOFTENG 751 - High Performance Computing

Postgraduate supervision


  • Hadisantono Hadisantono (2014-), Challenges and opportunities in assessment of Engineering Education (Main supervisor: Gerard Rowe)
  • Mostafa Mehrabi (2014-), Cloud comptuing with Parallel Task (Main supervisor: Oliver Sinnen)
  • Fan Xing (2013-), Object-oriented shared memory parallel programming (Co-supervisor: Oliver Sinnen)
  • Chen Wang (2013-), An intelligent tutoring system for improving self-regulated learning skills (Main supervisor: Gerard Rowe)


  • Elliot Varoy (2016), Improving conceptual Physics understanding using collaborative environments (Co-supervisor: Gerard Rowe)
  • Shenghao Lu [Gary] (2016), Modeling of Mathematical equation solving (Co-supervisor: Barbara Kensington-Miller)
  • Beibei Zhai (2014), Educational support for Software Engineering learning
  • Weng Hao Tong (2014), Work-first in nested parallelism for Parallel Task (Main supervisor: Oliver Sinnen)
  • Hans Bhardwaj (2014-2015), Measuring usability improvements through concurrency and parallelism (Main supervisor: Oliver Sinnen)
  • Xiaoxing Hu (2013), Benchmarking and cache-awareness in Java (Main supervisor: Oliver Sinnen)
  • Chen Wang [Kingsley] (2013), Performance implications of thread count in a multi-application environment (Co-supervisor: Oliver Sinnen)
  • Vikas (2012), GUI-aware parallel programming for Java using OpenMP-like directives (Co-supervisor: Oliver Sinnen)
  • Jonathan Chow (2012), Design patterns for parallel programming on modern desktop and Android devices using Parallel Task (Main supervisor: Oliver Sinnen)
  • Gurpreet Singh (2012-2013), Coupling and software evolution (Main supervisor: Ewan Tempero)

Masters-taught projects

  • Yuang Zhu (2017-), Virtual reality experiences (Co-supervisor: Giuseppe Dr Ruvo)
  • Marin Abernethy (2017-), Educational virtual and augmented reality (Co-supervisor: Giuseppe Dr Ruvo)
  • Gowri Rudrabhatla (2015), Automatic submission and plagiarism detection in programming labs
  • Xiaohe Zhang (2015), Data analysis of Active Classroom Programmer effectiveness on student participation
  • Ximin Yan (2015), Mobile app to assist children using Mathematics manipulatives (Co-supervisor: Gail Ledger)
  • Rui Li (2015), Parallel programming with Active Classroom Programmer
  • Chidambaram Palaniappan (2015), Visualisation of Active Classroom Programmer activity to measure student engagement
  • Yalu You (2014-2015), Eclipse refactoring for Pyjama (Co-supervisor: Oliver Sinnen)
  • Rui Feng (2014-2015), Benchmark Suite for Java OpenMP-like parallelizing compilers (Co-supervisor: Oliver Sinnen)
  • Jiabin Zhong (2014-2015), Evaluation of public transport app (Co-supervisor: Subeh Chowdhury)
  • Aravind Sankar (2014), Android app for learning of data structures
  • Shubhendu Sharma (2014), iOS app for learning of data structures
  • Chang Liu (2014), Adding collaborative support to Active Classroom Programmer
  • Nancy Watta (2014), Android app for public transport users (Co-supervisor: Subeh Chowdhury)
  • Yuan Zhao (2014), Server-side support for public transport app (Co-supervisor: Subeh Chowdhury)
  • Wu Ke (2014), Enchancing Pyjama Eclipse plugin with error propagation (Co-supervisor: Oliver Sinnen)
  • Haoming Ma (2014), Parallel Task environment using annotation and lambda expressions (Main supervisor: Oliver Sinnen)
  • Sriram Sugumaran (2014), Enchancing Pyjama Eclipse plugin with refectoring (Co-supervisor: Oliver Sinnen)


  • 2016 AUEA Teaching Excellence Award
  • 2015 Faculty of Engineering Students' Choice Top Teachers Award
  • 2015 University of Auckland Teaching Excellence Award (Early Career)
  • 2014 Faculty of Engineering Teaching Excellence Award


  • Software Engineering postgraduate Masters advisor (2012-)
  • Faculty of Engineering Teaching Learning Quality Committee member (2016-)
  • Faculty of Engineering Reseach Committee member (2016-)
  • ECE department Student Staff Consultative Committee chair (2012-2015)

Areas of expertise

  • Mobile virtual and augmented reality
  • Mobile app development
  • Programming education
  • Educational software solutions
  • Parallel programming
  • Compiler front-end

Selected publications and creative works (Research Outputs)

  • Fan, X., Mehrabi, M., Sinnen, O., & Giacaman, N. (2017). Supporting enhanced exception handling with OpenMP in Object-Oriented languages. International Journal of Parallel Programming, 45 (6), 1366-1389. 10.1007/s10766-016-0474-x
    Other University of Auckland co-authors: Mostafa Mehrabi, Oliver Sinnen
  • Mehrabi, M., Giacaman, N., & Sinnen, O. (2017). Annotation-based parallelization of Java code. Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017. 10.1109/IPDPSW.2017.23
    Other University of Auckland co-authors: Mostafa Mehrabi, Oliver Sinnen
  • Fan, X., Sinnen, O., & Giacaman, N. (2017). Asynchronous OpenMP tasking with easy thread context switching and pool control. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 10.1007/978-3-319-65578-9_15
    Other University of Auckland co-authors: Oliver Sinnen
  • Hadisantono, Rowe, G. B., & Giacaman, N. (2016). Customizing the EPSA rubric to cover local curriculum content for assessment of engineering professional skills. Proceedings of the 27th annual conference of the Australasian Association for Engineering Education, 311-319. Coffs Harbour, Australia. Related URL.
    Other University of Auckland co-authors: Gerard Rowe, Hadisantono Hadisantono
  • Varoy, E., Giacaman, N., & Rowe, G. B. (2016). Enhancing students conceptual understanding using visualisation software and collaboration. Paper presented at Electronics New Zealand National Conference ENZCON 2016, Wellington, New Zealand. 17 November - 18 November 2016. Related URL.
    Other University of Auckland co-authors: Gerard Rowe, Elliot Varoy
  • Odisho, O., Aziz, M., & Giacaman, N. (2016). Teaching and learning data structure concepts via Visual Kinesthetic Pseudocode with the aid of a constructively aligned app. Computer Applications in Engineering Education, 24 (6), 926-933. 10.1002/cae.21768
    URL: http://hdl.handle.net/2292/31206
  • Varoy, E., Aziz, M., Burrows, J., Sinnen, O., & Giacaman, N. (23/5/2016). Explaining parallel computing to your grandmother: Drive-by learning for developing soft skills by communicating with a general audience. Poster presented at 6th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar 16), Chicago, USA. Related URL.
    URL: http://hdl.handle.net/2292/36381
    Other University of Auckland co-authors: Oliver Sinnen
  • Fan, X., Feng, R., Sinnen, O., & Giacaman, N. (2016). Evaluating OpenMP Implementations for Java Using PolyBench. Paper presented at 12th International Workshop on OpenMP (IWOMP), Nara, JAPAN. 5 October - 7 October 2016. OpenMP: Memory, Devices, and Tasks. (pp. 11). 10.1007/978-3-319-45550-1_22
    URL: http://hdl.handle.net/2292/31627
    Other University of Auckland co-authors: Oliver Sinnen