Muhammed Almulhem, Ph.D.
Vice Rector for Academic Affairs
Vice Rector for Academic Affairs
Phone: +966-13-849-9300

Google Scholar Link

Semantics of Programming Languages (Course Thought in KFUPM)

Course Description

Formal methods for the description of programming languages. Operational, axiomatic and denotational semantics, attribute grammar, two-level grammars. Fixed-point theory of computation. Verification techniques.

A note on ethics: Techniques and tools discussed in class are strictly for educational purpose. DO NOT try them on a system/data that you don't own or for which you don't have permission. Otherwise, you might get yourself in serious legal consequences.


Graduate standing. A student is expected to have basic knowledge in programming languages.

Course Outcomes

  • Ability to apply knowledge of formal semantic models.
  • An understanding of operational semantic models.
  • An understanding of denotaional semantic models.
  • An understanding of axiomatic semantic models.
  • An understanding of recent semantic models.


There is no required textbook. All readings are from selected research papers and reports.


  • J. Mitchell, "Conepts in programming lanuages", Cambridge, 2003.


  • 30% - Homework (reading summaries, case studies)
  • 15% - Paper Presentations
  • 10% - Class Discussion
  • 45% - Project
  • Bonus points are rewarded for exceptional work

Homework (30%)

Homework assignments consist of writing a reflection upon each paper you read. Specific instructions and submission will be through webCT. All Homework assignments are to be done individually. Submission deadline is Sunday 12:00PM for papers discussed in Sunday class, and Tuesday 12:00PM for papers discussed in Tuesday class. Deadlines are strict and no late submission will be accepted.

Paper Presentations (15%)

During the course, you will present two or three papers depending on the class size. When it is your turn to present a paper, your homework submission will be a presentation slides instead of the usual reflection homework assignment. The presentation must be prepared as a 50-60 minutes lecture allowing for about 15 minutes for questioning and discussion. The presenter has to provide any necessary background materials which may require some research on his part. Evaluation is based on the presentation quality and on adhering to the following guidelines:

  • use white plain background and black large font
  • provide outline and add slides numbers
  • minimize text as much as possible and use figures/graphs
  • save presentation in the 97-2003 PowerPoint format (ppt) or in PDF format

Class Discussion (10%)

The rules regarding class discussion are as follows:

  • ONLY technical questions are allowed
  • Every student must prepare at least two technical questions prior to class time
  • 0.5 point is deducted for not preparing questions
  • 1.0 point is deducted for missing a class (absence)

Project (45%)

A research-oriented project is the most significant component in this class. It may cover any topic of interest in digital forensics. You are encouraged to start thinking of a topic early, and to be creative and ambitious! A project should to be done in teams of two at most. Individual projects are also accepted upon instructor's consent.

The project will progress as follows:

  • Proposal: Write a concise project proposal (1 or 2 pages) that clearly states: the addressed problem, challenges for new research, your plan (including milestones and dates), any relevant papers of which you are already aware. The proposal is due TBA.
  • Related Work: Prepare a thorough related work write-up (2 or 3 pages) similar to related work sections in the papers you have been reading. You have to reference at least 8 papers from reputable journals and conferences. For each paper, briefly discuss the main contributions, its relevance to your project, and (if appropriate) in what ways it differs from your effort. The related work is due TBA.
  • Status Update: Prepare a first draft of your work. At this time, you have to extend your write-up considerably beyond the previous submission (related work) by including design, implementation, initial results ... etc. Your submission should be formatted as a full paper similar to the good papers covered in class. Include all completed parts, and use place holders for parts to be completed. Briefly, describe what remains, and any open issues. The status update is due TBA.
  • Demo and Final paper: Demo of your work will be held in the last week (week 15). The final paper is due TBA.


  • Attendance is required according to KFUPM policies. A DN grade is reported after 6 absences (20%).
  • Late submissions are not accepted.
  • No tolerance for cheating and plagiarism. KFUPM regulations will be enforced in such cases.