[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-588738-105":3,"detail-sidebar-cat-0-en-105":81,"doc-detail-588738-en":130},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":74,"head_meta":76,"extra_data":78,"updated_unix":80},105,"en","the-cognitive-toolkit-of-programming-algorithmic-abstraction-decomposition-superposition","The Cognitive Toolkit of Programming - Algorithmic Abstraction, Decomposition-Superposition","","Programming problem-solving involves conscious and unconscious cognitive operations through an iterative, schema-based refinement process. As the programmer adjusts the problem to prior experience-derived schemas, understanding and definition become progressively clearer. The core operations used to build refining models include language abstraction, analogy, algorithmic abstraction, decomposition-superposition, conversion, intuition, and variation. The paper highlights algorithmic abstraction and clarifies the essence of decomposition-superposition as a key element-pair in the cognitive toolkit of programming.",{"@graph":14,"@context":73},[15,34,56],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/document/research-report/","Research & Report",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/document/the-cognitive-toolkit-of-programming-algorithmic-abstraction-decomposition-superposition/588738/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/the-cognitive-toolkit-of-programming-algorithmic-abstraction-decomposition-superposition/588738.png","ImageObject",300,407,{"name":42,"@type":43},"Rizky","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-11-06","2026-10-15",true,{"@type":52,"interactionType":53,"userInteractionCount":55},"InteractionCounter",{"@type":54},"ViewAction",6,{"@type":57,"mainEntity":58},"FAQPage",[59,65,69],{"name":60,"@type":61,"acceptedAnswer":62},"What cognitive operations does the programmer use to build refining models?","Question",{"text":63,"@type":64},"The paper identifies language abstraction, analogy, algorithmic abstraction, decomposition-superposition, conversion, intuition, and variation as primary operations used to set up refining models.","Answer",{"name":66,"@type":61,"acceptedAnswer":67},"How does the paper explain algorithmic abstraction?",{"text":68,"@type":64},"Algorithmic abstraction is discussed as a generalization process connected to analogy-based thinking and problem schemas, where abstract cores are formed by eliminating differences among similar problems.",{"name":70,"@type":61,"acceptedAnswer":71},"What is decomposition-superposition in the cognitive toolkit?",{"text":72,"@type":64},"Decomposition-superposition is presented as an essential element-pair in the cognitive toolkit of programming, and the paper emphasizes its essence while shedding new light on algorithmic abstraction.","https://schema.org",{"og:url":32,"og:type":75,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":77,"canonical":32},"index,follow",{"doc_id":79,"site_id":7},588738,1792160720,{"code":4,"msg":82,"data":83},"success",[84,88,92,96,101,105,110,114,119,122,126],{"id":22,"doc_module":4,"doc_module_name":25,"category_name":85,"show_sort_weight":86,"slug":87},"Story & Novel",90,"story-novel",{"id":26,"doc_module":4,"doc_module_name":25,"category_name":89,"show_sort_weight":90,"slug":91},"Literature",80,"literature",{"id":33,"doc_module":4,"doc_module_name":25,"category_name":93,"show_sort_weight":94,"slug":95},"Exam",70,"exam",{"id":97,"doc_module":4,"doc_module_name":25,"category_name":98,"show_sort_weight":99,"slug":100},5,"Comic",60,"comic",{"id":55,"doc_module":4,"doc_module_name":25,"category_name":102,"show_sort_weight":103,"slug":104},"Technology",50,"technology",{"id":106,"doc_module":4,"doc_module_name":25,"category_name":107,"show_sort_weight":108,"slug":109},7,"Healthcare",40,"healthcare",{"id":111,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":112,"slug":113},8,30,"research-report",{"id":115,"doc_module":4,"doc_module_name":25,"category_name":116,"show_sort_weight":117,"slug":118},9,"Religion & Spirituality",20,"religion-spirituality",{"id":117,"doc_module":4,"doc_module_name":25,"category_name":120,"show_sort_weight":117,"slug":121},"World Cup","world-cup",{"id":123,"doc_module":4,"doc_module_name":25,"category_name":124,"show_sort_weight":123,"slug":125},10,"Lifestyle","lifestyle",{"id":127,"doc_module":4,"doc_module_name":25,"category_name":128,"show_sort_weight":97,"slug":129},19,"General","general",{"code":4,"msg":82,"data":131},{"doc_id":79,"user_id":132,"nickname":42,"user_avatar":133,"doc_module":4,"category_id":111,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":55,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":111,"language":139,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":140,"faqs":141,"seo_title":142,"seo_description":12,"update_tm":143,"read_time":117,"preview_page_count":4},962085564807,"https://ap-avatar.wpscdn.com/davatar_6f874abed73319feea01a86fa6f0fab8","THE COGNITIVE TOOLKIT OF PROGRAMMING–  \nALGORITHMIC ABSTRACTION,  \nDECOMPOSITION-SUPERPOSITION  \nPéter Szlávi, László Zsakó  \nAbstract: As a programmer when solving a problem, a number of conscious and unconscious cognitive operations are being performed. Problem-solving is a gradual and cyclic activity; as the mind is adjusting the problem to its schemas formed by its previous experiences, the programmer gets closer and closer to understanding and defining the problem. The primary cognitive operations the programmer uses to set up refining models are: language abstraction, analogy, algorithmic abstraction, decomposition-superposition, conversion, intuition, and variation.  \nIn our paper we are shedding new light on algorithmic abstraction, while explaining the es-sence of decomposition-superposition, a key element-pair in the cognitive toolkit of program-ming.  \nKey words: programming [~68N01], didactics [~00A35], systemic thinking [~97C30,~97C70], cognitive toolkit [~97Q30], algorithmic abstraction, decomposition, superposition  \n1. The Cognitive Toolkit of Programming  \nAs a programmer when solving a problem, a number of conscious and unconscious cognitive operations are being performed. Problem-solving is a gradual and cyclic activity; as the mind is adjusting the problem to its schemas formed by its previous experiences, the programmer gets closer and closer to understanding and defining the problem. We can say that programming is the series of the problem’s models, based on finer and finer schemas, which need to be elaborated until the basis of the model is the vocabulary, or the set of instruction schemas, of the given programming language (Figure 1) .  \nThe primary cognitive operations the programmer uses to set up refining models are the following:  \n􀁸 language abstraction [1],  \n􀁸 analogy [1],  \n􀁸 algorithmic abstraction,  \n􀁸 decomposition-superposition,  \n􀁸 conversion,  \n􀁸 intuition,  \n􀁸 and variation.  \nThe programmer applies these tools a number of times, for a number of reasons. This is why we will have to mention the given tools more than once.  \nIn our paper we are shedding new light on the well-known notion of algorithmic abstraction, while explaining the essence of decomposition–superposition, a key element-pair in the cognitive toolkit of programming. Our article closely connects to the argumentation started in [1] .  \nFigure 1. The abstract model of programming  \n2. Algorithmic abstraction  \nThe programmer makes use of the cognitive tool of generalization many times and in manifold ways while programming. One of these ways is analogy-based thinking, which we have examined extensively in [1,2] in connection with problem schemas. We have found that analogy-based thinking can be facilitated if we elaborate and introduce well chosen schemas. Since schemas are the results of abstraction, we need to analyze them from this aspect as well.  \nIf we want to save memory, we can create the starting set of analogies by generalizing and abstracting numerous specific problems that are similar, together with their solutions. That is, we highlight their similarity while eliminating their difference, for the sake of finding the “common ancestor,” the abstract core. 1  \nThe elements of the analogy base are an abstract problem and the optimal solution. This thought leads us to the notion of programming theorems: abstract problem + abstract algorithm + verification. We do not need to keep verification in mind all the time; it is enough to perform it only upon introducing the theorem. Just as scientists do when using certain theorems: they check first the conditions and the goal of the research, then accept the truthfulness of the theorems to use without further examination. Needless to say, in public education verification is performed without any sort of formalism, just by common sense; however, it needs to take place, as it facilitates the understanding of how the algorithm and the problem are related. Table 1 provides an exa","cbCaieKAoaLTUBHx","https://ap.wps.com/l/cbCaieKAoaLTUBHx","pdf",658325,"English","# The Cognitive Toolkit of Programming\n## Algorithmic abstraction\n## Programming theorems and analogy base\n## Table 1: The structure of programming theorems","[{\"question\":\"What cognitive operations does the programmer use to build refining models?\",\"answer\":\"The paper identifies language abstraction, analogy, algorithmic abstraction, decomposition-superposition, conversion, intuition, and variation as primary operations used to set up refining models.\"},{\"question\":\"How does the paper explain algorithmic abstraction?\",\"answer\":\"Algorithmic abstraction is discussed as a generalization process connected to analogy-based thinking and problem schemas, where abstract cores are formed by eliminating differences among similar problems.\"},{\"question\":\"What is decomposition-superposition in the cognitive toolkit?\",\"answer\":\"Decomposition-superposition is presented as an essential element-pair in the cognitive toolkit of programming, and the paper emphasizes its essence while shedding new light on algorithmic abstraction.\"}]","The Cognitive Toolkit of Programming - Algorithmic Abstraction, Decomposition-Superposition | PDF",1792065842]