Course Description
CS 136L: Tools and Techniques for Software Development
This course introduces students to tools and techniques useful in the software development lifecycle. Students learn to navigate and leverage commands and utilities in the Linux Command Line Shell. Students gain experience in version control software, writing scripts to automate tasks, and creating effective test cases to identify bugs. Tracing and debugging strategies are discussed. Students also gain experience in using built-in support for version control, testing, debugging, build automation, etc. in integrated development environments (IDEs).
Student Course Perceptions
Note: the following data is based on just 10 evaluations. See more information in the My Thoughts section
Explanations of course concepts: 69% ± 33%
Creating a supportive learning environment: 71% ± 34%
Stimulating student interest: 67% ± 31%
Overall instructor effectiveness: 69%
My Thoughts
This term was the second ever offering of CS136L. The previous (first) offering had only about 100 students, this one had over 1000. As such, things were naturally going to be a little bumpy.
Regarding the poor student course perceptions: they are based off of just 10 evaluations, but I think a large part of them has to do with the course structure. CS136L was designed to have a flipped structure: students would read the course content online on their own time, and then come to the lab to work on the assignment problems. As such, my lab essentially functioned like an extended office hours - I would wait for student questions, help them with their lab, then await further questions. I didn’t really get the chance to motivate students or explain content outside of specific lab problems.
Part of this is on me. I know that other instructors in other sections of the course prepared 20-30 minute mini-lectures to help reinforce the online content and make their sections more engaging. I admittedly could have spent some time doing this, but unfortunately between graduate work, research, and teaching CS 246, I really didn’t have the time to prepare new extra lecture material every week.
Attendance dropped off slowly during the course; near the end of the term I only had a handful of students showing up each time. I was able to make some good connections with a few of the students, but overall it was a disappointing experience. From what I heard from the other instructors, attendance dropped similarly for them, even with their mini-lectures and more engaging examples.
This term left me a bit skeptical of the “flipped” classroom, at least in the way this course used it. Without any lecture component, attendance dropped off and I didn’t see much evidence that students were retaining the material. If I teach a flipped course again, I’d like to prepare short mini-lectures like the other instructors did, so that the lab is more than just an extended office hour.