The International Conference on the Art, Science, and Engineering of Programming is a new conference focused on programming topics including the experience of programming. We’ve named it ‹Programming› for short. ‹Programming› 2018 is the second edition of the conference. Papers are welcome from any part of the programming research lifecycle, as are papers on programming practice and experience.
‹Programming› accepts scholarly papers including essays that advance knowledge of programming. Evaluation criteria therefore vary according to the type of paper and the stage of work being presented. Papers about early stage research should be supported by compelling arguments, worked examples, or early engineering or scientific evidence. Papers about late stage research should be supported by strong scientific or mathematical evidence. Essays are explorations of ideas, not necessarily structured as arguments directed toward conclusions; they are judged by quality of insight and robustness of thought process.
Papers submitted to the affiliated journal are reviewed by referees chosen by the ‹Programming› Program Chair, who is an associate editor for the journal. Authors of accepted papers are invited to present at the conference as a requirement for publication.
Each paper must be accompanied by a plain-language abstract that presents the key points in the paper in a manner understandable by experienced practitioners and researchers in nearby disciplines.
Art: Aesthetics, coding style, programming for exploration and discovery, novelty seeking programs, programming in the arts and humanities, etc.
Science: Programming models, machine-learning for programming, individual and team methodology, productivity and effectiveness, conceptual discovery using code repositories (for example), automatic programming, error handling and tolerance, probabilistic programming, etc.
Engineering: Abstraction, modularity, visual and lively languages, coding tools, debugging tools, programming by example, modeling tools and techniques, specialized languages, dynamic techniques, static techniques, proof technology, testing technology, acceptability techniques, errors, security, distributed and parallel computing languages, probabilistic programming languages, user interfaces, user studies, productivity and methodologies in practice, software development, software engineering, etc.
Almost anything about programming is fair game, but in each case there should be a clear and direct relevance to the act and experience of programming. Essays reflecting on topics closely related to programming are likewise welcome.