CSci 658-01: Software Language Engineering
Course Development

H. Conrad Cunningham

4 May 2018

Copyright (C) 2018, H. Conrad Cunningham
Professor of Computer and Information Science
University of Mississippi
211 Weir Hall
P.O. Box 1848
University, MS 38677
(662) 915-5358

History

Prof. H. Conrad Cunningham developed and taught Engr 691 Special Topics courses on this topic in the 2009 and 2011 Spring semesters. Those courses used the Scala language and focused on design and implementation of domain-specific languages (DSLs). Cunningham based some of the DSL ideas on the Fall 2006 offering of a Engr 692 Special Topics course on Ruby and Software Development.

Cunningham subsequently created CSci 658, Software Language Engineering, based on the previous prototypes.

For the Fall 2013 offering of CSci 658, Cunningham modified the course to use the Lua language and focus attention on design and implementation of traditional programming constructs and interpreters using Lua. He explored ideas for a planned revision of the undergraduate core course, CSci 450 Organization of Programming Languages. Some of this content was used in the Fall 2014 and Fall 2016 offerings of CSci 450.

For the Spring 2018 offering of CSci 658, Cunningham focused again on the DSL content from Spring 2011 but developed new examples that used Python 3.6+ rather than Scala or Lua. Because of its importance to the Department’s growing data science focus, Python seemed to be a pragmatic choice for most students. Cunningham may also introduce Python 3 based content in future course offerings.