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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
References
Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language, 3rd edn. Addison-Wesley Longman Publishing Co., Inc, Boston, MA, USA (2000)
Bratko, I.: Prolog Programming for Artificial Intelligence. Addison-Wesley Longman Publishing Co. Inc, Boston, MA, USA (1986)
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
Hejlsberg, A., Torgersen, M., Wiltamuth, S., Golde, P.: C# Programming Language. Addison-Wesley Professional, 4th edn. (2010)
Jensen, K., Wirth, N.: PASCAL User Manual and Report. Springer, New York, NY, USA (1974)
Kernighan, B.W.: The C Programming Language. Prentice Hall Professional Technical Reference, 2nd edn. (1988)
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)
Meyer, B.: Applying “design by contract". Computer 25(10), 40–51 (Oct 1992). https://doi.org/10.1109/2.161279
Meyer, B.: Eiffel: The Language. Prentice-Hall Inc., Upper Saddle River, NJ, USA (1992)
Meyer, B.: Object-oriented Software Construction, 2nd edn. Prentice-Hall Inc., Upper Saddle River, NJ, USA (1997)
Milner, R., Tofte, M., Macqueen, D.: The Definition of Standard ML. MIT Press, Cambridge, MA, USA (1997)
Odersky, M., Micheloud, S., Mihaylov, N., Schinz, M., Stenman, E., Zenger, M., et al.: An overview of the scala programming language. Technical report (2004)
Pedroni, M., Meyer, B.: The inverted curriculum in practice. SIGCSE Bull. 38(1), 481–485 (Mar 2006). https://doi.org/10.1145/1124706.1121493
Peyton Jones, S.: Haskell 98 Language and Libraries: the Revised Report. Cambridge University Press (2003)
Steele Jr., G.L.: Common LISP: The Language, 2nd edn. Digital Press, Newton, MA, USA (1990)
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)
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
de Carvalho, D. et al. (2020). Teaching Programming and Design-by-Contract. In: Auer, M., Tsiatsos, T. (eds) The Challenges of the Digital Transformation in Education. ICL 2018. Advances in Intelligent Systems and Computing, vol 916. Springer, Cham. https://doi.org/10.1007/978-3-030-11932-4_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-11932-4_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-11931-7
Online ISBN: 978-3-030-11932-4
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)