The article describes a software package (automated knowledge assessment system) that allows in practice to apply a new type of tasks for automated control of knowledge and skills in programming, based on a constructive-selective method. In such tasks, the student constructs an answer (program) from the proposed components (lines of program code), and the task involves many correct answers. A new type of task allows assessing the knowledge of previously studied algorithms and skills of writing programs, that complement black-box testing. The developed automated control system consists of two subsystems: “Processing” and “Demonstration”. The “Demonstration” subsystem, which is a web application, provides the minimum necessary set of features for using this type of tasks in the educational process, and it also serves as an example that can be used when developing extensions for other systems. The “Processing” subsystem allows integration of a new type of programming tasks into various automated knowledge assessment systems and LMS, if they provide an opportunity for expansion. A teacher creates manually or using the tools developed by the authors of this article a pattern and a list of components before applying a new type of task. A student makes up the answer (program) from the proposed components (lines of program code). The assessment algorithm evaluates the compliance of the student’s answer with the pattern and assesses compliance in the interval [0; 1].