Benjamin Lerner

Publications

copyright notice

Teaching computation in science courses can enhance science education, but doing so requires that teachers expand the vision of their discipline beyond the traditional view of science presented in most curricula. This article describes a design-based research (DBR) program that included collaboration among high school teachers and professional development leaders in physics and computer science education. Through three years of professional development and teacher-led development, field testing, and refinement of integrated curricular resources, we have combined instructional modeling practices, physical lab materials, and computer programming activities. One of the outcomes is a co-created framework for the integration of computational modeling into physics that is sensitive to teachers’ interests and expressed needs in addition to learning goals. This framework merges two evidence-based approaches to teaching: Bootstrap:Algebra, a web-based computing curriculum that emphasizes using multiple representations of functions and scaffolds that make the programming process explicit, and Modeling Instruction in physics, an approach that emphasizes the use of conceptual models, modeling practices and representational tools. In doing so, we uncover the need to balance teachers’ visions for integration opportunities with practical instructional needs and emphasize that frameworks for integration need to reflect teachers’ values and goals.

Interactive evaluation with a REPL (Read-Eval-Print Loop) is a feature of many programming environments, especially in environments for teaching programming. However, REPLs do have confusions and stumbles for beginners. We identify several weaknesses of REPLs with a worked example from an existing programming environment in active use, distilled from our experience with novices. We then present an updated programming environment that mitigates these weaknesses and discuss its overall design.Interactive evaluation with a REPL (Read-Eval-Print Loop) is a feature of many programming environments, especially in environments for teaching programming. However, REPLs do have confusions and stumbles for beginners related to navigating between programs and interactive evaluation. We identify several specific weaknesses of REPLs with a worked example from an existing programming environment in active use, distilled from our experience with novices. We then present an updated programming environment that mitigates these weaknesses by combining the program editor and REPL, so the user can benefit from the best of both.

We propose that K-12 data science curricula should be based on four key ingredients: two are technical (programming and statistics, with visualization sitting at their intersection), while two are human-facing (meaningful domains, and civic responsibility). We describe their relationship and argue for their importance. Based on this, we then present a curriculum (currently in use; name anonymized). The curriculum is designed for integration into multiple disciplines and settings. It achieves this by letting different contexts choose datasets that are most meaningful, and creating artifacts that are authentic to the context. It recommends that the freedom to choose a dataset be further devolved to individual students, letting them choose personally meaningful data to spark engagement. Finally, we initiate the process of evaluating this curriculum. We create two assessment instruments, one to assess personalization and engagement and the other to evaluate learning. We believe these assessments can be adapted to other curricula too. We provide very preliminary data gathered from students and teachers, respectively, on the two instruments.

Integrating computing into other subjects promises to address many challenges to offering standalone CS courses in K-12 contexts. Integrated curricula must be designed carefully, however, to both meet learning objectives of the host discipline and to gain traction with teachers. We describe the multi-year evolution of Bootstrap, a curriculum for integrating computing into middle- and high-school mathematics. We discuss the initial design and the various modifications we have made over the years to better support math instruction, leading to our goal of using integrated curricula to cover standards in both math and CS. We provide advice for others aiming for integration and raise questions for CS educators about how we might better support learning in other disciplines.

Modern systems consist of large numbers of languages, frameworks, libraries, APIs, and more. Each has characteristic behavior and data. Capturing these in semantics is valuable not only for understanding them but also essential for formal treatment (such as proofs). Unfortunately, most of these systems are defined primarily through implementations, which means the semantics needs to be \emph{learned}. We describe the problem of learning a semantics, provide a structuring process that is of potential value, and also outline our failed attempts at achieving this so far.

We revisit the World model of functional event-based programming and extract a new primitive, a Reactor, to enable programmatic control over these reactive programs.

We expand the space of programs that can be synthesized from templates, and attempt to apply it to derive desugaring transformations for constructs in a lambda calculus.

We explore an extensible product line of type systems for JavaScript, and explain the engineering and ergonomic choices choices we made in designing this system.

We develop a sound static type system for JavaScript to detect violations of Private Browsing Mode in third-party Firefox extensions.

We develop a static type system for analyzing jQuery31 client code for query errors, where jQuery results may contain too many, too few, or simply the wrong page elements, leading to unintended runtime behavior.

We define a model of overlays that dynamically compose declarative UI fragments onto a base document, and define conflict detection algorithms over this model.

We present S5, a semantics for the strict mode of the ECMAScript 5.1 (JavaScript) programming language.

We define a concise, executable formal model of event behavior in the DOM, with high fidelity to the DOM specification.

I examine the challenges in supporting powerful, pervasive extensibility in web-browsers, and propose mechanisms for enabling better analytical tools.

We present C3, an implementation of the HTML/CSS/JS platform designed for web-client research and experimentation, particularly the role of extensibility throughout the platform.

We argue that browser extensions are themselves an important facet of web applications, and are in need of serious programing-language attention.

We propose a language extension to JavaScript, based on dynamic aspect weaving, that would enable principled, semantically sound third-party modification of existing code.

We present a novel approach to searching for error messages in programs with type errors (currently, Caml and C++), that provides better error messages while simplifying compiler construction.

We present a new way to generate type-error messages in a polymorphic, implicitly, and strongly typed language. This approach separates error-message generation from typechecking, and improves feedback to programmers.

Contact

download vcard icon
Email (essential):
Location (likely):
West Village H70, Office 326
Post (possible):
Northeastern University
Khoury College of Computer Sciences
360 Huntington Ave, 2nd floor
Boston, MA 02115
work Lecturer Office 326

Links

  1. https://www.mdpi.com/2227-7102/14/8/861/pdf?version=1723799801
  2. https://khoury.northeastern.edu/home/blerner/files/citations.html#edusci2024
  3. https://khoury.northeastern.edu/home/blerner/papers/plateau2021_repartee.html
  4. https://kilthub.cmu.edu/ndownloader/files/35978987
  5. https://khoury.northeastern.edu/home/blerner/files/citations.html#plateau2021_repartee
  6. https://khoury.northeastern.edu/home/blerner/papers/sigcse2022_ds_curriculum.html
  7. https://dl.acm.org/doi/10.1145/3408877.3432546?cid=81318490369
  8. https://khoury.northeastern.edu/home/blerner/files/citations.html#sigcse2022_ds_curriculum
  9. https://khoury.northeastern.edu/home/blerner/papers/sigsce2021_k12_curriculum.html
  10. https://khoury.northeastern.edu/home/blerner/files/citations.html#sigcse2021_k12_curriculum
  11. https://khoury.northeastern.edu/home/blerner/papers/snapl2019_acquired_taste.html
  12. https://khoury.northeastern.edu/home/blerner/papers/snapl2019_acquired_taste.pdf
  13. https://khoury.northeastern.edu/home/blerner/files/citations.html#snapl2019_acquired_taste
  14. https://khoury.northeastern.edu/home/blerner/papers/programming2019_reactors.html
  15. https://cs.brown.edu/~sk/Publications/Papers/Published/plpk-reactor-design/paper.pdf
  16. https://khoury.northeastern.edu/home/blerner/files/citations.html#programming2019_reactors
  17. https://khoury.northeastern.edu/home/blerner/papers/tacas2017_synth.html
  18. https://doi.org/10.1007/978-3-662-54577-5_14
  19. https://khoury.northeastern.edu/home/blerner/files/citations.html#tacas2017_synth
  20. https://khoury.northeastern.edu/home/blerner/papers/dls2013_tejas.html
  21. https://dl.acm.org/doi/10.1145/2508168.2508170?cid=81318490369
  22. https://khoury.northeastern.edu/home/blerner/papers/dls2013_tejas.pptx
  23. http://brownplt.github.com/
  24. https://khoury.northeastern.edu/home/blerner/files/citations.html#dls2013_tejas
  25. https://khoury.northeastern.edu/home/blerner/papers/esorics2013_pbm.html
  26. https://khoury.northeastern.edu/home/blerner/papers/esorics2013_pbm.pdf
  27. https://khoury.northeastern.edu/home/blerner/papers/esorics2013_pbm.pptx
  28. ftp://ftp.cs.brown.edu/pub/techreports/13/cs13-02.pdf
  29. https://khoury.northeastern.edu/home/blerner/files/citations.html#esorics2013_pbm
  30. https://khoury.northeastern.edu/home/blerner/papers/ecoop2013_jquery.html
  31. http://jquery.com/
  32. https://khoury.northeastern.edu/home/blerner/papers/ecoop2013_jquery.pdf
  33. https://khoury.northeastern.edu/home/blerner/papers/ecoop2013_jquery.pptx
  34. https://khoury.northeastern.edu/home/blerner/files/citations.html#ecoop2013_jquery
  35. https://khoury.northeastern.edu/home/blerner/papers/dls2012_overlays.html
  36. https://dl.acm.org/doi/10.1145/2384577.2384590?cid=81318490369
  37. https://khoury.northeastern.edu/home/blerner/papers/dls2012_overlays.pptx
  38. https://khoury.northeastern.edu/home/blerner/browser-extensions.html
  39. https://khoury.northeastern.edu/home/blerner/files/citations.html#dls2012_overlays
  40. https://khoury.northeastern.edu/home/blerner/papers/dls2012_s5.html
  41. https://dl.acm.org/doi/10.1145/2384577.2384579?cid=81318490369
  42. https://khoury.northeastern.edu/home/blerner/files/citations.html#dls2012_s5
  43. https://khoury.northeastern.edu/home/blerner/papers/webapps2012.html
  44. https://khoury.northeastern.edu/home/blerner/papers/webapps2012.pdf
  45. https://khoury.northeastern.edu/home/blerner/files/citations.html#webapps2012
  46. https://khoury.northeastern.edu/home/blerner/papers/thesis.html
  47. https://khoury.northeastern.edu/home/blerner/papers/thesis.pdf
  48. https://khoury.northeastern.edu/home/blerner/c3/thesis-defense.html
  49. https://khoury.northeastern.edu/home/blerner/files/citations.html#thesis
  50. https://khoury.northeastern.edu/home/blerner/papers/webapps2011.html
  51. https://khoury.northeastern.edu/home/blerner/papers/webapps2011.pdf
  52. https://khoury.northeastern.edu/home/blerner/files/citations.html#webapps2011
  53. https://khoury.northeastern.edu/home/blerner/papers/aplwaca2010.html
  54. https://dl.acm.org/doi/10.1145/1810139.1810146?cid=81318490369
  55. https://khoury.northeastern.edu/home/blerner/papers/aplwaca2010.ppt
  56. https://khoury.northeastern.edu/home/blerner/files/citations.html#aplwaca2010
  57. https://khoury.northeastern.edu/home/blerner/papers/oopsla2010.html
  58. https://dl.acm.org/doi/10.1145/1869459.1869490?cid=81318490369
  59. https://khoury.northeastern.edu/home/blerner/papers/oopsla2010.pptx
  60. https://khoury.northeastern.edu/home/blerner/files/citations.html#oopsla2010
  61. https://khoury.northeastern.edu/home/blerner/papers/seminal_pldi2007.html
  62. https://dl.acm.org/doi/10.1145/1250734.1250783?cid=81318490369
  63. https://khoury.northeastern.edu/home/blerner/papers/seminal_pldi2007.ppt
  64. https://khoury.northeastern.edu/home/blerner/files/citations.html#pldi2007
  65. https://khoury.northeastern.edu/home/blerner/seminal.html
  66. https://khoury.northeastern.edu/home/blerner/papers/seminal_ml2006.html
  67. https://dl.acm.org/doi/10.1145/1159876.1159887?cid=81318490369
  68. https://khoury.northeastern.edu/home/blerner/papers/seminal_ml2006.ppt
  69. https://khoury.northeastern.edu/home/blerner/files/citations.html#ml2006
  70. http://www.northeastern.edu/campusmap/map/qad4.html