In this paper, we present our experience with redesigning an introductory computer science course for (electrical) engineers with blended learning concepts. It is a large mandatory course with eight credit points over the course of two semesters, where first year electrical engineers learn how to program with Arduino, C and Python. Additionally, they need to cover basic computer science concepts such as binary numbers, Boolean algebra, encodings, finite state machines and object-oriented programming. We designed the course to cover the fields that are most relevant to our students’ future careers. With the new format, students declare they are much more engaged with the course, they drop the course less often and they actually achieve better exam results. We completely re-structured the course, introduced inverted classroom elements and hackathons and we continuously optimized and adapted the course. The main focus is on hands-on-experience and teamwork, which we mostly achieve by the use of hackathons. In this paper, we described the contents and teaching concepts of the course and we discussed the achieved results.