Zhiyi Pan


zhiyipan@umich.edu

I'm an undergraduate student studying computer science at University of Michigan (UM). I was admitted into the dual degree program of UM and Shanghai Jiao Tong University (SJTU) in sophomore year.

My research interests lie in programming language and compiler. I've worked in FPLab since 2019.

I started coding as a member of the programming contest group in 2012. I dreamed of becoming an entrepreneur and thought bringing my ideas into software applications would be the lowest-cost way, so I decided to take computer science as my career in 2017. To achieve this goal, I selft-learnt lots of development tools during first two years in SJTU and spent 3 months developing a full-stack visual novel game. I thought I would be an industrial person, but then I went to UM and joined prof. Cyrus Omar's group and did research on programming language. PL atracts me and I gained my first academic conference experience - ICFP 2020 as an author in SRC track.

I love paintings, literature and sports. You can click GALLERY to see my artworks. I have a weChat public account to record book reviews and original proses in Chinese. Welcome to follow it (id: afterjune7) if you're a weChat user. As for sports, I shortly played for UM-SJTU JI women basketball team in the freshman year. I also loved to play tennis due to my favorite Japanese anime the Prince of Tennis during my childhood.

Education

Bachelor
  • University of Michigan, Ann Arbor
  • Computer Science Engineering

2019 - 2021

Bachelor
  • Shanghai Jiao Tong University, Shanghai
  • Electrical and Computer Engineering

2017 - 2021

Teaching

Instructional Aide

2020 Fall

Research Experience

Research Assistant

University of Michigan - Future of Programming Lab, Advisor: Prof. Cyrus Omar.

  • Worked on a paper for a gradual bidirectional typing inference system - type hole inference.
  • Developed undo/redo and history recording features for Hazel, a live functional programming environment featuring typed holes.
  • Designed and implemented a history panel, which was used for EECS 490 teaching work in UM.

November 2019 - present

Research Assistant

University of Michigan, Advisor: Prof. Scott Mahlke

  • Learnt and wrote optimization path by LLVM.
  • Implemented genetic algorithm to find optimized combination of flags for gcc.

May 2020 - July 2020

Recent Activities

Author

ICFP 2020 Student Research Competition

August 2020

Hazel

University of Michigan - Future of Programming Lab

A research project directed by Prof. Cyrus Omar.

  • Developed undo/redo and history recording features for Hazel, a live functional programming environment featuring typed holes.
  • Designed and implemented a history panel, which was used for EECS 490 teaching work in UM.

November 2019 - present

Online Visual Novel

SJTU Network and Information Organization

Implemented a visual novel featuring multiple story lines and endings, shopping store, archiving, achievement, HP systems.

  • Designed and built front-end pages (Html/Css/Js).
  • Developed the back-end by Django, created database model and deployed it in the cloud server (Ubuntu).

February 2019 - May 2019

Network File System

Course Project | EECS 482: Introduction to Operating Systems

Implemented a file system featuring encryption, authentication, failure tolerance and concurrency.

2019 Winter

Compiler for Decaf

Course Project | EECS 483: Compiler Construction

Implemented and optimized a compiler for Decaf (a strongly-typed, object-oriented language with support for inheritance and encapsulation), written in C++ and compiled Decaf program into MIPS assembly program. Implementation is full-stack from lexical analyzing to code generation with clear static, link and run-time error reporting. Optimization includes register allocation improvement, dead code elimination, constant folding, subexpression elimination, constant propagation and forward copy propagation.

2019 Winter

Robotics!

I devoted plenty of time to robotics during my first two years in Shanghai Jiao Tong University. I love team work more rather than love roboticts (though I'm also passionate about robotics! :)).

Remote-controlled Wall Cleaning Robot

Cleaning the outer wall surfaces, especially glasses, of high-rises has long been a tough work. The working environment for workers is arduous and dangerous. Also, since few building owners are willing to pay too much to cleaning their windows, a new solution to cleaning work is needed. We considered to use a kind of machine, which is relatively economical, to replace human cleaners.

2018 Summer

Report | Demo

VEX Robots

I joined VEX robot team SJTU1 in December 2018 and worked with another 8 teammates to build shooting robots for competitions. We worked for over half a year and competes with other VEX lovers to get the pass for VEX World Championship. To enhance functionalities, we built 7 versions of robots. Thanks for all my co-workers and generous funding from SJTU!

December 2018 - May 2019

Demo


Remote-controlled Wall Cleaning Robot

VEX Robots

VEX U Championship



VEX U Championship

VEX U Design Division

Summer Expo


Awards

Bronze

ICFP 2020 Student Research Competition

Champion

12th Annual VEX U Robot Skills Challenge World Championship, Louisville

  • Over 30,000 people including more than 1,650 teams from 40 nations participated in this Championship.
  • Designed and constructed over 5 versions of robots for competitions with other 8 teammates.
  • Wrote daily work log and engineering sheets for the team.

May 2019

Second Place

12th Annual VEX U Robot World Championship, Louisville

May 2019

Champion

VEX Robotics Asia Open, Zhejiang, China

February 2019

Best Technology Award

UM-SJTU Joint Institute Summer Design Expo

  • Built a remote-controlled glass wall cleaning robot with another 3 teammates.

November 2018

Undergraduate Excellent Scholarship,Shanghai Jiao Tong University

November 2018

References

I have been lucky enough to work with some great supervisors. These people mentored me during work and offered valuable life advice as well. I am glad to have gotten to know these superiors during my time with them. These people have provided me with tools to help me succeed in writing these references.
Maple Leaf Foods

To Whom it may concern, I have worked with Dylan Henderson as his direct supervisor for approximately one year now. In that time I have found him to be an enthusiastic employee who seeks out every opportunity to increase his knowledge and skill set. He is a quick learner and applies himself conscientiously to the tasks he is assigned.

Dylan is able to work with minimum supervision and has demonstrated reliability both in attendance and job performance. I have also appreciated his ability to anticipate needs and act proactively.

I have found Dylan to be a pleasant and respectful employee who is well regarded by his superiors and peers alike. I have no hesitation in recommending him for employment.

Regards,
[Maple Leaf Supervisor]
November 22, 2012
VS Suppliers

Dylan has done a fantastic job on my business website(s). His attention to detail is wonderful . He is professional and easy to relate to at the same time. His ability to listen and to understand my website needs and run with ideas is admirable ‎. He makes this part of my business much simpler for me because I know he grasps what I am saying and I have every confidence that he will always produce something that I will love.

Kathy Stoll
Owner, VSS
July 22, 2015
Canadian Purchasing Collective

The owner of the Canadian Purchasing Collective has promised to write a reference for me when they have returned from their vacation in August. Thanks!

Features

Minim duis incididunt est cillum est ex occaecat consectetur. Qui sint ut et qui nisi cupidatat. Reprehenderit nostrud proident officia exercitation anim et pariatur ex.
Lorem ipsum dolor sit amet
Excepteur et pariatur officia veniam anim culpa cupidatat consequat ad velit culpa est non.
  • Nisi qui nisi duis commodo duis reprehenderit consequat velit aliquip.
  • Dolor consectetur incididunt in ipsum laborum non et irure pariatur excepteur anim occaecat officia sint.
  • Lorem labore proident officia excepteur do.

Sit qui est voluptate proident minim cillum in aliquip cupidatat labore pariatur id tempor id. Proident occaecat occaecat sint mollit tempor duis dolor cillum anim. Dolore sunt ea mollit fugiat in aliqua consequat nostrud aliqua ut irure in dolore. Proident aliqua culpa sint sint exercitation. Non proident occaecat reprehenderit veniam et proident dolor id culpa ea tempor do dolor. Nulla adipisicing qui fugiat id dolor. Nostrud magna voluptate irure veniam veniam labore ipsum deserunt adipisicing laboris amet eu irure. Sunt dolore nisi velit sit id. Nostrud voluptate labore proident cupidatat enim amet Lorem officia magna excepteur occaecat eu qui. Exercitation culpa deserunt non et tempor et non.

Do dolor eiusmod eu mollit dolore nostrud deserunt cillum irure esse sint irure fugiat exercitation. Magna sit voluptate id in tempor elit veniam enim cupidatat ea labore elit. Aliqua pariatur eu nulla labore magna dolore mollit occaecat sint commodo culpa. Eu non minim duis pariatur Lorem quis exercitation. Sunt qui ex incididunt sit anim incididunt sit elit ad officia id.

Tempor voluptate ex consequat fugiat aliqua. Do sit et reprehenderit culpa deserunt culpa. Excepteur quis minim mollit irure nulla excepteur enim quis in laborum. Aliqua elit voluptate ad deserunt nulla reprehenderit adipisicing sint. Est in eiusmod exercitation esse commodo. Ea reprehenderit exercitation veniam adipisicing minim nostrud. Veniam dolore ex ea occaecat non enim minim id ut aliqua adipisicing ad. Occaecat excepteur aliqua tempor cupidatat aute dolore deserunt ipsum qui incididunt aliqua occaecat sit quis. Culpa sint aliqua aliqua reprehenderit veniam irure fugiat ea ad.

Eu minim fugiat laborum irure veniam Lorem aliqua enim. Aliqua veniam incididunt consequat irure consequat tempor do nisi deserunt. Elit dolore ad quis consectetur sint laborum anim magna do nostrud amet. Ea nulla sit consequat quis qui irure dolor. Sint deserunt excepteur consectetur magna irure. Dolor tempor exercitation dolore pariatur incididunt ut laboris fugiat ipsum sunt veniam aute sunt labore. Non dolore sit nostrud eu ad excepteur cillum eu ex Lorem duis.

Id occaecat velit non ipsum occaecat aliqua quis ut. Eiusmod est magna non esse est ex incididunt aute ullamco. Cillum excepteur sint ipsum qui quis velit incididunt amet. Qui deserunt anim enim laborum cillum reprehenderit duis mollit amet ad officia enim. Minim sint et quis aliqua aliqua do minim officia dolor deserunt ipsum laboris. Nulla nisi voluptate consectetur est voluptate et amet. Occaecat ut quis adipisicing ad enim. Magna est magna sit duis proident veniam reprehenderit fugiat reprehenderit enim velit ex. Ullamco laboris culpa irure aliquip ad Lorem consequat veniam ad ipsum eu. Ipsum culpa dolore sunt officia laborum quis.

Lorem ipsum dolor sit amet

Eiusmod nulla aliquip ipsum reprehenderit nostrud non excepteur mollit amet esse est est dolor. Dolore quis pariatur sit consectetur veniam esse ullamco duis Lorem qui enim ut veniam. Officia deserunt minim duis laborum dolor in velit pariatur commodo ullamco eu. Aute adipisicing ad duis labore laboris do mollit dolor cillum sunt aliqua ullamco. Esse tempor quis cillum consequat reprehenderit. Adipisicing proident anim eu sint elit aliqua anim dolore cupidatat fugiat aliquip qui.

Nisi eiusmod esse cupidatat excepteur exercitation ipsum reprehenderit nostrud deserunt aliqua ullamco. Anim est irure commodo eiusmod pariatur officia. Est dolor ipsum excepteur magna aliqua ad veniam irure qui occaecat eiusmod aute fugiat commodo. Quis mollit incididunt amet sit minim velit eu fugiat voluptate excepteur. Sit minim id pariatur ex cupidatat cupidatat nostrud nostrud ipsum.

Enim ea officia excepteur ad veniam id reprehenderit eiusmod esse mollit consequat. Esse non aute ullamco Lorem aliqua qui dolore irure eiusmod aute aliqua proident labore aliqua. Ipsum voluptate voluptate exercitation laborum deserunt nulla elit aliquip et minim ex veniam. Duis cupidatat aute sunt officia mollit dolor ad elit ad aute labore nostrud duis pariatur. In est sint voluptate consectetur velit ea non labore. Ut duis ea aliqua consequat nulla laboris fugiat aute id culpa proident. Minim eiusmod laboris enim Lorem nisi excepteur mollit voluptate enim labore reprehenderit officia mollit.

Cupidatat labore nisi ut sunt voluptate quis sunt qui ad Lorem esse nisi. Ex esse velit ullamco incididunt occaecat dolore veniam tempor minim adipisicing amet. Consequat in exercitation est elit anim consequat cillum sint labore cillum. Aliquip mollit laboris ad labore anim.

How to install MDL

Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.

Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.

Tempor tempor aliqua in commodo cillum Lorem magna dolore proident Lorem. Esse ad consequat est excepteur irure eu irure quis aliqua qui. Do mollit esse veniam excepteur ut veniam anim minim dolore sit commodo consequat duis commodo. Sunt dolor reprehenderit ipsum minim eiusmod eu consectetur anim excepteur eiusmod. Duis excepteur anim dolor sit enim veniam deserunt anim adipisicing Lorem elit. Cillum sunt do consequat elit laboris nisi consectetur.

Basic MDL Usage

Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.

Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.

Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.

Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.

Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.

Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.

Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.

Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.