ABSTRACT
The emergence of networked computers has originated new technologies for teaching and learning, particularly, the technology of learning management systems. We have applied Erlang to deal with the concurrent part of a distributed system to support teaching and learning tasks. We have also employed declarative programming together with some formal tools to elaborate the specification and the conceptual model of the system and some extreme programming techniques to deal with some issues of software development. We show how Erlang supports the transition from the specification to the implementation, and the whole concurrent and computational process of our distributed system.
Supplemental Material
- Joe Armstrong. Programming Erlang. Software for a concurrent world. The Pragmatic Programmers, 2007. Google ScholarDigital Library
- William M. Bart. Encyclopedia of Educational Psychology, chapter Bloom's taxonomy of educational objectives, pages 110--111. SAGE Publications, 2008.Google Scholar
- Rod M. Burstall and John Darlington. A transformation system for developing recursive programs. Journal of the Association for Computing Machinery, 24(1):44--67, January 1977.Google ScholarDigital Library
- Kent Beck. Extreme Programming Explained. Embrace change. Addison-Wesley Professional, 1999.Google Scholar
- Richard Bird. An introduction to functional programming using Haskell. Prentice-Hall, second edition, 1998. Google ScholarDigital Library
- Grady Booch and James Rumbaugh. The Unified Modeling Language User Guide. Addison-Wesley, 1998. Google ScholarDigital Library
- Manfred Broy. Compositional refinement of interactive systems. Journal of the ACM, 44(6):850--891, November 1997. Google ScholarDigital Library
- Manfred Broy. From "formal methods" to system modeling. In Cliff B. Jones, Zhiming Liu, and Jim Woodcock, editors, Formal Methods and Hybrid Real-Time Systems, Lectures Notes in Computer Science, pages 24--44. Springer-Verlag, 2007. Google ScholarDigital Library
- Alistair Cockburn. Goals and use cases. JOOP, 10(5):35--40, 1997.Google Scholar
- Edward F. Crawley. Creating the CDIO Syllabus, a universal template forengineering education. Vol. 3, 32nd Annual Frontiersin Education (FIE'02), ASEE/IEEE, November 2002.Google Scholar
- Edger W. Dijsktra. A discipline of programming. Prentice-Hall, 1976.Google Scholar
- Matthew Hennesy. A distributed Pi-Calculus. Cambridge University Press, 2007. Google ScholarDigital Library
- Albert S. Huang and Larry Rudolph. Bluetooth Essentials for Programmers. Cambridge University Press, 2007. Google ScholarDigital Library
- Mike Joy, Boris Muzykantskii, Simon Rawles, and Michael Evans. An infrastructure for web--based computer-assisted learning. J. Educ. Resour. Comput., 2(4):4, 2002. Google ScholarDigital Library
- James Keogh and James Edward Keogh. J2ME: The Complete Reference. McGraw-Hill/Osborne, 2003. Google ScholarDigital Library
- Jonathan Knudsen. Wireless Java: Developing with J2ME. Apress, 2003.Google Scholar
- Bruce J. MacLennan. Functional programming. Practice and theory. Addison-Wesley, 1990.Google Scholar
- Kim Marshall. The use of multiple choice options in law. In Reggie Kwan, Robert Fox, F.T. Chan, and Philip Sang, editors, Enhancing Learning Through Technology. Research on emerging technologies and pedagogies, pages 263--276. Scientific World, 2008.Google Scholar
- Robin Milner. Communication and concurrency. Prentice-Hall, 1989.Google ScholarDigital Library
- Thomas Noll and Chanchal Kumar Roy. Modeling Erlang in the Pi-Calculus. In ERLANG '05: Proceedings of the 2005 ACM SIGPLAN workshop on Erlang, pages 72--77, New York, NY, USA, 2005. ACM. Google ScholarDigital Library
- Helmut Partsch. Specification and Transformation of Programs. Texts and Monographs in Computer Science. Springer-Verlag, 1990.Google ScholarCross Ref
- Alberto Pettorossi and Maurizio Proietti. Rules and Strategies for Transforming Functional and Logic Programs. ACM Computing Surveys, 28(2):360--414, 1996. Google ScholarDigital Library
- Chanchal Kumar Roy, Thomas Noll, Banani Roy, and James R. Cordy. Towards automatic verification of Erlang programs by π-calculus translation. In ERLANG '06: Proceedings of the 2006 ACM SIGPLAN workshop on Erlang, pages 38--50, New York, NY, USA, 2006. ACM. Google ScholarDigital Library
- Nicola Santoro. Design and Analysis of Distributed Algorithms. Wiley-Interscience, 2007. Google ScholarDigital Library
- Clean Site. www.cs.kun.nl/clean, 2009.Google Scholar
- Bloom's taxonomy and University of Victoria Web Site. http://www.coun.uvic.ca/learning/exams/blooms-taxonomy.html, 2009Google Scholar
- Erlang Site. www.erlang.org, 2009.Google Scholar
- Haskell Site. www.haskell.org, 2009.Google Scholar
- Raymond Smith. Wi-Fi Home Networking. McGraw-Hill/TAB Electronics, 2003. Google ScholarDigital Library
- Charambolos Vrasidas. Issues of Pedagogy and Design in e-learnnig Systems. In SAC2004, Nicosia, Cyprus, March 2004. ACM. Google ScholarDigital Library
- Leonard Webster and David Murphy. Enhancing learning through technology: Challenges and responses. In Reggie Kwan, Robert Fox, F.T. Chan, and Philip Sang, editors, Enhancing Learning Through Technology. Research on emerging technologies and pedagogies, pages 1--16. Scientific World, 2008.Google Scholar
Index Terms
Development of a distributed system applied to teaching and learning
Recommendations
A more accurate semantics for distributed erlang
ERLANG '07: Proceedings of the 2007 SIGPLAN workshop on ERLANG WorkshopIn order to formally reason about distributed Erlang systems, it is necessary to have a formal semantics. In a previous paper we have proposed such a semantics for distributed Erlang. However, recent work with a model checker for Erlang revealed that ...
From e-learning to games-based e-learning: using interactive technologies in teaching an IS course
The e-phenomenon has profoundly changed many aspects of society and, inevitably, has a commensurate impact on higher education. E-learning has now evolved from a marginal form of education to a commonly accepted alternative to traditional face-to-face ...
A visual programming environment for introducing distributed computing to secondary education
AbstractThe paper introduces a visual programming language and corresponding web and cloud-based development environment called NetsBlox. NetsBlox is an extension of Snap! and builds upon its visual formalism as well as its open source code ...
Highlights- NetsBlox is an educational visual programming language which extends Berkeleys Snap!
Comments