A system for generating computer programs, the system comprising: • a plurality of physical carriers of information comprising thereon a description text and/or a graphical symbol; • an image capturing device configured to capture a digital image; • a computer device, comprising a display screen, configured to process the digital image and to recognize the carriers on the processed image, determine the arrangement of the carriers with respect to each other and to convert the extracted arrangement to a computer program; whereby • the physical carriers of information comprise thereon a rectangular contrasting marker associated with an element of a computer program in the computer device and are configured to be sequentially arranged, to form the arrangement representing the computer program, along a first axis whereas at least one physical carrier of information is configured to receive a physical carrier of information on its right side, along a second axis; • whereas said computer device is configured to: ∘ process the digital image by identifying the markers and coordinates of their vertices and transforming the digital image by correcting the image perspective to remove perspective distortion, based on data regarding the coordinates of vertices of the identified markers; and ∘ prior to converting the extracted arrangement to a computer program: ▪ on said captured digital image, present a graphical icon above each recognized marker; ▪ output the combined digital image; ▪ allow the user to make another attempt at capturing the digital image in case not all markers have been recognized; and ▪ proceed to convert the extracted arrangement to a computer program. • a plurality of physical carriers of information comprising thereon a description text and/or a graphical symbol; • an image capturing device configured to capture a digital image; • a computer device, comprising a display screen, configured to process the digital image and to recognize the carriers on the processed image, determine the arrangement of the carriers with respect to each other and to convert the extracted arrangement to a computer program; • the physical carriers of information comprise thereon a rectangular contrasting marker associated with an element of a computer program in the computer device and are configured to be sequentially arranged, to form the arrangement representing the computer program, along a first axis whereas at least one physical carrier of information is configured to receive a physical carrier of information on its right side, along a second axis; • whereas said computer device is configured to: ∘ process the digital image by identifying the markers and coordinates of their vertices and transforming the digital image by correcting the image perspective to remove perspective distortion, based on data regarding the coordinates of vertices of the identified markers; and ∘ prior to converting the extracted arrangement to a computer program: ▪ on said captured digital image, present a graphical icon above each recognized marker; ▪ output the combined digital image; ▪ allow the user to make another attempt at capturing the digital image in case not all markers have been recognized; and ▪ proceed to convert the extracted arrangement to a computer program. ∘ process the digital image by identifying the markers and coordinates of their vertices and transforming the digital image by correcting the image perspective to remove perspective distortion, based on data regarding the coordinates of vertices of the identified markers; and ∘ prior to converting the extracted arrangement to a computer program: ▪ on said captured digital image, present a graphical icon above each recognized marker; ▪ output the combined digital image; ▪ allow the user to make another attempt at capturing the digital image in case not all markers have been recognized; and ▪ proceed to convert the extracted arrangement to a computer program. ▪ on said captured digital image, present a graphical icon above each recognized marker; ▪ output the combined digital image; ▪ allow the user to make another attempt at capturing the digital image in case not all markers have been recognized; and ▪ proceed to convert the extracted arrangement to a computer program.