UX Techniques Every Computer Science Student Should Know

Genesis Benedith
uxEd
6 min readMar 18, 2024

--

As a computer science (CS) student with a minor in professional and technical writing, I've found that diving into user experience (UX) writing, research, and design has really made a difference for me. I believe that other CS students should give UX skills a chance as well. CS is not just about coding and algorithms; you’d be surprised at how much value UX can bring to your degree plan.

CS students can take their technical projects to the next level by embracing UX design principles like wireframes, user personas, and usability testing. Prioritizing user needs and experiences not only makes our solutions more user-friendly and effective, but it also makes us stand out as versatile and empathetic developers in a competitive field. Let’s keep in mind the importance of integrating UX principles into our work as we continue our academic and professional journeys. This way, we can create products that meet technical requirements, exceed user expectations, and make a meaningful impact in the world of technology.

UX Methods for Computer Science

There are three basic UX research and design methods that every CS student should know: user personas, usability interviews, and wireframes.

By integrating these methods into their workflow, CS students can elevate their technical projects to new levels, ensuring they are efficient but also user-centric and impactful.

In this article, we’ll go through each UX method and see how they can help you to create better CS projects.

Code on a collaborative editing interface.
CS students can use UX to improve their workflows and products. Photo by Clément Hélardot on Unsplash.

Conducting usability testing

Usability testing is a vital component of the UX/UI design process where CS students engage participants to evaluate the usability of their projects. Through testing, CS students may gain valuable insights into how users interact with their products in real time, allowing them to identify potential issues and gather direct feedback. This process fosters a deeper understanding of user needs and helps refine the project to better align with user expectations.

By observing how participants navigate through their projects and asking follow-up questions, CS students can uncover usability flaws, understand user preferences, and ultimately enhance the overall user experience. Incorporating usability testing interviews into their projects enables CS students to iteratively improve their designs, leading to more successful outcomes and higher user satisfaction.

Building wireframes

Wireframes serve as skeletal blueprints of a digital product, illustrating the layout, structure, and functionality without the distractions of design elements. Creating a wireframe for a CS project is akin to outlining the project’s architecture before diving into coding.

Let me give you an example of how wire-framing can help with building CS projects. In a web programming class, I designed a collaborative code editor, which combined the features of Microsoft VS Code and Google Docs. As it was a group project, I pitched the idea to my team, and we started by creating a wireframe.

Low-fidelity wireframe sketch of a collaborative code editor.
A low fidelity wireframe of the project page where users write their code collaboratively.

The wireframe helped us to visualize the layout of the editor and how each feature would fit into it. We were able to identify potential issues early on and make necessary adjustments before starting the coding process. This not only saved us time but also ensured that our final product was user-friendly and efficient. By utilizing wire-framing in our workflow, we were able to create a more cohesive and user-centric solution, resulting in a successful project and a positive user experience.

The low fidelity wireframe I designed for one of the website pages helped my team to make corrections to our application and redirect the course of the project. By identifying what could or could not be done functionally and considering the team’s limitations, we were able to refine the project’s requirements and create a more feasible plan. This wireframe also provided a starting point for exploring new ideas and building things slightly differently than originally designed.

A preview of the code for the collaborative code editor designed from the wireframe sketch.
The final result of the project page after development stages.

The prototyping process offers several benefits, notably aiding in visualizing and planning the project’s features and interactions. By mapping out the intended user journey and identifying potential pitfalls early on, CS students can streamline the development process and ensure a more efficient implementation.

Additionally, wire-framing encourages collaboration and feedback from stakeholders, facilitating a clearer understanding of project requirements and goals. Ultimately, integrating wire-framing into their workflow empowers CS students to produce more cohesive and user-centric projects, enhancing both the success of their endeavors and their skills as developers.

Creating user personas

User personas are fictional representations of the people we want to use our stuff. They help us figure out what these people need, how they act, and what they like. Creating a user persona for a new CS project can significantly contribute to its success. By delving into the mindset of potential users, CS students can tailor their projects to better meet user needs, resulting in more effective and user-friendly solutions.

For example, in a project for a technical writing class, I analyzed GitHub’s Copilot, the AI coding software, and created a user persona for a possible user. By identifying the target user’s needs, behaviors, and preferences, I was able to develop a deeper understanding of how to design technology that is effective and user-friendly.

A persona for a software developer who might use GitHub’s AI coding software.
A user persona for my technical documentation project on GitHub’s Copilot software.

This user persona also helped me with the second part of the assignment, which was to write an instruction manual for GitHub Copilot. By understanding the intended user’s needs and preferences, I was able to create an instruction manual that was tailored to their specific needs. This instruction manual was clear, concise, and easy to follow, anticipating that the fictional user from my user persona could use the technology effectively.

Creating a user persona involves conducting thorough research, gathering data on user demographics, goals, challenges, and behaviors, and synthesizing this information into a cohesive profile. This user profile can help CS students develop a deep understanding of their target audience, guiding design and development decisions throughout the project lifecycle. Ultimately, integrating user personas into their projects enables CS students to create more impactful and meaningful solutions that resonate with their intended users, leading to greater project success and user satisfaction.

Balancing CS and UX

Exploring UX has really broadened my horizons. It’s helped me to understand how technology and user-centric design principles come together. By incorporating UX into my coursework, I’d say that my projects are now versatile and I can focus on user satisfaction and usability, not just functionality. Professionally, UX has opened up a lot of career opportunities for me. It’s a skill that’s in high demand because everyone wants their products to be user-friendly.

Whether I’m building technology for personal, academic, or professional purposes, my UX skills consistently helps me build successful technical projects and sets me up for a fulfilling career.

If you want to learn more about my journey blending CS and UX, check out my article detailing my personal testimony and experiences in the field.

--

--

Genesis Benedith
uxEd

Computer Science and Technical Writing Student at The University of Arizona