Unit 4 Lesson 6 - Expectations

I just finished Lesson 6 for the Combine Sounds challenge. Are you expecting students to know how to combine arrays? Where would they have gotten that knowledge? Is there an easier way to create the combineSounds method than this?

// TO DO #1: Write the static method combineSounds to combine two sounds into one.
public static double combineSounds(double first, double second) {
double sounds = new double[first.length + second.length];
int spot = first.length;
System.arraycopy(first, 0, sounds, 0, first.length);
System.arraycopy(second, 0, sounds, spot, second.length);
return sounds;

I continue to be surprised by the level of coding experience students need to complete these exercises. Thanks, JR

@jranta - Hi John, thanks for posting your question. I am having difficulty finding this problem in CSA - Unit 4 - Lesson 6. Could you share with me the exact location of this particular exercise by providing a link. I would like to review where the problem is posted and the context of the other problems. Thank you!

Hi John,
I took a look at the coding exercise to combine sounds. I think that this set of choice exercises is meant to be challenging- the code review of these levels will give students a chance to discuss their solutions with each other and get ideas on how to debug their code and problem solve. I had a few students choose this level and get it figured out, and others who needed some help to get their logic of how to combine two arrays to work in code. What I usually do when a tricky coding level comes along is to give students time to try it, and when the struggle turns from being productive to just frustrating, I will invite students who have made progress to share their work on the projector with the group.

Your solution above uses System.arraycopy() which is not something that students are expected to know. If you check out the exemplar solution for that level, it creates a new array with a length that is the sum of the first and second lengths. the exemplar then loops through the first and sets each value of the new combined array, and then loops through the second array and sets the values from it, keeping track of the place in the combined array using the newIndex variable.


Yes, I looked at the exemplar, the double loop approach is no less complex. If I didn’t have the deadline of the AP Exam in May, I’d enjoy watching my kids wrestle with these problems. Given that I feel like we’re already behind schedule, it’s less fun. Mostly, I’m trying to gauge what the expectations of coding experience are for this curriculum. Thanks for the feedback - jr

Hi John,
To respond to your feeling of being behind- I did the pilot of this curriculum last year and felt behind too. I ended up not being able to do each lesson, and was able to cherry pick lessons and do some side lessons using other resources on Units 7 & 8. I cut the projects from units 7 and 8 also, and circled back to those projects as options for what my students did after the AP exam.

Thanks Lindsay. I can also attest to feeling that the class is not moving as quickly as you think they should. I also cut items from some of the units that were not essential for the AP Exam.