University of Washington Information School
In order to be considered for admission, applicants who are current UW students must complete all four prerequisite courses. They must be completed by the end of the quarter prior to submitting your application to the Informatics program.
Prospective students who have completed all listed prerequisites and would like to take additional classes before applying to the program are encouraged to take any courses in the program. (If you are interested in taking Informatics courses but are not currently in the program, please see our Add Code Policy.)
The course designations given are for courses taken at the UW. However, we are happy to accept non-UW courses. Please refer to the information below regarding transfer credits:
- Prerequisite courses must be completed with a grade of 2.0 or higher, AP/IB scores (if awarded credit by the UW), or Cr (if a Cr/NC class).
- If you have taken multiple classes that fulfill the same requirement, we will consider the course where you earned the highest grade.
- Prerequisite courses must be completed by the end of the quarter prior to submitting your application.
- Transfer students who started at the UW in Winter quarter are not expected/required to have taken INFO 200 in order to be eligible for the next Autumn quarter admission.
- Transfer students who started at the UW in Autumn quarter are not expected/required to have INFO 200 in order to be eligible for the next Winter quarter admission.
- Transfer students are only allowed one “grace quarter” where INFO 200 is not required (described above). If they chose to apply in a future cycle, they would be considered a current UW student and INFO 200 would be required.
- If you need assistance finding I&S courses, please use the General Education Requirement Course Search tool.
If you are interested in taking Informatics courses but are not currently in the program, please see our Add Code Policy.
Lead and organize weekly Exploration Sessions for Intro Series class (1500+ students), mentor 75+ TAs, work closely with professors to discuss grading criteria and class curriculum, work closely with TA Coordinators to handle administrative details
August 2018 - Present
Interviewing and selecting new TAs, organizing weekly training sessions for new TAs, running weekly TA Community meetings, supervise and mentor 75+ TAs, administer TA evaluations, work closely with staff to handle administrative details
March 2017 - August 2018
CSE Intro Series TA
Lead class of 25 students, assisted students with homework assignments, graded exams and assignments, proctored exams, attended weekly community planning meetings.
March 2015 - August 2017
Developed tools to facilitate Java learning in classes. Ran Hackathon event for 25 high school students. Taught Java online to other students.
August 2015 - September 2015
Conducted market research on the information security challenges related to the Internet of Things. The research focused on the healthcare, automotive and home monitoring industries.
University of Washington
Paul G. Allen School of Computer Science & Engineering
Master's of Science
September 2018 - December 2019
University of Washington
Paul G. Allen School of Computer Science & Engineering
Bachelor's of Science
Computer Science - Data Science Option
September 2014 - December 2018
Programming Languages & Tools
- TA Coordinator
- Dawg Daze Team Captain
- Boy Scouts of America - Eagle Scout
My love for playing guitar has given me opportunities to expand my experiences beyond my community. I worked with Buddies Without Borders, a nonprofit organization, to aid in fundraising efforts by creating a music video to raise disaster awareness for natural disasters such as floods and earthquakes. I also have performed live several times at a Silicon Valley business' (Accretive Wealth) award ceremony. These performances stretch my creative thinking and inspire me to continue to develop my musical language to appeal to larger and more diverse audiences. I teach guitar in my spare time as well, so if you are looking to learn feel free to contact me! :)
Biliscreen Android Application
Selected to be part of a research team to utilize machine learning and computer vision to build an application that scans human eyes to identify the level of bilirubin to assist in the early identification of pancreatic cancer and Jaundice. Developed algorithms to classify the eye using machine learning and computer vision. Currently developing this app for the Ubiquitous Computing Lab at UW as part of a research program.
SimpleDb (Database Management System)
Built a robust Database Management System that can recover from crashes, process several transactions concurrently, and manage several database files. SimpleDb has 4 main components I built, a storage manager, query processor, shared utilities manager, and a log manager for recovery. Developed over the course of 10 weeks in a Database Internals course.
Campus Paths Android Application
Built modular software that can be easily expanded on. The inspiration was to follow a model view and controller design in the application. Implemented Dijkstra's algorithm so that the app finds the shortest path between two building around UW Campus. Developed over the course of 9 weeks in a Software Design & Implementation course at UW.
File Directory Search Engine
Built data structures to process queries based on key words found in files, a file index system (inverted index) to save an index of files in a directory, and a web server to host the search engine. Developed over the course of 9 weeks in a Systems Programming course at UW.
CSE 143X // Computer Programming I & II : Notes
(Graduate) Math Courses
- Math 504/505/506—Algebra
- Groups, modules, rings, fields, Galois theory, representation theory, homological algebra, etc.
- Math 507/508/509—Algebraic Structures (notes on github: 508, 509)
- Advanced commutative algebra, Lie groups and algebras, and homological algebra.
- Math 534/535/536—Complex Analysis
- Complex variables, contour integration, conformal maps, harmonic functions, the Dirichlet problem, etc.
- Math 544/545/546—Topology and Geometry of Manifolds
- Topological and smooth manifolds, algebraic topology, covering space theory, differential geometry, etc.
- Math 561/562—Combinatorics
- Counting, posets, generating functions, inclusion/exclusion, graph theory, etc.
- Math 567/568/569—Algebraic Geometry (notes on github)
- Affine and projective varieties, rings of functions, the Nullstellensatz, localization, dimension, algebraic curves, divisors, cohomology, genus, and the Riemann-Roch theorem.
- Math 581B/582B—Algebraic Groups and their Representations (notes on github)
- Group schemes, Hopf algebras and representations; the Barsotti-Chevalley theorem, existence of quotients, descent, etc. Infinitesimal theory, the Borel fixed point theorem, parabolic subgroups, representations and highest weight theory.
- Math 582H—Hopf Algebras (notes on github)
- Hopf algebras, quantum groups, duality, actions, and representations of Hopf algebras and tensor and fusion categories.
- Math 583H—Cohomology Theories, Triangulated Categories, and Applications (notes on github)
- Hochschild cohomology, group cohomology, homotopy and derived categories, dualizing complexes, and Artin-Schelter regular algebras.
- Math 600—Directed Reading
- Group Schemes and Representations Autumn 2018-Winter 2020 (with Prof. Julia Pevtsova)
- Abelian Categories Spring 2018 (with Prof. James Zhang)
- Representation Theory Winter-Spring 2017 (with Prof. Julia Pevtsova)
- Algebraic Topology Autumn 2016 (with Prof. Steve Mitchell)
Computer Science Courses
- CSE 143x—Accelerated Computer Programming I/II
- CSE 373—Data Structures and Algorithms
- CSE 512—Data Visualization
- CSE 517—Natural Language Processing
- STAT 509—Introduction to Mathematical Statistics
Thanks to the following for their contributions to this site:
- Background: "What the Hex" - Angel Micevski
- Website fonts (unicode fonts based on Donald Knuth's Computer Modern font family) provided by Andrey V. Panov
- "Dangerous Bend" symbol based on Knuth's Dangerous Bend symbol, which is in turn based on that of Bourbaki.
AD1024 (real name: Mike He) is a Senior student at Paul G. Allen School of Computer Science & Engineering. His research interests include Program Synthesis, Programming Language Theory (specifically Type Theory related), Formal Verification and Compiler Designs. He currently is looking for a PhD position. He is a member of SAMPL and PLSE Research Group. He loves classical music, anime and Japanese popculture.
He is adviced by Zachary Tatlock and co-adviced by Steven Lyubomirsky.
$^*$: Listed publication
- $^*$3LA: A Verified Compilation Flow for Deep Learning Accelerators (Jun. 2020 $\Rightarrow$ Now)
- Flexible Matching: Enhancing flexibility for compilers to exploit potential workload that can be assigned to accelerators
- $^*$Dynamic Tensor Rematerialization: A Heuristic-based Gradient Checkpointing Algorithm that supports automatic checkpointing on arbitrary Deep Learning Models (Nov. 2019 $\Rightarrow$ Now)
- Relay: A High-Level Intermediate Representation for Deep Learning (Oct. 2019 $\Rightarrow$ 2020)
- UW Solar Data: Data Monitoring Dashboard for Solar Panels (Jan. 2019 $\Rightarrow$ Jun. 2019)
- Kirisame, M.*, Lyubomirsky, S.*, Haan, A.*, Brennan, J., He, M., Roesch, J., Chen, T., Tatlock, Z. (2020, June 18). Dynamic Tensor Rematerialization. ICLR 2021. September 19, 2020. https://arxiv.org/abs/2006.09616 (*: Equal contribution)
- Huang, B.*, Lyubomirsky, S.*, Tambe, T.*, Li, Y., He, M., Smith, G.H., Wei, G., Gupta, A., Malik, S., & Tatlock, Z. (2021). From DSLs to Accelerator-Rich Platform Implementations: Addressing the Mapping Gap.(*: Equal contribution)
- MICRO’21 Program Committee (Artifact Evaluation)
- CSE 505: Principle of Programming Languages (Spring 2021), Teaching Assistant (Grading & Lecture / Homework Dev)
Note:bold stands for highly recommended courses.
Computer Science (Major)
- CSE 143X: Computer Programming II (Accelerated)
- CSE 332: Data Structure and Parallelism
- CSE 333: System Programming
- CSE 402 (501): Domain-Specific Languages
- CSE 421: Algorithms
- CSE 431: Complexity Theory
- CSE 451: Operating Systems
- CSE 457: Computer Graphics
- CSE 473: AI (Artificial Intelligence)
- CSE 490P: Special Topics: Advanced PL (PL + Verification) (by James Wilcox)
- CSE 490L (453): Datacenter System (IP)
- CSE 505: Principle of Programming Languages
- CSE 507: Computer-Aided Reasoning for Software
- CSE 550: System For All (IP)
- MATH 12X: Calculus
- MATH 307: Differential Equation
- MATH 308: Linear Algebra
- PHIL 100: Introduction to Philosophy
- PHIL 470: Intermediate Logic
- PHIL 471: Advanced Logic
VLPA (Visual, Language and Performing Art)
- MUSIC 390/HONORS 398: Special Topics on Music
- JAPAN 101~103: First-Year Japanese
Took in Waseda Summer Session 2019
- History I: Japanese Contemporary History
- Culture III: Japanese Popular Culture and Globalization
- Talk in Japanese II: Japanese Language Course
- ANTH/JSIS A/GWSS 328: Gender & Sexuality in China
I love classical music and enjoy playing the violin. I’ve been playing the violin for 0x11 years and passed the Level 9 test certified by the Central Conservatory of Music.
Some recordings are available here: AD1024 @ Bilibili
I was a part-time translator / proofreading editor in 🦈Gawr Gura🦈’s fansub team. Gura is a contract Virtual Youtuber of Hololive EN.
- Garageband automation ipad
- Menards mentor
- Channel system crossword clue
- Dress up synonym slang
- Mtech knife
- Drarry memes
- Fantastic vent problems
- Navy cft
- Middle child meme
- Homestuck reddit
- Osrs max armor
Hi, I’m Michael Lee. This website currently serves as a way for me to showcase my projects and dump miscellaneous tidbits in the form of a blog. Currently, I’m mostly interested in programming and computer science, so most of the content will be CS-oriented.
Want to know more about me? My resume page contains a fairly good summary of what I’ve been up to.
Current projects and focuses
- Classes I’m taking
- Machine Learning, Graphics, Networks, and Intro to Embedded
- Currently TA-ing: CSE 311, the “introduction to theory/discrete math” course
- Other courses I’ve TA-ed:
- CSE142, CSE 143, and CSE 143x – first and second introductory courses at UW. CSE 143x is an accelerated version of the course that covers material from both CSE 142 and 143.
- CSE 332 – data structures, algorithms, and parallelism.
- Things I’ve written/am writing
- CSE 14x Style Guide – an (unofficial) style guide for CSE 14x series. Covers both Java-specific guidelines, commenting guidelines, and general code structure guidelines. Mostly finished, but is missing some content and could use some copy-editing.
- Curated Programming resources – a collection of hand-picked resources for learning programming. In limbo, and will probably go through a bunch of changes when I find the time. (Maybe over summer?)
About this website
This website is statically generated using Jekyll, using Yeoman (see generator-jekyllrb). The CSS is built on top of Twitter-Bootstrap, using SASS.
Unless otherwise noted, any content on this website is dual-licensed under the Creative Commons Attribution 4.0 International License and the MIT License – pick whichever is more convenient for you.
The source code for this website can be found on Github.
I have an RSS feed.