Abstract—Collaborative robots (cobots) have seen widespread adoption in industrial applications over the last decade. Cobots can be placed outside protective cages and are generally regarded as much more intuitive and easy to program compared to larger classical industrial robots. However, despite the cobots’ widespread adoption, their collaborative potential and opportunity to aid flexible production processes seem hindered by a lack of training and understanding from shopfloor workers. Researchers have focused on technical solutions, which allow novice robot users to more easily train the collaborative robots. However, most of this work have yet to leave research labs. Therefore, training methods are needed with the goal of transferring skills and knowledge onto shop floor workers about how to program collaborative robots. We identify general basic knowledge and skills that a novice must master to program a collaborative robot. We present how to structure and facilitate cobot training based on cognitive apprenticeship and test the training framework on a total of 20 participants using a UR10e and UR3e robot. We considered two conditions: adaptive and self-regulated training. We find that the facilitation was effective in transferring knowledge and skills to novices, however, found no conclusive difference between the adaptive or self-regulated approach. Note to Practitioners— This paper was motivated by the fact that adoption of smaller, so-called collaborative robots is increasing within manufacturing but the potential for a single robot to be used flexibly in multiple places of a production seems unfulfilled. If more unskilled workers understood the collaborative robots and received structured training, they would be capable of programming the robots independently. This could change the current landscape of stationary collaborative robots towards more flexible robot use and thereby increase companies’ internal overall equipment efficiency and competences. To this end, we identify general skills and knowledge for programming a collaborative robot, which help increase transparency of what novices need to know. We show how such knowledge and skills may be facilitated in a structured training framework, which effectively transfers necessary programming knowledge and skills to novices. This framework may be applied to a wider scope of knowledge and skills as the learner progresses. The skills and knowledge that we identify are general across robot platforms, however, collaborative robot interfaces differ. Therefore, a practical limitation to the approach include the need for a knowledgeable person on the specific collaborative robot in question in order to create training material in areas specific to that model. Though, with our list of identified skills, it provides an easier starting point. We show that relatively few skills and knowledge areas can enhance a novice’s programming capability.