Amir Kamil
عامر كامل   आमिर कामिल
pronounced [ˈaːmɪr ˈkaːmɪl]
(same vowels as "Amish calming")
photo of Amir Kamil

Beyster Building 2632
2260 Hayward Street
Ann Arbor, MI 48109-2121
(734) 764-2138
akamil AT umich DOT edu
Pronouns: he/him/his

[Curriculum Vitae]

Teaching

I am a Lecturer at the University of Michigan. My tentative teaching schedule for AY23-24 is:

Programming and Introductory Data Structures
EECS 280
Computer science fundamentals, with programming in C++. Build an image processing program, a game of Euchre, a web backend, and a machine learning algorithm.
Practical Programming in Java
EECS 285
Introduction to the Java language, with graphical user interfaces and mobile programming in Java. Build an object-oriented game simulator, a playable graphical game, and an Android application.
Foundations of Computer Science
EECS 376
Introduction to Computer Science theory. Learn how to design and analyze algorithms, reason about the hardness of solving a problem, and make use of difficult problems in cryptography.
Programming Paradigms
EECS 390
Programming language features and paradigms, and how to effectively use them. Build an interpreter using functional programming, and a compiler with object orientation.
Other Courses
Elementary Programming Concepts
University of Michigan logo EECS 183 Website
Programming Languages
University of Michigan logo EECS 490 Website
Structure and Interpretation of Computer Programs
University of California, Berkeley logoUniversity of California, Berkeley logoCS61A Website
Discrete Mathematics
Online Textbooks
Programming and Data Structures
Author Text
Foundations of Computer Science
Author Text
Programming Language Principles and Paradigms
Author Text
Composing Programs
Contributor Text

Research

I am currently doing research with the Computer Languages and Systems Software group at Lawrence Berkeley Lab. My work involves programming models, program analysis, languages, and compilers for parallel computing. I also do research in Computer Science education.

Past work at UC Berkeley

Peer-Reviewed Conference and Workshop Papers

Journal Papers

Technical Reports

Theses

Other

Tutorials

Panels and Invited Talks

Students

I have had many amazing students. Here are some with whom I have worked closely: