Advertisement

Teaching Programming and Design-by-Contract

  • Daniel de Carvalho
  • Rasheed Hussain
  • Adil Khan
  • Mansur Khazeev
  • JooYong Lee
  • Sergey Masiagin
  • Manuel MazzaraEmail author
  • Ruslan Mustafin
  • Alexandr Naumchev
  • Victor Rivera
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 916)

Abstract

This paper summarizes the experience of teaching an introductory course to programming by using a correctness by construction approach at Innopolis University, Russian Federation. In this paper we claim that division in beginner and advanced groups improves the learning outcomes, present the discussion and the data that support the claim.

References

  1. 1.
    Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language, 3rd edn. Addison-Wesley Longman Publishing Co., Inc, Boston, MA, USA (2000)zbMATHGoogle Scholar
  2. 2.
    Bratko, I.: Prolog Programming for Artificial Intelligence. Addison-Wesley Longman Publishing Co. Inc, Boston, MA, USA (1986)zbMATHGoogle Scholar
  3. 3.
    Chapman, R.: Correctness by construction: A manifesto for high integrity software. In: Proceedings of the 10th Australian Workshop on Safety Critical Systems and Software - Volume 55. pp. 43–46. SCS 2005, Australian Computer Society, Inc., Darlinghurst, Australia, Australia (2006). http://dl.acm.org/citation.cfm?id=1151816.1151820
  4. 4.
    Hejlsberg, A., Torgersen, M., Wiltamuth, S., Golde, P.: C# Programming Language. Addison-Wesley Professional, 4th edn. (2010)Google Scholar
  5. 5.
    Jensen, K., Wirth, N.: PASCAL User Manual and Report. Springer, New York, NY, USA (1974)CrossRefGoogle Scholar
  6. 6.
    Kernighan, B.W.: The C Programming Language. Prentice Hall Professional Technical Reference, 2nd edn. (1988)Google Scholar
  7. 7.
    Kondratyev, D., Tormasov, A., Stanko, T., Jones, R.C., Taran, G.: Innopolis university-a new it resource for Russia. In: 2013 International Conference on Interactive Collaborative Learning (ICL). pp. 841–848 (Sept 2013)Google Scholar
  8. 8.
    Meyer, B.: Applying “design by contract". Computer 25(10), 40–51 (Oct 1992).  https://doi.org/10.1109/2.161279
  9. 9.
    Meyer, B.: Eiffel: The Language. Prentice-Hall Inc., Upper Saddle River, NJ, USA (1992)zbMATHGoogle Scholar
  10. 10.
    Meyer, B.: Object-oriented Software Construction, 2nd edn. Prentice-Hall Inc., Upper Saddle River, NJ, USA (1997)zbMATHGoogle Scholar
  11. 11.
    Milner, R., Tofte, M., Macqueen, D.: The Definition of Standard ML. MIT Press, Cambridge, MA, USA (1997)CrossRefGoogle Scholar
  12. 12.
    Odersky, M., Micheloud, S., Mihaylov, N., Schinz, M., Stenman, E., Zenger, M., et al.: An overview of the scala programming language. Technical report (2004)Google Scholar
  13. 13.
    Pedroni, M., Meyer, B.: The inverted curriculum in practice. SIGCSE Bull. 38(1), 481–485 (Mar 2006).  https://doi.org/10.1145/1124706.1121493
  14. 14.
    Peyton Jones, S.: Haskell 98 Language and Libraries: the Revised Report. Cambridge University Press (2003)Google Scholar
  15. 15.
    Steele Jr., G.L.: Common LISP: The Language, 2nd edn. Digital Press, Newton, MA, USA (1990)zbMATHGoogle Scholar
  16. 16.
    Tschannen, J., Furia, C.A., Nordio, M., Polikarpova, N.: Autoproof: Auto-active functional verification of object-oriented programs. In: 21st International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Lecture Notes in Computer Science, Springer (2015)Google Scholar
  17. 17.
    Wegner, P.: Concepts and paradigms of object-oriented programming. SIGPLAN OOPS Mess. 1(1), 7–87 (Aug 1990).  https://doi.org/10.1145/382192.383004

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Daniel de Carvalho
    • 1
  • Rasheed Hussain
    • 1
  • Adil Khan
    • 1
  • Mansur Khazeev
    • 1
  • JooYong Lee
    • 1
  • Sergey Masiagin
    • 1
  • Manuel Mazzara
    • 1
    Email author
  • Ruslan Mustafin
    • 1
  • Alexandr Naumchev
    • 1
  • Victor Rivera
    • 1
  1. 1.Innopolis UniversityInnopolisRussia

Personalised recommendations