Advertisement

Teaching ‘Concepts of Programming Languages’ with Ada

  • Theodor Tempelmeier
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7308)

Abstract

In many universities programming is taught using the current mainstream languages C, C++, C#, or Java. For Universities of Applied Sciences (Fachhochschulen) in Germany this is almost mandatory, as the contents of their curricula are always scrutinized with respect to (immediate) practical applicability. This contribution presents the concepts behind an elective course on ‘Concepts of programming Languages’ in the master’s degree program of the computer science department of the Fachhochschule Rosenheim. The course has been taught over the years, using the programming language Ada as a central subject throughout the course. In spite of the contrast to mainstream languages the use of Ada in this course has received positive feedback from the students and the colleagues and may well be designated as successful.

Keywords

Teaching programming concepts of programming languages Ada University of Applied Sciences 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Tempelmeier, T.: Embedding Practical Real-Time Education in a Computer Science Curriculum. In: Nawrocki, J., Schwarz, J.-J., Zalewski, J. (eds.) Real-Time Systems Education III. Proceedings of the IEEE Workshop, November 21, 1998. Scientific Centre of the Polish Academy of Sciences, IEEE Computer Society, Poznan, Los Alamitos (1999)Google Scholar
  2. 2.
    Fiore, M.: Concepts in Programming Languages. University of Cambridge (2010), http://www.cl.cam.ac.uk/teaching/1011/ConceptsPL/ (accessed February 15, 2012)
  3. 3.
    Göers, J.: Programmiersprachenkonzepte. Universität Osnabrück (2010), http://www-lehre.inf.uos.de/psk/1011/ (accessed February 15, 2012)
  4. 4.
    Klaeren, H.: Konzepte höherer Programmiersprachen. Universität Tübingen (January 24, 2012), http://pu.inf.uni-tuebingen.de/users/klaeren/ko.pdf (accessed February 15, 2012)
  5. 5.
    Mezini, M.: Concepts of Programming Languages. TU Darmstadt (2011), http://www.stg.tu-darmstadt.de/teaching/courses/ss2011/concepts_of_programming_languages_ss2011/cpl_schedule_2/index.en.jsp (accessed February 15, 2012)
  6. 6.
    Mitchell, J.: Programming Languages. Stanford University (2008), https://courseware.stanford.edu/pg/courses/214531/cs242-fall-2011 (accessed February 15, 2012)
  7. 7.
    Zhang, T.: Principles of Programming Languages. Iowa State University (2010), http://www.cs.iastate.edu/~tingz/classes/cs342/Fall2010/ (accessed February 15, 2012)
  8. 8.
    Ploedereder, E.: Konzepte der Programmiersprachen. Universität Stuttgart, http://www.iste.uni-stuttgart.de/ps/lehre/ueberblick/konzepte-der-programmiersprachen.html (accessed February 15, 2012)
  9. 9.
    Sieber, K.: Konzepte höherer Programmiersprachen. Universität Siegen (2006), http://www.informatik.uni-siegen.de/sieber/public/2006_SS_KP/Main.html (accessed February 15, 2012)
  10. 10.
    Zimmermann, W., Picht, R.: Konzepte höherer Programmiersprachen. Universität Halle-Wittenberg, http://swt.informatik.uni-halle.de/lehre/lehrveranstaltungen_im_ws_2010/konzepte_hoeherer_programmierspra/#anchor2361387 (accessed February 15, 2012); To appear: Oldenbourg-Verlag, München (September 2012)
  11. 11.
    Sebesta, R.W.: Concepts of Programming Languages, 9th edn. Addison-Wesley (2009)Google Scholar
  12. 12.
    Watt, D.A.: Programming Language Design Concepts. John Wiley & Sons (2004)Google Scholar
  13. 13.
    McCormick, J.W.: Ada and Software Engineering Education: One Professor’s Experience. In: Session “Ada and Software Engineering Education” at the 13th International Conference on Reliable Software Technologies, Ada-Europe 2008, Venice, Italy, June 16-20 (2008); Ada User Journal 29(3), 203–207 (September 2008)Google Scholar
  14. 14.
    ETAS Group: ASCET Software Products, http://www.etas.com/en/products/ascet_software_products.php?langS=true& (accessed March 2, 2012)
  15. 15.
    Eisemann, U.: Guidelines for a Model-based Development Process with Automatic Code Generation. In: Niggemann, O., Giese, H (Hrsg.) Proceedings of the 3rd Workshop on Object-oriented Modeling of Embedded Real-Time Systems (OMER 3). HNI-Verlagsschriftenreihe, Paderborn, Band 191, Heinz Nixdorf Institut, Universität Paderborn (2005)Google Scholar
  16. 16.
    Blache, G.: Model based development & automatic code generation for safety critical systems with ASCET. In: Ada Deutschland, Workshop Entwicklung Zuverlässiger Software-Systeme, Hochschule Regensburg (Juni 18, 2009), http://www.ada-deutschland.de/sites/default/files/tagungen/ws2009/presentations/006_Blache_GI_Ada2009.pdf (accessed March 2, 2012)
  17. 17.
    Henricson, M., Nyquist, E.: Programming in C++, Rules and Recommendations. Original translation from Swedish by Joseph Supanich. Ellemtel Telecommunication Systems Laboratories, Sweden, http://www.doc.ic.ac.uk/lab/cplus/c++.rules/ (accessed November 25, 2011)
  18. 18.
    Ada 95 Quality and Style: Guidelines for Professional Programmers. SPC-94093-CMC. Version 01.00.10. Software Productivity Consortium, Herndon, Virginia (October 1995) www.adaic.org/resources/add_content/docs/95style/95style.pdf (accessed November 25, 2011)
  19. 19.
    Lindsey, C.H., Van Der Meulen, S.G.: Informal Introduction to Algol 68. North-Holland Publishing Company (1973)Google Scholar
  20. 20.
    Meyers, S.: More Effective C++: 35 New Ways to Improve Your Programs and Designs. Addison-Wesley (2011); second e-book releaseGoogle Scholar
  21. 21.
    Barnes, J.: Rationale for Ada 2005. John Barnes Informatics, Reading, England (2006), http://www.adaic.org/standards/05rat/Rationale05.pdf (accessed November 25, 2011)
  22. 22.
    Barnes, J.: Programming in Ada 2005. Addison-Wesley, Harlow (2006)Google Scholar
  23. 23.
    DO-178B Software Considerations in Airborne Systems and Equipment Certification. RTCA, SC-167, EUROCAE, WG-12, December 1 (1992)Google Scholar
  24. 24.
    Roßkopf, A., Tempelmeier, T.: Aspects of Flight Control Software - A Software Engineering Point of View. In: 24th IFAC/IFIP Workshop on Real-Time Programming, Schloss Dagstuhl, Saarland, Germany, May 31-June 2. Pergamon, Elsevier Science, Oxford (1999); Also in: Control Engineering Practice 8(6), 675–680 (2000) Google Scholar
  25. 25.
    Odersky, M.: Scala By Example. Draft. Programming Methods Laboratory, EPFL, Switzerland (May 24, 2011), http://www.scala-lang.org/docu/files/ScalaByExample.pdf (accessed November 25, 2011)
  26. 26.
    Michl, W. (Hrsg.): Evaluation und Lehrbericht - Empfehlungen für Studiendekane. DiZ - Zentrum für Hochschuldidaktik der bayerischen Fachhochschulen, Workshop of the Bavarian Deans of Studies, November 11-12. ZIEL Verlag, Augsburg (1999) (in German); under presence and approval of a representative of the Bavarian Ministry of Education Google Scholar
  27. 27.
    Halbwachs, N.: Synchronous programming of reactive systems. Kluwer Academic Pub. (1993)Google Scholar
  28. 28.
    Halbwachs, N.: A synchronous language at work: the story of Lustre. In: Third ACM and IEEE International Conference on Formal Methods and Models for Co-Design, MEMOCODE 2005, Verona, Italy (2005), http://hal.archives-ouvertes.fr/hal-00190883/fr/

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Theodor Tempelmeier
    • 1
  1. 1.University of Applied SciencesRosenheimGermany

Personalised recommendations