Main Menu
headline-img
ACCEPTING PHD STUDENTS
profile-img
Assistant Professor Michael D. Adams
status-symbol ACCEPTING PHD STUDENTS
Faculty & Department
Computer Science
Joint Appointments

Courtesy Jt Appt - Asst Prof, Department Of Computer Science, School Of Computing

Jt Appt - Assistant Professor, Dean Of Faculty, Yale-nus College

Education

Doctor of Philosophy in Computer Science, Indiana University, Bloomington, United States

Contact Information
email-iconadamsmd@nus.edu.sg
My CV
https://michaeldadams.org/
sc-icon0000-0003-3160-6972

Programming Languages
Compilers
Functional Programming
Domain-Specific Langauges
Static Analysis
Parsing
Optimization
Type Systems
Generic programming
Meta-programming
Next-Generation Languages

My research area is programming languages with an emphasis on static analysis/control-flow analysis, syntax and parsing, compilers and optimization, generic and meta-programming, and next-generation languages.  Most recently I have been looking into developing the newly emerging paradigm of fixed-point-oriented programming, which can improve programmer productivity by an order of magnitude.

In my vision of an ideal future, programmers would be able to communicate their intent to a computer (i.e., write programs) as quickly as and at the same high level that they can communicate to other programmers, and the resulting software artifacts would be clear and concise enough that they obviously have no bugs instead of having no obvious bugs.

My research is aimed at achieving this future. As such, the thread that connects all of my research is language tools and features that enable programmers to write clear, concise and elegant code and do so without sacrificing other things like performance. I view this as key to improving programmer productivity and code comprehension and allowing programmers to more effectively design and implement programs. These also have positive effects on other research areas. For example, better languages and tools can make it easier to detect security vulnerabilities or prevent them in the first place, and better languages and tools can also make programming more approachable and aid in computer-science education. The future I describe is a ways off, and I might not see it in my lifetime, but it is a future that I am excited to work towards.

My Mentoring Style

How would you describe your mentoring style in terms of freedom given to your students?

profile-img
waving-hand
waving-hand
waving-hand
Autonomy
Adaptive
Mentorship

Selecting Research Topics?

How do you guide your PhD students in selecting research topics?

profile-img
waving-hand
waving-hand
waving-hand
Curated
Align
Collaborate
Student-led

Setbacks / Challenges

How do you handle setbacks or challenges faced by your PhD students?

profile-img
waving-hand
waving-hand
waving-hand
Independent
Nudge
Guidance

Feedback

How do you give feedback on your students’ thesis drafts and progress?

profile-img
waving-hand
waving-hand
waving-hand
Minimal
Brief
Detailed

Consultation Frequency

How often do you typically meet your PhD students one-on-one for consultation?

profile-img
waving-hand
waving-hand
waving-hand
Weekly
Bi-Weekly
Monthly
As Needed

Research Group Meetings

How often do you typically hold lab meetings where your PhD students present their research work to the class?

profile-img
waving-hand
waving-hand
waving-hand
Weekly
Bi-Weekly
Monthly
As Needed
Contact Information
email-iconadamsmd@nus.edu.sg
My CV
https://michaeldadams.org/
sc-icon0000-0003-3160-6972