Curriculum vitae (PDF)
- -Site | -bandali.eu.org | -
bandali@uwaterloo.ca | -|
Phone | -available upon request via email | -
bandali's curriculum vitae
+ +also available in plain text +as bandali-cv.txt
+ +-
+
- Site +
- bndl.org +
- bandali@gnu.org
bandali@uwaterloo.ca
+ - Phone +
- available upon request via email +
- Last update +
- November 1, 2021 +
Summary of Qualifications
+ +-
+
- Experience in building software for diverse areas and platforms in +various programming languages such as C, Python, and Haskell. +
- Passionate about applying scientific and engineering methods while +designing and building software systems. +
- Using formal specification techniques to find specification-level +bugs early in the design stage rather than implementation. +
- GNU/Linux system administration on both the client and the server +side. +
- Problem-solving and communication skills, honed through research +and teaching roles held in graduate school, as well as holding +tutorials discussing complex concepts with fellow students and peers +throughout undergraduate studies and high school. +
- Organizational and teamwork skills, strengthened thanks to +community service in form of volunteer activities including organizing +the EmacsConf conference and volunteer work for charities such as the +Free Software Foundation and St. Brigid's Summer Camp. +
Education
-Master of Mathematics (Computer Science) | 2018âpresent
-University of Waterloo, Canada
-Supervised by Dr. Nancy Day | GPA: 3.7/4.0 | Expected completion: April 2020
-Research focusing on formal logic, model checking, and verification.
+-
+
- Master of Mathematics in Computer Science, University of Waterloo, +2020 +
- Research focus: formal logic, model checking, verification +
- Thesis: A Comprehensive Study of Declarative +Modelling Languages +
- Supervisor: Prof. Nancy +A. Day +
- GPA: 3.7/4.0 + +
- Bachelor of Science with Honours in Computer Science, +York University, 2017 +
- Favourite courses: System Specification & Refinement, +Software Requirements Engineering, Software Design, Operating Systems, +Computational Complexity, Design & Analysis +of Algorithms +
- GPA: 7.84/9.0 +
Research Interests
+ +formal logic, model checking, theorem proving, verification
+ +Publications & Presentations
+ +The complete bibliography of my publications is available as a +BibTeX bibliography +file, bandali.bib.
+ +Papers
-B.Sc. Honours Computer Science | 2013â2017
-York University, Toronto, Canada
-GPA: 7.84/9.0
Relevant courses: System Specification & -Refinement, Software Requirements Eng., Software Design, Operating -Systems, Computational Complexity, Design & Analysis of Algorithms.
-Finished first year (2013-14) at Carleton University with -a GPA of 11.0/12.0, then transferred to York University in -Fall 2014.
+-
+
- A Comparison of the Declarative Modelling Languages B, DASH, and +TLA+ + +[ pdf +| models +] + + +
-
+Ali Abbassi, Amin Bandali,
+Nancy A. Day, Jose Serna
+8th IEEE International Model-Driven Requirements Engineering Workshop, MoDRE@RE 2018
+Copyright © 2018 IEEE. All Rights Reserved. Sadly. +
+
Publications
+Theses
-Listed on my homepage
+-
+
- A Comprehensive Study of Declarative Modelling +Languages + +[ pdf +| hdl +| http +] + + +
-
+Amin Bandali
+MMath Thesis, +University of Waterloo, David R. Cheriton School of Computer Science, +July 2020. +
+
Talks
+ +-
+
- Jami and how it empowers users + +[ pdf +(with +notes) +| http +] + + +
-
+Amin Bandali
+Presented at the LibrePlanet 2021 Conference, March 20, 2021. +
+
+ - The Magic of Specifications and Type Systems + +[ slides +| poster +] + + +
-
+Amin Bandali,
+Simon Hudon,
+Jonathan S. Ostroff
+Slides presented at the Canadian Undergraduate Computer Science +Conference 2017, University of Toronto, Canada, June 15–17, 2017.
+Poster presented at the Lassonde Undergraduate Summer Student Research +Conference, York University, Toronto, Canada, August 15, 2017. +
+
+ - Introducing YULUG +
-
+Amin Bandali
+Slides introducing YULUG — (GNU/)Linux User Group at York +University — presented at a Computing Students Hub (CSHub) tech +talk at York University, Toronto, Canada, February 12, 2015. +
+
Work & Research Experience
-Cheriton School of Computer Science, University of Waterloo | 2018âpresent
-Instructional Apprentice, Teaching Assistant, Research Assistant
+-
+
- Savoir-faire Linux +
- fall 2020–present | Free Software Consultant | Consultant en +logiciel libre +
-
+
-
+
- I am part of the Jami core development team at Savoir-faire Linux, +where I work on various parts of Jami as a Free Software Consultant. +These include working on and maintaining the GTK-based jami-gnome +client application written in C++ and C, and packaging Jami for +various GNU/Linux distributions and other platforms. I also serve as +a community liaison between the Jami core team and the wider free +software community around Jami, with the goal of helping facilitate +the communications and relations between the two. +
- - SE 212: -IA in Fall 2019, -TA in Fall 2018 -
- SE 463: -TA in Summer 2019 and 2018 -
- CS 136: -TA in Winter 2018 -
- Free Software Foundation (FSF) +
- spring 2020 | Intern +
-
+
-
+
- Working with the FSF tech team in a sysadmin role on a variety of +tasks including installation of the Sourcehut free software forge on +the FSF infrastructure for evaluation for the FSF forge project, as +well as a series of enhancements +for www.gnu.org. +
+
+ - Cheriton School of Science, University of Waterloo +
- winter 2018–spring 2020 | TA, IA, RA [*] +
-
+
-
+
- SE 465 (Software Testing and Quality Assurance): TA in winter +2020 +
- SE 212 (Logic and Computation): IA in +Fall 2019, TA in fall 2018 +
- SE 463 (Software Requirement Specification and Analysis): TA in +spring 2019 and 2018 +
- CS 136 (Elementary Algorithm Design and Data Abstraction): TA in +winter 2018 +
+ - [*] Teaching Assistant (marking exams and assignments), +Instructional Apprentice (holding tutorials and marking), Research +Assistant (doing research for/with supervisor) + +
- Department of Electrical Engineering & Computer Science, York +University +
- fall 2017 | Teaching Assistant +
-
+
-
+
- EECS 1012 (Net-Centric Introduction to Computing): TA in fall +2017, running labs and marking labs and exams +
+
+ - Software Engineering Lab, York University +
-
+
-
+
- summer 2017 | Research Assistant +
- Worked on an implementation
+of Lampsort
+in Eiffel. Extended
+the mathmodels
+library, implementing a
rational
class for working with +arbitrarily large rational numbers.
+
+ -
+
-
+
- summer 2016 | Research Student +
- Worked on Literate Unit-B, the verifier for Unit-B, a new +formal method focused on formal verification of reactive, concurrent, +and distributed systems. From the Literate Unit-B codebase (written +in Haskell), decoupled the logic module and used it to build +Unit-B Web, a web interface using Literate Unit-B to do +predicate calculus proofs. Unit-B Web, also written in Haskell, +supports the LaTeX +syntax of the Unit-B logic, renders user input on the page, and calls +the sequent prover of the logic module, which uses the Z3 SMT solver +to check the validity of user input. +
- Separated Literate Unit-B's type checker from its parser in a +large refactoring, allowing easier substitution of other type checking +algorithms, and in preparation for implementing subtyping. +
+
+ - Lotek Wireless Inc. +
-
+
-
+
- summer 2016 | Software Developer +
- Designed and developed an Employee Portal web application in C# +and the MVC framework, used by employees for accessing various data +catalogs and archives. +
+ -
+
-
+
- summer 2015 | Computer Programmer +
- Designed and implemented various applications in C# and C for +analyzing and testing a satellite pass prediction algorithm for +predicting the pass windows of Argos satellites, for scheduling send +times of data collected by the company's wildlife tracking +products. +
+
+ - Athlete Builder +
-
+
-
+
- 2013–2014 | Software Developer +
- Developed the Backend of Athlete Builder platform in C# and +MVC. +
- Key role in development of the platform core. +
- Developed the alpha version of Athlete Builder Android application +in Java. +
+
-
-
Skills
+-
+
- Programming languages +
- C, C++, Haskell, Emacs Lisp, Guile Scheme, Python, Eiffel, Bash, +C#, Java, JavaScript +
- Tools +
- GNU Emacs, Git, Alloy, TLA+, +ProB, LaTeX, continuous +integration systems +
- Platforms +
- GNU/Linux distributions, including Trisquel, GNU Guix, Debian +
- Languages +
- Persian (mother tongue), English (native proficiency; IELTS: 9.0), +French (beginner) +
EECS -Department, York University | Fall 2017
-Teaching Assistant
-EECS 1012: -TA in Fall 2017
-