Live briefing
Everything about Reflective programming
Ability of a process to examine and modify itself
In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Reflective programmingA 5-minute orientation
- Skim a recent paper: Leveraging ChatGPT for personalized reflective learning in programming education: effects on self-efficacy, higher-order thinking, and project implementation skillsInfluential work since 2022
- Pick up a classic book: Practicing Core ReflectionThe most-reprinted book on the subject
- Read the landmark paper: Ingenuity of scratch programming on reflective thinking towards problem solving and computational thinkingCited 42 times
- Go sideways: Type introspectionA closely related topic
- Go sideways: Run-time type informationA closely related topic
📖 Definitions
Noun A paradigm that enables a program to examine, introspect and modify its own structure and behavior at runtime.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Ingenuity of scratch programming on reflective thinking towards problem solving and computational thinking
Reflective Programming in the Relational Algebra
A predictive analysis of learning motivation and reflective thinking skills on computer programming achievement
Impact of Artificial Intelligence Technology on Students' Computational and Reflective Thinking in a Computer Programming Course
Directly reflective meta-programming
Coping with plagiarism and grading load: Randomized programming assignments and reflective grading
The effect of PDCA cycle strategy on pupils’ tangible programming skills and reflective thinking
A classroom SNS to promote reflective activity in programming learning for children
🆕 Influential since 2022
Leveraging ChatGPT for personalized reflective learning in programming education: effects on self-efficacy, higher-order thinking, and project implementation skills
Integrating Computational Thinking Diagnostic Mechanism and Reflective Learning: An Innovative Approach to Enhance Learning Outcomes in Introductory Programming
Case Study: Enhancing Learning in C Programming Through Gibbs Reflective Cycle
Reflective AI use and student engagement in AI-supported programming: technology acceptance, programming self-efficacy, and behavioral trace evidence
Understanding How Technology Acceptance Relates to Programming Self-Efficacy in AI-Supported Programming Learning: The Roles of Learning Interest, Engagement, and Reflective Use
📚 Books worth reading
- 📕Practicing Core ReflectionFrits G. Evelein, Fred A. J. Korthagen · 2014
- 📕Land surface temperature measurements from EOS MODIS dataZhengming Wan · 1993
Revisit, reflect, retellLinda Hoyt · 1998- 📕Semi-annual EOS contract reportP. Slater · 1997
- 📕Documentation and user's guide for interactive spectral analysis and filter program package useful in the processing of seismic reflection dataJohn J. Miller · 1982
- 📕Beyond ActionsNoriyuki Inoue · 2014
Reflective practice for educatorsKaren Figler Osterman · 1993
Learning Together With Young ChildrenMargie Carter · 2007
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Type introspection In computing, type introspection is the ability of a program to examine the type or properties of an object at runtime. Some programming languages possess…
- Run-time type information In computer programming, run-time type information or run-time type identification (RTTI) is a feature of some programming languages (such as C++, Object…
- Reflection (C++) Reflection in C++ refers to the usage of reflective programming, introduced to the C++ programming language in C++26. Reflection in C++, unlike other languages…
- Typeof typeof, alternately also typeOf, and TypeOf, is an operator provided by several programming languages to determine the data type of a variable. This is…
- This (computer programming) this, self, and Me are keywords used in some computer programming languages to refer to the object, class, or other entity which the currently running…
- Java syntax The syntax of Java is the set of rules defining how a Java program is written and interpreted. The syntax is mostly derived from C and C++. Unlike C++…
- Template (C++) Templates are a feature of the C++ programming language that allow functions and classes to operate with generic types. This allows a function or class…
- Destructor (computer programming) In object-oriented programming, a destructor (sometimes abbreviated dtor) is a method which is invoked mechanically just before the memory of the object…