Teaching CSP to students with programming experience

Hi everyone,
I’m really having a rough time with this and looking for some feedback. Is anyone else teaching this course to kids that don’t really fit the model of “exposing more kids to the principles of computer science”? The students in my class are already in what is supposed to be a ‘rigorous’ computer science 4 year STEM program and many/most of the topics they already understand. About 25% of them have already been coding for years and have been in coding summer camps, etc. I know we can get into the topics more deeply but following through the Widgets, activities … and especially the videos … is not going well. I think I need to move this course down to my freshmen class as a way to lay the groundwork for their future learning.

I hear you. I teach this class to the top 25% of the sophomores at a Title 1 charter school and that seems to be a good fit. If you are teaching Seniors at a large suburban school your students would be much more advanced. Perhaps supplement with some material from CS-50? I think they have a CSP version, if not there is the EdX version. We are using edX for a few Seniors who completed AP Java as Juniors. They are quite challenged by PS 3 (the first few problem sets are pretty easy but it gets more challenging quickly).


It’s worth noting two tightly-coupled things:

  1. The Code.org CSP curriculum was written assuming that students (and also teachers) have little-to-no computer science background entering the course. And…
  2. …Therefore it might not be the right course for every program or situation.

In fact, if your students already have years of computer science experience I would question whether any CSP course it right for them. While CSP is an AP course, it’s intended to be a first experience in CS for the students. At the college level it maps to “CS0” or intro to CS for non-majors. The rigor of CSP comes from the amount of writing and self-reflection students have to do (maturity) more than content knowledge.

Have you considered teaching APCS-A (intro to programming in Java)?

CSP Team

Thank you for your input, baker. I needed to see this because I agree. I was hired the week before school started and the plan was already in place for me to teach the code.org AP CSP to my 3rd year CS students - which I quickly realized was going to be an issue. I am changing that class to AP Computer Science A (we are on a block schedule so this will start this January). I currently have a class of sophomores that had something between ECS and AP CSP last year with their former teacher. I decided to do the Code.org CSP class with them but switched over to mostly the Harvard CS50 course now so that they could do some C-programming, which they are handling pretty well. I have found the Code.org materials helpful for some modules but going back and forth has been difficult (especially as a new teacher). Ah well, it’s a learning process for all of us! I think moving it to the freshman class will be good (I’ll also be testing this out next semester when I have them). Some will have a bit of a CS background but it should give everyone a solid foundation as we move forward.

@mkaiser I am a little nervous about this as well. I have a pretty wide gap in my classes with Ss who have a lot of independent experiences with programming (none through formal schooling) but most my students will have this as their first introduction to programming.

My students who already know a lot I am having them make weekly goals for themselves in something they are intersted in and then reflect on those goals at the end of the week. That being said, I am nervous that doing that for 6-9 weeks might be more than those students can handle and they might check out. SO… we will see how it goes.

Additionally, I am noticing that my students are moving pretty fast through this and I know I will have some students finish stages quite early - despite the partner check-in. I am going to have those students work on HTML and CSS in codecademy when they are done with code.org each day in hopes that in the future we can put it all together. BUT I am nervous it is all going to blow up in a few weeks and I’ll lose the common thread in the class.

Right now I am looking into adding CSA to our course offerings so advanced students have a place to go that is not my class. I think 80% of my students are just fine with CSP, but that 20% is loud and fussy. I am hoping I can keep them engaged, challenged, and entertained enough but I don’t know how it will turn out!

Yes, such a wide range of abilities, interest, and experience. My “20%” are loud and fussy as well. It’s a tough call but my program is supposed to be a “rigorous computer science” program so I feel that I do need to keep them challenged because that is what they signed up for. But, the rest of the class isn’t quite as experienced or motivated so…

As I mentioned, I have switched to mostly the CS50 program for this particular class and will try again with my freshmen next semester. I know I’ll have issues with them because I teach a few of them in other classes and they are telling me about all of their experience already. Anyway, the psets in CS50 have proven to be pretty challenging, even for my best coders, and they have been really happy learning C and working through them. I am very impressed with their abilities and ‘computational thinking’. CS50 touches on PHP and, I think, in 2016, Python as well. Doing some codeacademy should be a good fit for them too.

If you find the ‘perfect’ solution, let me know! :slight_smile:

I tried making those students with experience leaders or TAs. They have no interests in doing that. I too am thinking about having them switch to CS50. I hate the thought of keeping up with it though. Has anyone let a student take CS50 independently? Is that even an option?

We have 3 students doing it as an independent study. They have help from me and from TAs when they get stuck but the edX version is designed as an independent study course. Takes a lot of maturity from a high school student though.

I decided against CS50. Instead my advanced students will be participating in http://www.acsl.org/acsl/02-03/works.htm which can be purchased. There is a deadline for the registration of December 1st. - http://www.acsl.org/acsl/16-17/Registration%20Form%202016-17.pdf
They will finish up Unit 2 and move on to this during the programming units. These are students that already took AP CS and scored 4 or better. They want to major in CS so they took the AP CSP class in the first place because they are all about computer science and don’t want to take any other kind of electives in the school. They will be doing acsl independently. The other comment a few made was they planned to not take the AP CSP exam since it’s for non-majors and won’t be able to count it towards their major.

@carmichaelc-- thanks for sharing your plan!

one thing to note for your students who plan to major in CS and don’t want to take the AP exam since it won’t count towards the major-- at many schools, passing AP scores can count toward the gen-ed credit requirement for graduation. before those students decide against taking the exam, they should look into the policy at the schools where they’re applying.

I agree and have mentioned that to them. I now can say the experts at code.org agree. Thanks!

@carmichaelc and @mkaiser I am interested in this ASCL thing however the website isn’t all that useufl. @carmichaelc have you done this before? OR would you be able/interested in discussing this via google hangout with me sometime over the next two weeks?

@mkaiser - you are out in AZ right? If so, I will be there this Saturday if you are still coming to the workshop - we can certainly brainstorm during lunch. I would love to hear how CS50 is going for your students.

I wanted to bring this class to my school to give all students access to CS - but now I am learning that to really to make this class work best for the students that need it the most (the students who don’t have any CS experience) I need to find a place for those students WITH CS experience already… so… I am hoping to bring AP CSA to my school next year for those Ss already with experience. THIS year, I am thinking about making a check list of sorts for students to work on after they finish the CSP content. Im not excatly sure what that will look like… I am working on it now though. The thought is that for Ss who finish the day’s stage really quickly, I want them to have something to do that is not the next stage. This way we can still keep the class together AND provide those high flyers with something productive during the hour.

To re-iterate, for 80% of my class - this is perfect - well scaffolded, interactive, and engaging… I am hoping once I find a solution for that 20%, I can stop spending 90% of my energy on them!

Wow, @kaitie_obryan, I just realized that that you are the Kaitie from the GCU cohort…sorry I didn’t pick up on that until you mentioned it. But, yes, I will be there Saturday and I would love to discuss this further.

I was starting to think that I was the only one that was struggling with this issue - not that I’m happy you are too - but it does help me realize that I’m not alone. I totally agree, the CSP materials are great and I wish they went over better with my current class - but I think it will be much better next semester with my freshmen.

See 'ya Saturday!

1 Like

You have to sign up and buy the practice materials. It cost about $200.00. Our school had already purchased them for the club. It’s not going to be easy. It has to be for the very experienced students.