Radoslav Yoshinov, Oleg Iliev



How to learn Computer Science, using Computer Science

pdf PDF


Many different learning styles exist nowadays. In general, they contain a sequence of steps the student has to go through in order to get new knowledge. The truth, however, is that the teacher most often provides students with a problem, a dozen of facts considered to be an “absolute truth”, his own solution to the problem and a subsequent assessment. Such, well known, learning pattern has a couple of shortcomings that many scientific papers are trying to solve. This paper aims to solve a general drawback of the standard learning approach, where the students accumulate knowledge while remembering set of definitions that subsequently do not know how to use, because they often do not understand them – how and why they were obtained. As an alternative approach, this paper defines a learning model where the teacher provides just a couple of “learning blocks” considered to be axiomatic set for a particular subject or a lesson, together with a number of problems that students have to solve. While solving each individual problem, the student himself reaches new definitions, which he or she then adds to his “dictionary” of “learning blocks”. In other words, the students build new, more complex, “learning blocks” by their own, based on a few core “blocks” or other “blocks”, which they already are built by their own. This learning model follows the philosophy that a theorem is composed by several axioms (core “learning blocks”) and/or one or more other theorems (newly built “learning blocks”). To demonstrate the relevance of the presented model, a specific domain was chosen, where the model is applied – Computer Science. There, the students are provided with the opportunity to study Computer Science through Computer Science itself, having just a few key “learning blocks” initially.


Learning block, Controlled self-study, Learning model, Computer Science, Algorithms, Self-generated analogies, Self-explanation


[1] A. Newell, H. A. Simon. (1972). Human Problem Solving. Englewood Cliffs Prentice-hall.

[2] Anderson, J. R. (1993). Problem solving and learning. American Psychologist Vol 48(1), 35-44.

[3] Belford, G. G. (2007, Dec 14). Computer science. Retrieved from Encyclopedia Britannica: https://www.britannica.com/topic/computer-science

[4] Honey, P., & Mumford, A. (1992). The Manual of Learning Styles. Peter Honey Publications; 3rd Revised edition edition.

[5] Kohler, W. (1927). The Mentality of Apes. New Yourk: Liveright.

[6] Roger C. Schank, Tamara R. Berman, Kimberli A. Macpherson. (199). Learning by Doing. In C. M. Reigeluth, Instructional-design Theories and Models: A New Paradigm of Instructional Theory (pp. 161-183). Mahwah: Lawrence Erlbaum Associates.

[7] Schank, R. C. (1995). Tell Me a Story: Narrative and Intelligence. Northwestern University Press.

[8] Thorndike, E. L. (1898). Animal intelligence: An experimental study of the associative processes in animals. The Psychological Review: Monograph Supplements, Vol 2(4), 2, Whole No.8.

[9] Tolman, E. C. (1932). Purposive behavior in animals and men. New Yourk: Appleton-Century-Crofts.

[10] Wilbert J. McKeachie, A. O. (1987). Teaching and Learning in the College Classroom. A Review of the Research Literature. National Center for Research to Improve Postsecondary Teaching and Learning, Ann Arbor, MI.

[11] Wong, E. D. (1993). Self-generated analogies as a tool for constructing and evaluating explanations of scientific phenomena. JRST, 367-380.

Cite this paper

Radoslav Yoshinov, Oleg Iliev. (2017) How to learn Computer Science, using Computer Science. International Journal of Computers, 2, 223-228


Copyright © 2017 Author(s) retain the copyright of this article.
This article is published under the terms of the Creative Commons Attribution License 4.0