{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T09:29:43Z","timestamp":1742981383384,"version":"3.40.3"},"publisher-location":"Cham","reference-count":36,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030576622"},{"type":"electronic","value":"9783030576639"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-57663-9_16","type":"book-chapter","created":{"date-parts":[[2020,8,11]],"date-time":"2020-08-11T12:15:06Z","timestamp":1597148106000},"page":"246-264","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Teaching Efficient Recursive Programming and Recursion Elimination Using Olympiads and Contests Problems"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7515-9647","authenticated-orcid":false,"given":"Nikolay V.","family":"Shilov","sequence":"first","affiliation":[]},{"given":"Danila","family":"Danko","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,8,12]]},"reference":[{"issue":"3","key":"16_CR1","first-page":"47","volume":"10","author":"G Berry","year":"1976","unstructured":"Berry, G.: Bottom-up computation of recursive programs. RAIRO - Informatique Th\u00e9orique et Applications (Theoret. Inform. Appl.) 10(3), 47\u201382 (1976)","journal-title":"RAIRO - Informatique Th\u00e9orique et Applications (Theoret. Inform. Appl.)"},{"issue":"3","key":"16_CR2","doi-asserted-by":"publisher","first-page":"239","DOI":"10.1007\/BF00264249","volume":"21","author":"RS Bird","year":"1984","unstructured":"Bird, R.S.: Using circular programs to eliminate multiple traversals of data. Acta Informatica 21(3), 239\u2013250 (1984). https:\/\/doi.org\/10.1007\/BF00264249","journal-title":"Acta Informatica"},{"key":"16_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"92","DOI":"10.1007\/978-3-540-70594-9_7","volume-title":"Mathematics of Program Construction","author":"RS Bird","year":"2008","unstructured":"Bird, R.S.: Zippy tabulations of recursive functions. In: Audebaud, P., Paulin-Mohring, C. (eds.) MPC 2008. LNCS, vol. 5133, pp. 92\u2013109. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-70594-9_7"},{"issue":"1","key":"16_CR4","doi-asserted-by":"publisher","first-page":"48","DOI":"10.1007\/BF03023921","volume":"8","author":"EW Dijkstra","year":"1986","unstructured":"Dijkstra, E.W.: On a cultural gap. Math. Intell. 8(1), 48\u201352 (1986). https:\/\/doi.org\/10.1007\/BF03023921","journal-title":"Math. Intell."},{"issue":"7","key":"16_CR5","doi-asserted-by":"publisher","first-page":"501","DOI":"10.1145\/361454.361458","volume":"15","author":"AP Ershov","year":"1972","unstructured":"Ershov, A.P.: Aesthetics and the human factor in programming. Commun. ACM 15(7), 501\u2013505 (1972)","journal-title":"Commun. ACM"},{"key":"16_CR6","unstructured":"Ershov, A.P.: Programming as the second literacy (1980). http:\/\/ershov.iis.nsk.su\/ru\/second_literacy\/article. Accessed 20 Jan 2020 (in Russian)"},{"key":"16_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-11157-3","volume-title":"Algorithms in Modern Mathematics and Computer Science","year":"1981","unstructured":"Ershov, A.P., Knuth, D.E. (eds.): Algorithms in Modern Mathematics and Computer Science. LNCS, vol. 122. Springer, Heidelberg (1981). https:\/\/doi.org\/10.1007\/3-540-11157-3"},{"key":"16_CR8","series-title":"Monographs in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-5983-1","volume-title":"The Science of Programming","author":"D Gries","year":"1981","unstructured":"Gries, D.: The Science of Programming. Monographs in Computer Science. Springer, Heidelberg (1981). https:\/\/doi.org\/10.1007\/978-1-4612-5983-1"},{"issue":"10","key":"16_CR9","doi-asserted-by":"publisher","first-page":"576","DOI":"10.1145\/363235.363259","volume":"12","author":"CAR Hoare","year":"1969","unstructured":"Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576\u2013580 (1969)","journal-title":"Commun. ACM"},{"issue":"4","key":"16_CR10","doi-asserted-by":"publisher","first-page":"323","DOI":"10.1080\/00029890.1974.11993556","volume":"81","author":"DE Knuth","year":"1974","unstructured":"Knuth, D.E.: Computer science and its relation to mathematics. Am. Math. Monthly 81(4), 323\u2013343 (1974)","journal-title":"Am. Math. Monthly"},{"key":"16_CR11","unstructured":"Knuth, D.E.: Textbook Examples of Recursion (1991). https:\/\/arxiv.org\/pdf\/cs\/9301113.pdf. Accessed 20 Jan 2020"},{"key":"16_CR12","volume-title":"The Art of Computer Programming, Volumes 1\u20133 Boxed Set","author":"DE Knuth","year":"1998","unstructured":"Knuth, D.E.: The Art of Computer Programming, Volumes 1\u20133 Boxed Set, 2nd edn. Addison-Wesley, Boston (1998)","edition":"2"},{"key":"16_CR13","unstructured":"Lisitsa, A.: Tackling Fibonacci words puzzles by finite countermodels. Contributed talk at the CAV Workshop Fun With Formal Methods, St. Petersburg, Russia, 13 July 2013. http:\/\/cgi.csc.liv.ac.uk\/~alexei\/Fibonacci_Challenge\/fun2013.pdf. Accessed 20 Jan 2020"},{"key":"16_CR14","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139567879","volume-title":"Systematic Program Design: From Clarity to Efficiency","author":"YA Liu","year":"2013","unstructured":"Liu, Y.A.: Systematic Program Design: From Clarity to Efficiency. Cambridge University Press, Cambridge (2013)"},{"key":"16_CR15","unstructured":"Paterson, M.S., Hewitt C.T.: Comparative schematology. In: Proceedings of the ACM Conference on Concurrent Systems and Parallel Computation, pp. 119\u2013127 (1970)"},{"key":"16_CR16","unstructured":"Shilov, N.V.: Study of recursion elimination for a class of semi-interpreted recursive program schemata. In: Abstracts of 31st Nordic Workshop on Programming Theory NWPT 2019, Tallinn, Estonia, 13\u201315 November 2019, pp. 54\u201358 (2019)"},{"issue":"5","key":"16_CR17","doi-asserted-by":"publisher","first-page":"549","DOI":"10.18255\/1818-1015-2018-5-549-560","volume":"25","author":"NV Shilov","year":"2018","unstructured":"Shilov, N.V.: Etude on recursion elimination. Model. Anal. Inf. Syst. 25(5), 549\u2013560 (2018)","journal-title":"Model. Anal. Inf. Syst."},{"key":"16_CR18","unstructured":"Shilov, N.V.: Algorithm design patterns: program theory perspective. In: Proceedings of Fifth International Valentin Turchin Workshop on Metacomputation (META-2016), University of Pereslavl, pp. 170\u2013181 (2016)"},{"issue":"9","key":"16_CR19","doi-asserted-by":"publisher","first-page":"98","DOI":"10.1145\/567498.567506","volume":"45","author":"NV Shilov","year":"2002","unstructured":"Shilov, N.V., Yi, K.: Engaging students with theory through ACM collegiate programming contests. Commun. ACM 45(9), 98\u2013101 (2002)","journal-title":"Commun. ACM"},{"key":"16_CR20","unstructured":"Uspensky, A.V.: Mathematics Apology. Amphora, Sant-Petersburg (2009). (in Russian)"},{"key":"16_CR21","doi-asserted-by":"crossref","unstructured":"Shilov, N.V., Shilova, S.O.: On mathematical contents of computer science contests. In: Enhancing University Mathematics: Proceedings of the First KAIST International Symposium on Teaching. CBMS Issues in Mathematics Education, vol. 14, pp. 193\u2013204. American Society (2007)","DOI":"10.1090\/cbmath\/014\/21"},{"key":"16_CR22","unstructured":"Computing Curricula 2001. Computer Science. https:\/\/www.acm.org\/binaries\/content\/assets\/education\/curricula-recommendations\/cc2001.pdf. Accessed 01 July 2020"},{"key":"16_CR23","unstructured":"Computer Science Curricula (2013). https:\/\/www.acm.org\/binaries\/content\/assets\/education\/cs2013_web_final.pdf. Accessed 01 July 2020"},{"key":"16_CR24","unstructured":"International Mathematical Olympiad. https:\/\/www.imo-official.org\/default.aspx. Accessed 20 Jan 2020"},{"key":"16_CR25","unstructured":"Problems (with solutions). 60th International Mathematical Olympiad. Bath - UK, 11th\u201322nd July 2019. https:\/\/www.imo2019.uk\/wp-content\/uploads\/2018\/07\/solutions-r856.pdf. Accessed 20 Jan 2020"},{"key":"16_CR26","unstructured":"ICPC. International Collegiate Programming Contest. https:\/\/icpc.baylor.edu\/. Accessed 20 Jan 2020"},{"key":"16_CR27","unstructured":"IMO Grand Challenge. https:\/\/imo-grand-challenge.github.io\/. Accessed 20 Jan 2020"},{"key":"16_CR28","unstructured":"The Egg Dropping Puzzle. From Wikipedia, the free encyclopedia, article on Dynamic Programming. https:\/\/en.wikipedia.org\/wiki\/Dynamic_programming#Egg_dropping_puzzle. Accessed 20 Jan 2020"},{"key":"16_CR29","unstructured":"Corecursion. From Wikipedia, the free encyclopedia. https:\/\/en.wikipedia.org\/wiki\/Corecursion. Accessed 20 Jan 2020"},{"key":"16_CR30","unstructured":"Tail call. From Wikipedia, the free encyclopedia. https:\/\/en.wikipedia.org\/wiki\/Tail_call. Accessed 20 Jan 2020"},{"key":"16_CR31","unstructured":"Fun With Formal Methods (2013). http:\/\/www.iis.nsk.su\/fwfm2013. Accessed 20 Jan 2020"},{"key":"16_CR32","unstructured":"Fun With Formal Methods (2019). https:\/\/persons.iis.nsk.su\/en\/FWFM19. Accessed 20 Jan 2020"},{"key":"16_CR33","unstructured":"Codeforces. From Wikipedia, the free encyclopedia. https:\/\/en.wikipedia.org\/wiki\/Codeforces. Accessed 22 June 2020"},{"key":"16_CR34","unstructured":"Code Forces. Sponsored by Telegram. https:\/\/codeforces.com\/. Accessed 22 June 2020"},{"key":"16_CR35","unstructured":"D. New Year and the Permutation Concatenation. https:\/\/codeforces.com\/contest\/1091\/problem\/D?locale=en. Accessed 22 June 2020"},{"key":"16_CR36","unstructured":"1091D - New Year and the Permutation Concatenation. https:\/\/codeforces.com\/blog\/entry\/64196. Accessed 22 June 2020"}],"container-title":["Lecture Notes in Computer Science","Frontiers in Software Engineering Education"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-57663-9_16","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,6]],"date-time":"2021-04-06T09:13:36Z","timestamp":1617700416000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-57663-9_16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030576622","9783030576639"],"references-count":36,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-57663-9_16","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"12 August 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FISEE","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Workshop on Frontiers in Software Engineering Education","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Villebrumier","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"France","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 November 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13 November 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"1","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"fisee2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.laser-foundation.org\/fisee\/fisee-2019\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"26","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"25","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"96% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Papers were invited; 3 papers stem from an associated TOOLS Workshop: Artificial and Natural Tools (ANT)","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}