Niki Gitinabard
About Me
I am the Chief Scientist at Allobee, where I lead the technical project to develop and maintain the web platform for offering jobs to qualified freelancers, connecting them to their clients, and providing them with tools, support, and community so they can do their work best. Our mission is to keep parents and care-givers at work by providing them with flexibility and support.

I received my Ph.D. in Computer Science from NC State University in March 2021, with a thesis titled "Understanding student habits in blended courses: An integration of student activities on different platforms to support students better". During my graduate school, I worked with Dr. Collin Lynch, at the Center for Educational Informatics on modeling different student activities on online platforms associated with classes. For this purpose, I looked into student interactions on the class discussion forum and replicated a social network between them based on these collaborations. We also recorded the sequences of student actions and generated features that told us more about their work or study habits such as consistency. Another aspect of this work was modeling and evaluating students' teamwork based on their activities on Github. Generally we used educational data mining to identify useful behavioral patterns of students using data from online tools in CS courses. We used this information to generate predictive models on the students' performance and identify at-rist students to support them better with additional resources such as group studying and peer tutoring. We also used the teamwork data to give suggestions on teammates based on similarity in work and study habits to improve their quality of collaborations. Finally, I designed a teamwork dashboard to show course instructors information about the teams in their class such as their work distribution and help-seeking.

If my first hobby is reading novels, travelling is definitely the second one. I hope one day comes that I put a big map on my wall and fill it with marking the places I have visited. I like to know different cultures which makes the range of the books I read really wide, but I still think I need to travel and get to know people and see places to experience life better.
Publications
Organizing Experience
My Education
  • PhD in Computer Science, 2015-2021
  • Masters in Computer Science, 2015-2019 (en-route to Ph.D)
    NC State University
  • B.Sc. in Computer Engineering(Software), 2010-2014
    University of Tehran
Work/Research Experience
  • Google, Remote
    • Designed and implemented changes to a concrete fuzzer towards concolic execution
    • Integrated a concrete fuzzer (AFL) with a symbolic one (KLEE) to use the coverage information from the concrete fuzzer and improve the seed selection in the symbolic fuzzer.
    • Changed how Basic Block IDs are assigned in a new LLVM pass to make sure of consistency in different runs and avoid collisions.
    • Used C++ and Python, writing new LLVM passes to include in and extract information from code instrumentations
  • Spreedly, Durham, NC
    • Leed Scoring of Customers: Collected data on customers' activities and general information from different sources such as MixPanel and Datanyze. Defined features based on user activities such as their view patterns on the website, their use of the API, and their sessions of work. Using these features we predicted the users' subscription to the service using the data from only one week after starting a trial account, identifying on average 90% of the prospect customers.
    • Used Python's data analysis libraries such as Pandas, Numpy, and Scikit Learn.
    • Collaborated in revising O'Reilly's text summary project using deep learning methods and Tensor-Flow
    • Gathered and prepared data for training the deep learning model
    • Trained a text clustering model to categorize user responses to a survey, using scikit-learn and pandas.
  • MaxPoint Interactive, Morrisville, NC
    • Collaborated in building large, distributed, and multi-threaded software applications that allow MaxPoint's platform to respond to billions of events each day
    • Designed and built advanced software solutions that scale across hundreds of servers and meet aggressive fault tolerance standards, also implemented architecture and design patterns to help ensure that systems scale well into the future
    • Changed Apache Impala access code to use Apache Spark because of the change in company policies
    • Collaborate with cross-functional teams
    • Experienced using Git and Jira
  • LabOS EPFL, Lausanne, Switzerland
    • Worked on a distributed graph analyzing system called X-Scale which was the distributed version of their former Project X-Stream
    • Implemented graph algorithms like Triangle Counting and Betweenness Centrality based on the scatter-gather model of the system
    • Ran an analysis on twitter data to compare the run-time of X-Stream and X-Scale
    • Developed in C++
  • Cafe Bazaar, Tehran, Iran
    • Maintained the server side of Cafe Bazaar, the leading app store in the Iranian market, installed on more than 23 million devices
    • Worked as a Python-Django developer, using Django's internal ORM, South migrations, PostgreSQL, Nginx
    • Worked in a team of ten people practicing Kanban, Scrum, and XP
    • Experienced in using Git, Clean Coding, Pair Programming, Code Review, being Scrum Master
    • Utilized Dockers to implement separate test environments and databases on a test server for developers
    • Designed a new architecture for page layouts based on Json instead of SQL DB
Teaching Experience
  • NC State University
    • Data Structures for Computer Scientists
    • Programming Concepts- Java
    • Software Engineering
  • University of Tehran
    • Intelligent Systems
    • Artificial Intelligence
    • Theory of Formal Languages and Automata
    • Introduction to Computing Systems and Programming
Projects
  • Riot Predictor
    • Data Driven Decision Making Course
    • Predicting how likely it is for a protest to turn into a riot based on the target of the protest, the issue, number of participants, crime rating in the area, and violence rating of the articles or social media posts. Information was extracted using natural language processing from articles on Bing and Duckduckgo, and another structured database.
    • Developed in Python, used machine learning methods such as neural networks, naive bayes, logistic regression, and random forest
    • Social Computing Course
    • Predicting number of retweets of a tweet, based on its links, hash-tags, mentions, author, etc.
    • Developed in Python and R, Using Snap, MASS, and Neural Networks
    • Course Project for Software Engineering | Spring 2016
    • Collected and analyzed GitHub activity data from 14 “Software Engineering Groups”, defined “Bad Smells” in these projects’ behaviors including their use of issues, milestones, commits and comments, and provided a case-study on them.
    • Built “Bad Smell” early detectors based on our definition
    • Developed in Python, practiced data collection, pre-processing, anonymization, feature extraction, and used z-score for finding outliers.
    • Software Engineering Course
    • Developed a helper tool for Github novice users. Provided them with a choice of commandline help, email bot, and search engine. Email bot and search engine used Stack-overflow search results, sorted by TF-IDF, while the commandline help used a decision tree. The product was also tested on novice users to find the best solution.
    • Developed in Python