Deep Learning
Durham University, 2022 - present.

Lectures, Practicals, Coursework.
Foundations of deep learning and learning in nature,
PyTorch programming, Designing deep neural network architectures,
Adversarial models, Energy-based models and Flow models,
Sequential models and Transformers, Generalisation theory
Image Processing
Durham University, 2021 - present.

Lectures, Practicals, Coursework.
Introduction to Image Processing, Applications and limitations of Image Processing,
Local Transforms, Point Transforms, Contrast Enhancement, Noise and Filtering,
Spatial Filtering, Histograms, Histogram Equalisation, CLAHE, Global Transforms,
Fourier Domain, Fourier Transform, High/Low/Band Pass Filtering, Colours,
Colour Spaces, Colour Processing, Discrete Cosine Transform, Image Compression.
Systems Programming
Durham University, 2021 - present.

Lectures, Practicals, Coursework.
UNIX/Linux and C, Intro, HelloWorld, Compiling, Pre-processor,
Control flow and functions, Data types, structs and unions,
Memory access using pointers, Dynamic memory management,
Scope of variables and recursive functions, Debugging,
Large programs and external libraries, Intro to C++.
PhD Research Supervision
Durham University, 2021 - present.

PhD Supervision.
Research Projects:
- Off-road Autonomous Navigation
- On-Vehicle BCI
- Image Inpainting Methods and Applications
- 3D Sensing via 360 Panoramic Images
UG and MSc Research Supervision
Durham University, 2021 - present.

UG and MSc Supervision.
Machine Learning Projects, including:
- Predicting Video Game Outcome and Player Rankings
- Anomaly Detection
- Ocular Symmetry for MS Diagnosis
PhD Research Supervision
Newcastle University, 2021 - present.

PhD Supervision.
Research Projects:
- Analysis of Different Machine Learning and Inference Methodologies on Edge Devices
- Temporal Graph Representation and Comparison
- Multi-Task Learning
- Neural Architecture Search
MSc Research Supervision
Newcastle University, 2020 - 2021.

MSc Supervision.
Machine Learning Projects, including:
- AI and Dermatology
- Bias Removal in Skin Lesion Identification
- Image-to-Image Translation
- Detecting Clouds in Satellite Images
- Segmenting Marine Life Images
- Fake News Classification using Transformers
- Mobile Use Driving Violation Detection
- Banking Data Modelling
- Analysis of Synthetic Environments for RL-Based Driving
- Improved Knowledge Graph Building using Transformers
- Bias Removal in Semantic Segmentation
- Fine-Grained Classification using Limited Data
Undergraduate Research Supervision
Newcastle University, 2020 - 2021.

Dissertation Supervision.
Machine Learning Projects:
- Image Colourisation
- Deep Learning for Image Inpainting
- Diagnosing the Parkinson’s Disease
Deep Learning
Newcastle University, 2021 - 2021.

Lectures, Practicals, Coursework.
What is Deep Learning? Applications of Deep Learning, Loss functions and Backpropagation, training and optimisation,
Classification/Regression, Convolutional Neural Networks, Computer Vision applications, Recurrent Neural Networks,
Natural Language Processing applications, Improved training and performance of neural networks, Generative models,
Ethics and challenges of Deep Learning, Deep Reinforcement Learning, embeddings and Representation Learning.
Software Engineering
Durham University, 2015 - 2018.

Practicals.
Software development practices, requirements discovery and analysis, software Design, testing, human computer interaction, software quality and process, project management, etc.
Software Methodologies
Durham University, 2015 - 2018.

Practicals.
Artificial Intelligence Search: heuristic searches, local searches, simulated annealing, genetic algorithms, etc.
Graphics: 3D graphics construction, rendering, modelling, transformation, shading, texture mapping, OpenGL, etc.
Digital Communication: entropy, information theory, lossless compression, encryption algorithms, etc.
Image Processing: transformation functions, histograms, spatial linear and nonlinear filters, JPEG, colour spaces, etc.
Programming Paradigms
Durham University, 2015 - 2017.

Practicals.
Systems programming: C, Bash, etc.
Functional programming, Haskell.
Object oriented programming: Java, Python.
Web Programming: HTML, JavaScript, PHP.
Programming Languages
Shahid Bahonar University of Kerman, 2011 - 2015.

Lectures and Practicals.
C, C++, Java.
Management Information Systems
Shahid Bahonar University of Kerman, 2011 - 2015.

Lectures.
Concepts and principles, design, automation systems and enterprise planning.
Principles of Compiler Design
Shahid Bahonar University of Kerman, 2011 - 2015.

Lectures and Coursework.
Introduction, architecture, lexical and syntax analysis, parsing methods, error recovery, semantic analysis, run-time environments, etc.
Artificial Intelligence
Shahid Bahonar University of Kerman, 2011 - 2015.

Lectures and Coursework.
Stochastic search methods, combinatorial optimisation, soft-computing methods, principles of machine learning, neural networks, image processing and computer vision, etc.
English for Computer Science
Shahid Bahonar University of Kerman, 2011 - 2015.

Lectures.
Graduate level course for computer science students.