Technology - based learning could help students achieve fundamental abilities and skills like computational thinking and creativity. Engaging young students in computer science concepts and programming with a creative and enjoyable way is a challenging issue. We are aiming to apply and evaluate constructionist or apprenticeship techniques and visual programming tools that could assist and improve the learning activity.