At the United States Air Force Academy, a learning-focused transformation of Biology and Physics core courses was made to support deep student learning. This involves first transforming the learning goals from using terms like "list, find, calculate, describe, use, what, and when" to "explain, analyze, apply, create, predict, and evaluate". Students are also exposed to familiar and concrete settings where the knowledge can be applied. E.g. students are asked to serve as "expert witness" in a trial which requires their knowledge on gene expression, or they have to explain how spies can tap phone lines during the Cold War using Faraday's law. Class lessons include mini-lectures (about 10 minutes) and the rest of the time is mostly spent on learning experiences through activities and exploration. Instructors become learning facilitators rather than just lecturers.
The ultimate question is whether students learn just as much from activity based lessons as from traditional lecture style of delivery of content. In Computer Science education, students are invariably exposed to learning through activity based programming assignments since the nature of the discipline is mostly practical and applied. However, programming is not the only activities that students can be involved in, even though it is the most natural one. Especially if one of the learning goals is the development of abstract thinking, care must be taken not to over-emphasize the programming aspect that may monopolize the time and attention the students should spend. Programming projects can take up a lot of time and the students may end up gaining programming skills and not other skills. Here is where concise learning goals need to be articulated and the proportion of time for each learning goal is matched appropriately with the learning activities.
Sagendorf, K., Noyd, R., Morris, D. (2009). The Learning-Focused Transformation of Biology and Physics Core Courses at the U.S. Air Force Academy. Journal of College Science Teaching. January / February 2009.