Computer Science and Software Engineering Capstone Presentations
Fall Quarter
December 18, 2020
Keziah May "Introducing
Students to Structured Problem-Solving" (UWB CSS Faculty Research) Faculty Advisor: Dr. Yusuf Pisan |
Abstract The Computing and Software Systems (CSS) division of
the University of Washington Bothell (UWB) takes 235 new undergraduate
students every year. With Microsoft, Google, Facebook, and Amazon nearby,
graduates apply to some of the biggest software companies in the world. This
pressures UWB to provide an excellent CSS program, and they do. So why do so
many CSS students from UWB feel unprepared to interview for a job? The CSS division offers a strong foundation of core
classes and a variety of elective courses, but they do not teach skills
required to pass an interview. An interview for a Software Engineer has a
behavioral and a technical portion. During the technical portion of an
interview, the candidate solves a programming problem in front of one or more
interviewers. The solution is written on a whiteboard and the candidate
explains their thought process as they work. The CSS program provides
students with education on software tools like data structures and
algorithms, but little education about how to identify which of these tools
are required to solve a given problem. To test whether teaching a structured approach to
problem solving helps students solve programming problems, an online course
was developed. Current tools for practice technical interviews are websites
like Leetcode. They offer programming problems and solutions. The online
course took problems from Leetcode and explained different solutions to the
problems and why they work. After generating 50 lessons, 8 workshops were
held for 3rd year CSS students. Many CSS undergraduates lack the skills required to
start solving a problem. Though the course was designed to explain solutions
to known interview problems, interacting with students in the workshops
revealed a different need. When students were asked to solve problems, common
pitfalls emerged. When those pitfalls were targeted in later workshops,
students showed an increased ability to answer questions about how to solve
the problem. In a small survey of seven participants, 85.7% found these
workshops improved their performance in school and 71.4% believe it prepared
them for technical interviews. The data suggests that CSS students would benefit
from a problem-solving course. There are 3 different options suggested. One,
integrate the problem-solving lessons into an existing core class. Two, create
a CSS skills course that teaches the fundamentals of problem solving. Three,
continue with the format demonstrated in this research by creating a workshop
track. |
|
Updated December 16, 2020