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).
Dave's Comments:
Teaching Evaluations:
Number of Respondents: 27 / 56 (48%)
The instructor(s) helped me to understand the course concepts. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree | No Basis for Rating |
1 | | 3 | 9 | 14 | |
4% | | 11% | 33% | 52% | |
The instructor(s) created a supportive environment that helped me learn (Supportive environments enable students to feel included and valued regardless of any aspect of their identity). |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree | No Basis for Rating |
1 | | 3 | 9 | 14 | |
4% | | 11% | 33% | 52% | |
The instructor(s) stimulated my interest in this course. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree | No Basis for Rating |
1 | 1 | 2 | 8 | 15 | |
4% | 4% | 7% | 30% | 56% | |
The intended learning outcomes were identified (Learning outcomes/objectives articulate what students should be able to know, do, and/or value by the end of a course). |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree | No Basis for Rating |
2 | | 3 | 8 | 14 | |
7% | | 11% | 30% | 52% | |
The course activities prepared me for the graded work. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree | No Basis for Rating |
1 | | 8 | 9 | 7 | 1 |
4% | | 31% | 35% | 27% | 4% |
The intended learning outcomes were assessed through my graded work. |
Strongly Disagree | Disagree | Neutral | Agree | Strongly Agree | No Basis for Rating |
| 1 | 3 | 15 | 7 | 1 |
| 4% | 11% | 56% | 26% | 4% |
The course workload demands were... |
Very Low | Low | Average | High | Very High | No Basis for Rating |
| 6 | 10 | 7 | 4 | |
| 22% | 37% | 26% | 15% | |
The instructor(s) helped me to understand the course concepts. |
- [Neutral] I did not go to class because it was unnecessary - it felt more like an online course
The instructor(s) stimulated my interest in this course. |
- [Strongly Agree] Dave is the GOAT, sadly I only went to 3 classes due to the course being basically online, but the course is amazing and so is Dave.
The course workload demands were... |
- [High] as a 0.25 credit course it still took up 4-8 hours of work a week.
Note: This is a complete list of comments I received, listed alphabetically to avoid bias.
The most important thing I learned in this course was: |
- Bash and working with the Linux environment
- Basic Bash commands and working with the terminal.
- commands in Linux
- Everything covered in the class was relevant and useful - I really liked the content.
- everything I learned in this course was important
- How to use bash (cd, ls, cp, etc)
- How to use the terminal.
- How to write good bash scripts.
- I learned to work with and gained confidence working with the Linux terminal. I also learned some automation tools like using bash scripts and Makefiles.
- Over this course and CS136, I found that learning about basic bash shell commands and memory checkers was very useful.
- Using command line/terminal, writing basic scripts
What helped me to learn in this course was: |
- Attending the lab in person every week.
- Dave definitely made the content more tolerable with his lectures. On the other hand, the course notes (in my opinion) did not pose as good learning material. I hated to have to scroll up and down or open a new tab, just so that I could see the code that was being talked about.
- Dave Tompkins Lectures
- Dave Tompkins.
- Edx
- I felt as though the labs helped solidify the work done in the readings. The actual class was very useful for both explaining the more difficult concepts and working through issues with the labs.
- In-class mini lectures (review key content), module examples
- Reading the modules and doing the concept checks.
- The classes were very helpful in helping me identify important information from the modules. In addition, I was able to receive lots clarification on the content.
- The instructor was very engaging. TA was great too and very helpful.
- the mini lectures, and the dad jokes
What changes, if any, would I suggest for this course? |
- Do not make it online, reading the modules was pain :(
- I think I could have learned and retained the information better if there were more classes and more assignment questions that spread across more sessions. I feel like since the class was just for completion, often, I would just complete the assignment during class and forget about some of the content.
- I would suggest lowering the amount of reading for this course and lowering the demands of the labs.
- Including more content review/lecturing during lab time
- Loved it!
- More dad jokes from Dave.
- More time to go over content together as a class would be helpful.
- more video that explains the concept
- Please remove the course from uwaterloo or keep it optional or teach the modules in class and keep tutorials; nothing this hard should be kept as self study for students
- Reading the modules can be very boring at times. I would prefer the lecture style of CS135 back, where we would get two classes, one for teaching us the content and one for the actual lab.
- The course is weird. It takes much time and we can only get 0.25 credit for the course. And we are not graded for the course.
- The first 2 modules were very dense and intimidating as someone with no prior knowledge of the content. If there would be any way to spread this load over 3 weeks or reduce the amount of content that would be great.
- We need more lectures tho…