My name is Saeid Naderiparizi, natively written as سعید نادری پاریزی .
I am a senior student in Department of Computer Engineering of Sharif University of Technology.
I am majoring in Hardware Engineering and minoring in Mathematical Sciences.

My resume is available here.

Education

  • B.Sc. in Computer Engineering, Sharif University of Technology, Tehran,Iran.
    GPA: 18.65/20 -- 2012-present
  • Diploma in Physics and Mathematics Discipline, Allameh Helli High School, Tehran,Iran.
    GPA: 19.13/20 -- 2008-2012

Honors and Awards

  • Ranked 3rd in Cumulative GPA among the students majoring in Hardware Engineering, class of 2016, Sharif University of Technology.
  • Ranked 10th in Cumulative GPA among the students majoring in Computer Engineering, class of 2016, Sharif University of Technology.
  • Awarded summer internship grant from Institute of Science and Technology (IST) Austria
    Summer 2016.
  • Bronze medal in 21th INOI (Iran National Olympiad in Informatics), Young Scholars Club, Tehran, Iran.
    September 2011.


Research


  • Designing an efficient method for optimizing Latent Structural SVMs - Under supervision of Prof. Christoph H. Lampert.
    In this project we designed and implemented an efficient method for optimizing LSSVM objective based on Frank-Wolfe algorithm which did not need specifying a learning rate. It was my summer internship project.
  • Finding clusters in Complex Networks - Under supervision of Prof. S. A. Motahari.
    In this project we designed and implemented an efficient method for optimizing LSSVM objective based on Frank-Wolfe algorithm which did not need specifying a learning rate. It was my summer internship project.
  • Sequential Bound Optimization -- a method for optimizing non-convex objectives - Under supervision of Dr. Sobhan Naderi Parizi.
    We propose an iterative procedure for optimizing non-convex objective functions that works by optimizing a sequence of convex bounds on the true objective. Our procedure retains a set of "valid" hypotheses (latent configurations) on each training example. A hypothesis is removed from the set only when it is no longer supported by the model. In contrast, existing methods such as CCCP consider only a single hypothesis per each training example. We show empirically that our method is less sensitive to initialization and converges to a better solution than existing methods. This work is still in progress.

Projects


  • Implementation of some Neural Networks - As parts of the Neural Networks and Fuzzy Systems course.
    Implemented Multilayer Perceptron Networks, Auto-encoders, RBF Networks, etc. as homeworks of the course in \({\rm M{\small ATLAB}}\).
  • Implementation of a 3D reconstruction system - Final project of the Fundamentals of 3D Computer Vision course.
    Implemented an algortithm to generate the point cloud of a 3D object using a few photos taken of it. It uses SURF features to find and match keypoints, find position of cameras and then aggregates them to generate the point cloud. This project is done in \({\rm M{\small ATLAB}}\).
  • Implemetation of Bitonic Sort in CUDA for NVIDIA GPUs - Final project of the Fundamentals of Multicore Computing course.
    Implemented Bitonic Sort in CUDA and parallelized it according to the NVIDIA architecture to maximize performance. Bitonic Sort consists of \(\mathcal{O}(n \log^2(n))\) comparators and time complexity in serial operations is \(\mathcal{O}(n \log^2(n))\) (which is not good) but it can be parallelized well and in that case time complexity is \(\mathcal{O}(\log^2(n))\).
  • Implementation of the Simplex algorithm - Final project of the Numerical Analysis course.
    Implemented Simplex algorithm which is used for solving Linear Programming optimization problems. This was done in \({\rm M{\small ATLAB}}\) and with GUI
  • Implementation of Sudoku and Reversi game in Prolog - Final project of the Artificial Intelligence course.
    Implemented Reversi player using Alpha-beta pruning and Sudoku solver using Arc-consistency.
  • Implementation of IRC, NOC simulator and MPLS network simulator - Projects of the Computer Networks course.
    Implemented Internet Relay Chat using C++ socket and pthread. Also implemented Network on Chip routing simulator and Multilevel Packet Switching network using C++.
  • Implementation of MLFQ scheduler in FreeBSD kernel - Final project of the Operating Systems course.
    Implemented a Multilevel Feedback Queue (MLFQ) scheduler. MFLQ prioritizes processes based on their running time using multiple queues with different waiting times, where processes can move between the queues during the scheduling process.
  • Design and implementation of CModel of a hardware - The project of the Hardware Training course.
    As a member of a team of 10 engineers, I was responsible for designing and implementation of the simulator (in C++) for test and verification of the hardware.
  • Design and implementation of an LL1 compiler - Final project of the Fundamentals of course.
    Implemented an LL1 compiler in C++ for a custom language. An LL1 compiler features LL1 parser which is a top-down parser for specific unambiguous grammars. The key importance of using an LL1 grammar is that constructing the parse table becomes straightforward because of the unambiguity.
  • Developing computer games in Qt - Final project of the Advanced Programming course.
    Implemented an LL1 compiler in C++ for a custom language. An LL1 compiler features LL1 parser which is a top-down parser for specific unambiguous grammars. The key importance of using an LL1 grammar is that constructing the parse table becomes straightforward because of the unambiguity.
  • Implementation of a face detection algorithm - Final project of the Introduction to Programming course.
    Implemented a simple face detector that worked by classifying image pixels based on their RGB and HSL color values, followed by applying morphological filters on the resulting binary output, and then finding high scoring face-sized blobs.

Teaching


  • Automata and Compilers - Teaching assistant of Dr. G. Jaberipur - Fall 2015, Fall 2016.
  • Compiler Design - Teaching assistant of Dr. G. Jaberipur - Fall 2016.
  • Computer Structure and Language - Teaching assistant of Dr. H. Asadi - Fall 2014, Spring 2015, Spring 2016.
  • Data Structures and Design of Algorithms - Teaching assistant of M. Seddighin- Spring 2016.
  • Digital System Design - Teaching assistant of Dr. S. Bayat-Sarmadi - Fall 2015.
  • Fundamentals of Electrical and Electronic Circuits - Teaching assistant of Dr. M. Jalili - Fall 2015.