  Shaping first year students' mind to help them master abstraction skills is
as crucial as it is challenging. Although abstraction is a key competence in
problem-solving (in particular in STEM disciplines), students are often found
to rush that process because they find it hard and do not get any direct
outcome out of it. They prefer to invest their efforts directly in a concrete
ground, rather than using abstraction to create a solution.
  To overcome that situation, in the context of our CS1 course, we implemented
a tool called CAF\'E 2.0. It allows students to actively and regularly practice
(thanks to a longitudinal activity) their abstraction skills through a
graphical programming methodology. Moreover, further than reviewing students'
final implementation, CAF\'E 2.0 produces a personalized feedback on how
students modeled their solution, and on how consistent it is with their final
code. This paper describes CAF\'E 2.0 in a general setting and also provides a
concrete example in our CS1 course context. This paper also assesses students'
interaction with CAF\'E 2.0 through perception and participation data. Finally,
we explain how CAF\'E 2.0 could extended in another context than a CS1 course.
