I’m currently a graduate student and teaching assistant at the Department of Computing Science, University of Alberta. I am passionate about software engineering, distributed systems and the Internet of Things (IoT).
Prior to that, I have been in the IT and services industry for more than 5 years as a software engineer and web developer.
Download my CV in PDF.
As a TA of File and Database Management undergrad course, I assist with the conduct and grading of weekly labs with 70 students, testing and grading of assignments, and providing students with informative feedback.
Developed a cloud infrastructure based on OpenStack to provide on-demand cloud computing platform for scientific and general purposes.
Moreover, I carefully designed and implemented a web service in Django and led a team of 4 backend developers to maintain high-quality code and accomplish project goals.
Developed an online hotel booking system in PHP which is used by top hotels in my home country and engineered RESTful APIs and applications in Django and Angular to monitor and visualize current state of hotel.
Apart from coding, I was in charge of internship programs and coached 3 web developer interns.
Graduated with a cumulative GPA of 17.09/20
and a degree project entitled
“Optimized Task Allocation in Internet of Things using Mixed Integer Programming”.
An interactive web site that demonstrates rate of harmful radiations across Canada based on data collected by Canadian astronauts at International Space Station and students on Earth.
This project won the first prize at the national-level competition.
News related to specific topics fetched from CNN news feed and presented along with political celebrities' reactions on Twitter in a combined view. It consumes IBM Watson Tone Analyzer for analyzing emotions and tones in posted tweets and displays emotions in form of some stickers.
Twitter Persian news tag cloud extraction (TPNT) is a tag cloud generator that extracts hot keywords from the Twitter page of a major Persian news agency in the topics of economics and socials for each month.
ARchitecture for an even More Automated System (ArMAS) is location-based home automation platform built with ESP8266 and Raspberry Pi devices.
Its software has been developed based on Home Assistant project where devices communicate over MQTT and REST protocols.
Rich Internet Applications refers to Web applications resembling desktop solutions with sophisticated user interactions, client-side processing, and asynchronous communications. Rich Internet applications have been evolved from traditional multi-page Web applications to single page applications which handle users' interactions without the need of full-refresh at each interaction.
Although many techniques, methodologies, and technologies have been proposed in the rich Internet applications literature, the need for managing variability has not yet been conveniently addressed in this domain. According to software product lines research and practice, handling variability and commonality plays an important role in decreasing the development time and improving the quality of final products. To this end, in this paper, we aim at employing the variability management techniques in the domain of rich Internet applications.