Before the pandemic, it was apparently common knowledge for incoming first-year students that computer science classes could be overly stressful and competitive. But as someone whose Brown education started remotely from halfway across the globe, I never heard these criticisms before choosing my first course, CSCI 0190: “Accelerated Introduction to Computer Science,” last fall, and I was taken aback by how demanding the class was. I have encountered a similar level of rigor in several other CS courses since then. However, I soon came to appreciate how the high standards baked into the structure of CS courses at Brown serve as direct preparation for the industry’s pressures. And, perhaps surprisingly, I have also encountered CS classes’ supportive culture — which should be as much a part of CS’s reputation as its stress.
Many students commonly argue that their CS classes involve too much work — on which you often can’t collaborate with classmates — and too little TA support. But both of these gripes are rooted in industry circumstances. TA shortages occur because increasing enrollment in CS classes outpaces TA hires. High enrollment is to be expected given that demand for software developers is growing at a faster-than-average pace. Colleges all over the country are seeing interest in computer science spike, and not always in quantities that departments can accommodate overnight. The software engineering industry requires considerable technical knowledge and practical experience. If professors were to simply cut down on projects assigned or allow students to collaborate at their discretion, CS concentrators would be sent into the workforce individually unprepared.
The department is able to strike a balance: prepare students for industry reality without subjecting them to a needlesly rigorous learning environment. From the introduction of CSCI 0200 as a single course that combines CSCI 0180 and CSCI 0160 for flexibility to the mandatory S/NC offering of CSCI 0320, the department is continually looking for ways to restructure itself based on student feedback. I know from my experience as a TA that professors seek to adjust their curriculum to what works best for students rather than force students to adapt to content that is outdated, unmotivating or just unnecessary. I felt welcomed into conversations about modifying and redesigning content assignments based on my students’ feedback for both CS classes I’ve worked on. My input was not only heard, but truly valued. I know that challenging assignments that are not also worthwhile will almost certainly be changed the next time the course is offered.
The opportunity for student-driven impact is possible because of professors’ outlook on what they want the classes they teach to accomplish. I find that computer science professors at Brown actively avoid making their classes unnecessarily difficult for students. Across the department, the concept of “late days” or “late hours” allows students to turn in late assignments a certain number of times at their discretion throughout the semester. This gives breathing room to students should they have job interviews, be ill or face other unforeseen circumstances that can and should take precedence over schoolwork. As another example of professors’ sensitivity to students’ workloads, only a handful of upper-level CS classes have final exams at all. Professors have instead found that assigning projects over the course of the semester is a more valuable learning experience that minimizes stress and improves student mental health.
Professors also mitigate some of the toxicity that can come with a competitive environment by acknowledging disparities in access to computer science both in their hiring decisions and the course content. When interacting with TA staff, I’ve frequently seen aspects of my own identity represented by other minorities in visible leadership roles. Many professors also elect to make their courses part of the Brown Socially Responsible Computing program, which embeds material about how computing impacts society directly into course content or projects. Much of this content discusses the privilege of those designing the software and the challenges that software development holds for underrepresented groups in the field. When professors foreground these topics in curricula, students are far more likely to see them as worth learning. As a member of an underrepresented minority myself, I can attest that it is far easier to see competition as constructive when my classmates and I understand each other’s struggles with computer science in addition to our strengths.
Brown CS isn’t perfect. The department knows this and chooses to work toward improvement. Ultimately, it ends up preparing people for an industry that requires non-negotiable skills, while valuing students’ mental health and well-being.