[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2184512.2184523acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
research-article

Automated web-based user interfaces for novice programmers

Published: 29 March 2012 Publication History

Abstract

This paper presents the development of a library for introductory programming courses that automatically builds web forms based on a simple specification of parameter types (both primitive and complex, user-defined) and labels for a function. Upon invocation, the library launches a browser to display a page with a reasonably well laid-out form that allows entry of input values, browsing and recall of past inputs, and application of the underlying function to validated inputs. Novice programmers can thus develop programs focusing on design, implementation, and testing of their algorithm (realized as a function of appropriate parameters) and ignore the intricacies of handling user I/O. The web interface is more impressive than console I/O and is much less complicated to assemble than a traditional GUI, requiring no knowledge of web technologies to setup and launch.

References

[1]
phpmyadmin documentation. http://www.phpmyadmin.net/documentation.
[2]
K. K. Agarwal, A. Agarwal, and M. E. Celebi. Python puts a squeeze on Java for CS0 and beyond. J. Comput. Sci. Coll., 23:49--57, June 2008.
[3]
M. Felleisen. TeachScheme!: a checkpoint. In Proceedings of the 15th ACM SIGPLAN international conference on Functional programming, ICFP '10, pages 129--130, New York, NY, USA, 2010. ACM.
[4]
M. Felleisen. TeachScheme! In Proceedings of the 42nd ACM technical symposium on Computer science education, SIGCSE '11, pages 1--2, New York, NY, USA, 2011. ACM.
[5]
M. Felleisen, R. B. Findler, M. Flatt, and S. Krishnamurthi. How to design programs: an introduction to programming and computing. MIT Press, Cambridge, MA, USA, 2001.
[6]
M. Felleisen, R. B. Findler, M. Flatt, and S. Krishnamurthi. A functional I/O system or, fun for freshman kids. In Proceedings of the 14th ACM SIGPLAN international conference on Functional programming, ICFP '09, pages 47--58, New York, NY, USA, 2009. ACM.
[7]
R. B. Findler and PLT. Drracket: Programming environment. Technical Report PLT-TR-2010-2, PLT Inc., 2010. http://racket-lang.org/tr2/.
[8]
M. Flatt and PLT. Reference: Racket. Technical Report PLT-TR-2010-1, PLT Inc., 2010. http://racket-lang.org/tr1/.
[9]
K. Z. Gajos, D. S. Weld, and J. O. Wobbrock. Automatically generating personalized user interfaces with supple. Artif. Intell., 174:910--950, August 2010.
[10]
K. A. Lambert and M. Osborne. Java: A Framework for Programming and Problem Solving. Brooks/Cole Publishing Co., Pacific Grove, CA, USA, 2nd edition, 2001.
[11]
V. Leping, M. Lepp, M. Niitsoo, E. Tõnisson, V. Vene, and A. Villems. Python prevails. In Proceedings of the International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing, CompSysTech '09, pages 87:1--87:5, New York, NY, USA, 2009. ACM.
[12]
J. Matthews. Component deployment with PLaneT: You want it where? The Scheme Workshop, 2006.
[13]
J. Paniza. Model-driven GUI generation with OpenXava, May 2009. http://java.dzone.com/articles/automatic-user-interface.
[14]
R. Plasmeijer, J. M. Jansen, P. Koopman, and P. Achten. Declarative ajax and client side evaluation of workflows using itasks. In Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming, PPDP '08, pages 56--66, New York, NY, USA, 2008. ACM.
[15]
R. Rasala, J. Raab, and V. K. Proulx. Java power tools: model software for teaching object-oriented design. In Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education, SIGCSE '01, pages 297--301, New York, NY, USA, 2001. ACM.
[16]
E. Roberts, K. Bruce, J. H. Cross, II, R. Cutler, S. Grissom, K. Klee, S. Rodger, F. Trees, I. Utting, and F. Yellin. The ACM Java task force: final report. In Proceedings of the 37th SIGCSE technical symposium on Computer science education, SIGCSE '06, pages 131--132, New York, NY, USA, 2006. ACM.
[17]
S. Ruby, D. Thomas, and D. H. Hansson. Agile Web Development with Rails. Pragmatic Bookshelf, 2011.
[18]
E. Schlungbaum and T. Elwert. Automatic user interface generation from declarative models. In J. Vanderdonckt, editor, Proceedings of the Second International Workshop on Computer-Aided Design of User Interfaces, pages 3--18, Namur, Belgium, 1996. Presses Universitaires de Namur.

Cited By

View all
  • (2018)Introductory programming: a systematic literature reviewProceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education10.1145/3293881.3295779(55-106)Online publication date: 2-Jul-2018

Recommendations

Reviews

Jesus Borrego

As technology permeates society, applications are expected to demonstrate impressive user interfaces. Beginning students learning programming languages have an expectation to program with user interfaces. Unfortunately, it is common for introductory courses to rely on console applications even in object-oriented languages such as Java and C++, which makes providing user interfaces with these languages difficult in early programming courses. The author of this paper proposes a library that allows simple programs to display user interaction via a Web browser. The library contains a set of modules that can be invoked from a simple program without much knowledge of Web or user interface implementation details. Students can visualize the interaction graphically, enhancing the learning experience. To use the library, students develop specifications for the interface, which can be complex. This requirement can be overwhelming to entry-level programming students, but Hamid states that the specification can be taught early in the course. A drawback is that the library is only supported by a limited number of languages. Nevertheless, the idea of having a library that provides access to a user interface in simple programs is appealing. This library could improve the retention rate of beginning programming students. Instructors developing a programming curriculum using the DrRacket integrated development environment (IDE) languages [1] will benefit from reading this paper. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ACMSE '12: Proceedings of the 50th annual ACM Southeast Conference
March 2012
424 pages
ISBN:9781450312035
DOI:10.1145/2184512
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 29 March 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CS1
  2. RacketUI
  3. teaching libraries
  4. user interface
  5. web

Qualifiers

  • Research-article

Conference

ACM SE '12
Sponsor:
ACM SE '12: ACM Southeast Regional Conference
March 29 - 31, 2012
Alabama, Tuscaloosa

Acceptance Rates

ACMSE '12 Paper Acceptance Rate 28 of 56 submissions, 50%;
Overall Acceptance Rate 502 of 1,023 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Introductory programming: a systematic literature reviewProceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education10.1145/3293881.3295779(55-106)Online publication date: 2-Jul-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media