PKP Love of Learning Award

🙂 I feel honored to have been granted the PKP Love of Learning Award

The honor society of Phi Kappa Phi
December 15, 2015


Love of Learning Awards help fund post-baccalaureate professional development for active Phi Kappa Phi members to include (but not be limited to): Graduate or professional studies, doctoral dissertations, continuing education, career development, travel related to teaching/research/learning, etc.

2015 Session B Love of Learning Winners are from:

Arizona State University; Bloomsburg University of Pennsylvania; Boise State University; Brigham Young University; California State University, Los Angeles; Clark Atlanta University; East Tennessee State University; Fordham University; Kansas State University; Longwood University; Louisiana State University; Marshall University; North Carolina State University; Northern Illinois University; Northwestern State University of Louisiana; Oklahoma State University; Oregon State University; Samford University; South Dakota State University; Syracuse University; Tennessee Technological University; Texas A & M University; Texas Woman’s University; The Ohio State University; The University of Mississippi; The University of Tulsa; University of Alabama At Birmingham; University of California-Davis; University of Central Florida; University of Central Missouri; University of Connecticut; University of Houston-Victoria; University of Illinois at Urbana-Champaign; University of Kentucky; University of Louisiana at Lafayette; University of Maryland, College Park; University of Massachusetts; University of Michigan; University of Missouri-Kansas City; University of Nevada,Las Vegas; University of North Carolina at Charlotte; University of North Carolina Wilmington; University of North Florida; University of North Texas; University of Oklahoma; University of Philippines; University of South Florida; University of Southern Mississippi; University of Texas at Dallas; University of Toledo; University of Wyoming; Valdosta State University; Villanova University; Virginia Commonwealth University; Washburn University; Western; Illinois University; Winthrop University; and Youngstown State University.

Innovative Learner and User Experience Lab

   🙂 Our lab and some of our toys

School of Computing, Informatics, and Decision Systems Engineering
Innovative Learner and User Experience Lab
Arizona State University


Presented by Weekly technology series – featuring the latest developments in computer and information technology with expert guests and updates from around the world. Hosted by Toufic Gebran.


iLux is equipped with the most advance EEG monitoring and eye-tracking technology as well as the highly trained personnel to operate it. The difference with iLux is that there are no limits to your testing needs. We are capable of running equipment in all conditions whether it be in a lab a controlled lab setting, on a mobile device, or even with our mobile equipment for use out in everyday life. Our portable equipment allows us to conduct research in a variety of environments




ASU 2013-2015 Course:
Principles of Programming Languages

   🙂 I taught CSE 340 again this summer (2015)

School of Computing, Informatics, and Decision Systems Engineering
Arizona State University

Summer 2015, Fall 2014, Summer 2014, Spring 2014, Summer 2013


Course Description

Formal lexical, syntactic and semantic descriptions, compilation and implementation issues, and theoretical foundations for several programming paradigms.

Outline of Topics

  1. Introduction: abstractions; language paradigms; language definition; compilation versus interpretation.
  2. Lexical Analysis: regular expressions; deterministic finite automata.
  3. Syntax: BNF, EBF, syntax and diagrams; parse trees and abstract syntax trees; one-token look-ahead parsing; recursive- descent parsers;
  4. Basic Semantics: data Types and type matching; symbol tables; binding; scope; allocation and storage; variables; pointers.
  5. Intermediate Representation
  6. Programming Paradigms
  7. Object-Oriented Programming
  8. Functional Programming: functional algorithms; tail-recursion; lambda calculus – conversions, Church-Rosser theorem, fixed-points.
  9. Logical Programming: Horn clause logic, resolution and unification.


These are the slides of the course (28 lectures).

01 course presentation 02 introduction 03 lexical analysis 04 lexer (1/2)
05 lexer (2/2) 06 closing lexical analysis 07 syntactic analysis (1/2) 08 syntactic analysis (2/2)
09 grammars (1/2) 10 midterm review 11 parser (1/2) 12 parser (2/2)
13 parsing (1/3) 14 parsing (2/3) 15 parsing (3/3) 16 grammars (3/3)
17 semantic (1/3) 18 semantic (2/3) 18 semantic (3/3) 20 code (1/4)
21 code (2/4) 22 code (3/4) 23 code (4/4)



There are four programming assignments in this course: a Lexical Analyzer, a Parser, a Semantics Analyzer and an Intermediate Code Generator. The four assignments bundled together result in a compiler for a custom programming language. An example the statements supported in the programming language designed in this course is shown in the picture. A GUI is provided to visualize the result of each stage: a token table, a parse tree, a symbol table, and intermediate code; as well as a console (in black background) to display alerts and error messages.

Aditionally, a VM with a GUI is provided to test the intermediate code generated by the compiler.

A student (Rajesh Surana) creates a GitHub repository with the source code for the complete project. Take a look at his repository here.


A compilation of the notes of the course (113-pages) are available on Scribd


ICSE 2016 Video Competition

🙂 I won the ICSE 2016 Video Competition!

38th International Conference on Software Engineering (ICSE)
Austin, Texas, USA.
May 14-22, 2016


Congratulations on winning the ICSE 2016 Video Competition! Your video will be shown during the closing ceremony here (ICSE 2015) in Florence and will be featured on the ICSE 2016 social media sites and the website in the near future.


ACM Senior Member Award

🙂 I feel honored to have been granted the ACM Senior Member Award

Association for Computing Machinery (ACM)
August 24, 2014


The Senior Member Grade recognizes those ACM members with at least 10 years of professional experience and 5 years of continuous Professional Membership who have demonstrated performance that sets them apart from their peers.

2014 Award winners:

Eduardo Almeida; Michael Atighetchi; Brian P. Bailey; Punam Bedi; Nikhil Bhargava; Manish Bhide; Frederick J. Bourgeois; Travis D. Breaux; Carlos A. Castillo; Maria Elena Chavez-Echeagaray; Yun Chi; Wei Ding; John P Dougherty; Jane Fedorowicz; James W. Gabberty; G R Gangadharan; James Garnett; Jeffrey Gennari; Christos K. Georgiadis; Don Goelman; Javier Gonzalez-Sanchez; Mihir Gore; Anil Kumar Gupta; Winston H. Hsu; Jun Hu; Matt Huenerfauth; Jhilmil Jain; Mihai Jalobeanu; Natalie Jerger; James Anthony Junco; Hemangee K. Kapoor; Arun Kejariwal; Jong-Kook Kim; Jan H Kroeze; Sebastien Lahaie; John Lee; Jian Li; Li-Pin Liu; Diego R. Llanos; Alessio Malizia; Manoel Gomes Mendonca; Stuart Edward Middleton; Antonija Mitrovic; Mihai Nadin; Juan Arturo Nolazco-Flores; Takeshi Ogasawara; Deepak Padmanabhan; Lynne E Parker; Rajeev R Raje; Rajveer Singh Shekhawat; Heng Tao Shen; Bernhard Suhm; Jian-Tao Sun; Chin Ngai Sze; Thiab Taha; Aakash Taneja; Asser N Tantawi; Carlo Tarantola; Michela Taufer; Basant Tiwari; Balakrushna Tripathy; Jaideep Vaidya; Miroslav N. Velev; Paul J Whitbread; Alec Yasinsac; Dalu Zhang; Gottfried Zimmermann.