I expect there are at least two major viewpoints regarding what CS2 ought to be about. One possible view is that the goal is for students to learn the data-structure building blocks of larger computer programs and to develop skill in selecting and using them. Alternatively, many of us view the goal of CS2, and all our courses, is that the students understand "Computer Science" and implicit in understanding computer science is knowing the details of implementing data structures. To a great extent, these two viewpoints are incompatible.
For us to resolve the issue of CS2's future will require that we resolve the underlying issue of the goals of computer science education or at least each program's goals. I will use a mathematics analogy indicating how my view there has evolved. It might lend insight into the issue of the goals of CS Ed.
I received a bachelor's degree in mathematics education. For some strange reason I didn't really consider myself a mathematician at that time (more on this later). I went on to teach junior high math, to pursue a CS Ed degree, and to teach computer science and computer science education.
Part of that experience involved examining the issue of what mathematics should be taught to K-12 students in light of the fact that computers could do most of the calculations that were being taught and that most of what was taught was calculations. I ultimately decided the procedures for manipulating symbols with pencil and paper were, in fact, tools for doing mathematics. I (and most people who used the tools) didn't really understand how or why they worked. That being the case, (in my view) there was no real distinction between using a memorized set of procedures with pencil and paper, and using a calculator or Mathematica.
But, someone needs to know how to build the calculator and it would be nice if someone knew those pencil-and-paper tool procedures (just in case all the computers failed). Okay, who? My answer is, the mathematicians. Who are they? Clearly PhDs in mathematics are mathematicians. Probably, those with masters degrees are, also. I'm not sure that the typical undergraduate would be. In particular, would we rather the undergraduate did mathematics well or understood mathematics well. I guess, I'd vote for ensuring that they do mathematics well, then, circumstances permitting, that they understand mathematics well.
So, for me, it is more important (actually, I think it critical) that students do computer science well. If they understand it well, that's great. I would much prefer, however, that they choose the appropriate data structure and use it correctly over their knowing how to implement it. That assumes of course that some more-knowledgeable person actually provides them a correct implementation. That is the job for computer scientists -- people with masters degrees or PhDs or with lots of experience.
Taking this position does not dismiss the importance of students understanding computing -- it may not even diminish it. It does, however, suggest that we need to decide what we think is important and then see that our coursework coincides with our priorities for student outcomes.
In the initial statement above, I suggested that what we feel comfortable teaching and how we were taught is inextricably enmeshed with our discussion of what we should teach. I also said knowing details of implementation is implicit in understanding computer science. Implicit understandings and expectations make discussions such as these very difficult. They vary from person to person.
Additionally, I was taught certain things in certain ways. My first inclination is to teach the same things the same way and to argue the correctness or appropriateness of doing so. That is the nature of implicit understanding and it is how we learn and perform tasks such as teaching. Eventually, I may reflect on my teaching and decide, intellectually, that I should do something different. It is hard, but I make plans that allow for that different content or pedagogy. So long as things proceed according to plan, I am okay. As soon as I have to start reacting in real time, I will fall back on my habits -- the old content and pedagogy. Eventually, after enough practice, I can react appropriately -- in light of, or in agreement with my intellectual belief.
I believe this same idea applies when we argue or discuss changing CS2.
Our implicit knowledge or habitual experience interferes with the purely
intellectual discussion. We must make those implicit understandings and
expectations explicit, if we are to have any success.