CV
Technical Skills
- Active Learning & ML: Implemented pool-based batch-mode active learning with structured data using random forest and query-by-bagging in R, error analysis, binary classification with logistic regression, decision trees, and naive Bayes in Python with scikit-learn.
- Experiment Design: Comparative performance evaluation and hyperparameter sensitivity analysis.
- Software Engineering: 6+ years industry; C#, Angular, Qt/QML, WPF, FORTRAN interop.
- Data Analysis: R, statistical comparison, visualization (ggplot2).
- Multi-agent Systems: BDI frameworks, argumentation frameworks, dialogue games.
Education
- Ph.D in Computer Science (Active Learning), University of St Andrews, 05/2026 (submitted).
- Double M.Sc. in Dependable Software Systems, University of St Andrews and Maynooth University, 2016-2018.
- BEng. in Software Engineering, National University of Sciences and Technology, 2004-2008.
Research Experience
- Early Stage Researcher, Artificial Intelligence Research Centre (IIIA) Spanish National Research Council (CSIC), Barcelona: 09/2020 – 08/2022.
- Developed a collaborative protocol for aggregating expert judgements and implemented it as a Javascript web application. Evaluated the protocol through a user study involving medical experts. The results are documented as a journal publication.
- Investigated Belief-Desire-Intention multi-agent architecture and implemented a toy problem in Jason platform and Prolog.
- Implemented Logistic Regression, Decision Tree, and Naive Bayes in Python using the scikit-learn library and explored explainability for these algorithms.
- Investigated state-of-the-art in multi-agent recommender systems and created a technical report.
- Visiting Researcher, The New Ethos Lab, Faculty of Administration and Social Sciences, Warsaw University of Technology, 06/2021 – 09/2021.
- Designed a dialogue game protocol for collaborative decision making between experts.
Work experience
- Researcher and Software Developer, Software Competence Center Hagenberg GmbH, Austria: 11/2022 - 01/2014.
- Developed a microfluidic simulation software using Angular, QML and C++, in mixed-mode (QML GUI in a QtWidget application) as part of the HCI team.
- Created a mixed mode application which hosted QML GUI in a QtWidget main application using CMake.
- Developed evolutionary prototypes and human-centered user interface design for the microfluidic simulation.
- Senior Software Engineer, Bentley Systems Pvt. Ltd., Pakistan: 03/2012 – 05/2014.
- Openplant Power PID (OPPID): Implemented enhancement to import/ export an OPPID assembly to a Bentley repository file (DGN). OPPID is a 2D CAD application for Piping Design. The task involved exploring/using Microstation API, Bentley ECFramework to export graphical, relational and business data to a dgn using a workDgn Connection.
- Implemented ‘Drag’ functionality for a number of 2D components in OPPID. The task involved managing relationships between new and existing components and extensive use of Computer Graphics concepts like Rotation, Translation and Vector mathematics.
- AECOSim Building Designer (ABD), OpenPlant Modeler (OPM): Implemented Insert/ Remove/ Drag/Move/Connect functionality for a number of 3D HVAC/Piping components for ABD and OPM. ABD is Bentley CAD software for Building design. OPM is Bentley 3D CAD plant modelling software. The task involved making the EC based HTML schema component definitions work with the graphical data stored in database files, other HTML based EC schemas and/or taken as input from the user.
- OPM: Implemented enhancement to export OPM components in the standard PXF format. This format is used for data exchange between various CAE applications within Bentley as well as with rival applications.
- Software Engineer, Bentley Systems Pvt. Ltd., Pakistan: 09/2008 – 07/2011
- AutoPIPE: Created a Windows Presentation Foundation (WPF) based viewer and editor tool for AutoPIPE model database. It was a mixed mode application implemented in FORTRAN, C++, C# and WPF. It presented a binary AutoPIPE database file in a WPF DataGrid and used an xml schema to define column headers.
- Implemented various AutoPIPE enhancements including integration of AutoPIPE with other Bentley products such as using C++ and FORTRAN, hosting a Windows Forms application in a WPF based application.