Computer Science & Engineering

Departmental Honors Spotlight

Each quarter, the University Honors Program showcases the remarkable work done by Honors students and faculty within their majors. While the programs vary from discipline to discipline, most typically conclude in a major research or artistic project and all challenge the students to bring their work to the next level. We hope that you enjoy discovering the many and diverse Honors programs in the departments around campus!
Stuart Reges

Principal Lecturer, Computer Science & Engineering

The honors sections I offer in conjunction with CSE143 are meant to give students the opportunity to explore intellectually challenging questions in a small group.

The first benefit comes from the opportunity to interact with a computer science faculty member in a more interactive setting. I try to share with the students questions that I find interesting and approaches that I use in answering those questions. I think of this as an opportunity for them to see a computer scientist up close (a little like visiting the zoo).

The second benefit comes from the discussion itself. It is rewarding for students to interact with other smart and curious students in exploring tough questions. It has a cohort effect of allowing students to form meaningful friendships that sometimes last well beyond the class.

The final benefit comes from having the opportunity to explore a wide range of issues from a computer science perspective. Students are pleasantly surprised to find that computer science thinking can provide deep insights into mathematics, philosophy, language, culture, literature, and understanding the human condition.

Hélène Martin

Lecturer Part-Time, Computer Science & Engineering

The introductory computer science courses, CSE 142 and CSE 143, offer a unique academic experience with high value to all honors students, whether or not they choose to take part in the associated honors seminars. Computer programming is a practical, broadly applicable skill but we hope that students leave our courses with much more than a few new useful tricks.

One of the major themes of these courses is managing complexity. As computer programs become larger and larger, there are many challenges involved in making sure they continue to be fast, correct, and easy to add on to. Practice in overcoming these kinds of challenges is what students will need to navigate our increasingly complex world.

Abstraction, or hiding away unnecessary detail, is a key strategy for managing complexity in programming. Abstract thinking leads to solutions that are applicable to entire categories of problems rather than being limited to solving specific concrete ones. Being able to reason about abstractions is central to higher-level achievement in many disciplines from philosophy to communication to medicine.

We've put a lot of work into making our introductory courses both intellectually satisfying and approachable to students of all kinds of different backgrounds. We believe the big ideas they present and the skills they build are great additions to any honor student's education.

Chris Dentel

B.S. 2013, Computer Science

I came to UW intending to study business and music, but after my first quarter I decided to explore some other areas. I took the honors section in the intro computer science classes, and I came away understanding computer science entirely differently. We looked at an incredible range of topics, from human language development to card tricks and Rubik's Cubes. But when we examined these topics, we did so from the perspective of a computer scientist. We looked at some of Chomsky's work on recursive grammars and the logic behind why a Rubik's cube is challenging. The main question we were trying to answer was, "Why and how does it work?"

One of the common threads that honors students share is a passion for knowledge - a desire to understand the world with an interdisciplinary perspective. The 143 honors section and my subsequent CS classes showed me that while computer science is a discipline in itself, it is also a way of thought that can be applied everywhere. In the past year I have been able to use computer science to write music, solve math, and even create poetry.

The world is "getting smaller" and people are pressed in school to specialize and become an expert in their field. But even more important is to be able to understand how your field can be used in other emerging and expanding disciplines. The honors section for CSE 143 introduced this to me, and I believe that anyone from any background would enjoy and thrive in this class.

Maia Szafer

B.S. 2013, Computer Science

My first experience with the Computer Science department's Honors program was as a freshman in the supplementary Honors section of my introductory Java programming class. Led by Stuart Reges, it functioned more as a book club than a quiz section - once a week, we got the chance to sit down with him and discuss human nature, using assigned readings to facilitate conversations about a number of interesting topics. Stuart challenged us with puzzles, encouraged us to think creatively, and pushed us to question the assumptions that framed our debates.

This experience made it clear to me that there is far more to computer science than just programming. By teaching students to ask strategic question and reason through the implications of solutions, it becomes the vehicle through which they develop as critical thinkers and learn to solve problems in a variety of different contexts. As I continue to work towards my degree in Computer Science, I am eager to explore more Honors opportunities within the department.

Melissa Winstanley

B.S. 2012, Computer Science

I came to the UW, and the Honors program, because it afforded the most flexibility to a student who didn't know what she wanted to major in. I took a number of Honors courses in different disciplines, but my connection with students and teachers in the computer science Honors course convinced me that computer science was my passion. The Honors version of the introductory programming course was structured as a discussion-driven seminar organized around a particular book, and intended to help students think critically about a diverse array of issues. When I took the seminar, we focused on the concept of the blank slate: do human beings have a predetermined nature, or are they purely a product of the environment? The teacher encouraged us to articulate our opinions on what we read, to construct convincing arguments about assertions, and to stick up for our thoughts even when he disagreed with us - in other words, to be effective thinkers.

That ability to think has been tremendously helpful to my academic career in computer science and to my Honors research project in mobile computing tools for public health. The community of peers and teachers that I became a part of beginning in the introductory Honors programming course has been and continues to be instrumental in making my experience at UW fun and exciting. I look forward to my final year in computer science and Honors as I prepare for a successful future in programming.