Okay, so I'm a little behind on my updates, but I figured I'd better write up my thoughts on IT108 now that the semester is over. My first goal for the semester was to motivate my students, and keep them interested in programming, even if they find it challenging, and aren't sure how it could possibly be of any use to them. Well, out of the thirty students originally enrolled, only a handful dropped the class, and twenty-one students made it all the way through to the end. And most of those showed up to every class. From what I hear, that's a lot better than the average for this class.
What wasn't better than the average were the grades. Only six students passed the class, and that's mostly due to the dismal performance everyone had on the exams. While many students made huge improvements on their programming assignments as the semester went on, the results on the final exam were every bit as dismal as the results on the midterm. Despite the improvements that students made on their programming throughout the semester, their performance on the exams indicates that they really didn't have a firm grasp of what they were doing — you can write a program without understanding how it works. Next semester, I need to work harder to make sure students are understanding, as well as just doing. I think that's going to mean walking through many more examples, and having more practice assignments that resemble the sort of questions the students can expect to see on the exams.
I think one of the reasons the students had trouble, was because I dumped a lot of really heavy theory on the class at the beginning, and I think I need to start with much simpler assignments. On the other hand, the students had tremendous difficulty with even basic problem solving — a skill that all college students should have. I fear many of my students would be unable to coherently explain the steps for solving a problem, even if it didn't involve Java.
Another major problem the students had throughout the semester was meeting the required formatting for their submissions. The design diagrams and Java programs have a specific required format. It should make it easier for them to write, as there are fewer variables — it's like the difference between short answer and multiple choice. When you just have to choose from a handful of operations, and assemble them in the correct order, that should be a lot easier than coming up with your own operations. But the students just couldn't get the hang of it. I gave them a ton of code, but they couldn't recognize the pattern and get the indentation and formatting the same. I don't see how anyone can expect to do well when they won't do the simple stuff.
Of course it's not entirely their fault — there's just too much crammed into one class, and the department recognizes that, and starting in the Fall, they're breaking the programming requirement into two classes: IT106 and IT206. Of course this doesn't really help my students. The students who did not pass have two choices. They can either re-take IT108, in which case the grade for their second attempt will replace this attempt in their GPA; or they can change to the new catalog year and take IT106 and IT206, which would be better for their learning, but worse for their GPA and add yet another semester to their program of study.
So here's my advice. If you averaged better than 80% on the programs and project, then you should probably re-take IT108, and you'll have a much easier time at it. For you, taking IT106 would probably be a waste of time, since you probably already have a good grasp of all the material that will be covered there.
If you did not achieve at least 80% on the programs and project, then you're pretty much going to be starting from scratch either way. Only two of the students who were re-taking IT108 passed on their second attempt. If you aren't at least somewhat confident in your ability to do the projects from the class, you would probably benefit from switching to the two-course track.
If you're not sure what to do, and want advice specific to your case, or if you have Java questions, or IT questions, or really anything, please feel free to contact me. I really appreciate the encouragement and positive feedback I received from the class all semester. It's good to know that I'm making a positive contribution. Now all I need to do is get the pass rate up!