Research archive

Research Hub.

A dedicated page for my course research questions. Use the search bar to find a topic, filter by professor, and open only the answers you want to read.

Human-Computer Interaction

Dr. Amy Research Questions

HCI, usability, interface design, prototyping, and interaction beyond the keyboard and mouse.

5 questions · 6 sources
1. What is human-computer interaction (HCI), and which disciplines contribute to it?

Human-computer interaction (HCI) is the study and design of how people interact with computers and other similar systems. Its main focus is creating interfaces that help people interact with technology effectively. Because HCI is related to humans and technology, it has several disciplines, like computer science, psychology, ergonomics, graphic and product design, anthropology, and engineering

2. What is the difference between a system being useful and being usable? Can you give an example of a system that is usable but not useful for a particular person or task?

Usability means how easy and pleasant to use a certain system, while utility means whether the system has all the features that a person needs. A useful system needs to have both. For example, a calculator app is usually simple and easy to use, making it usable. But wont be useful to someone who wants to write and test Python programs because a calculator does not provide the features needed

3. Find an everyday interface that is confusing to use. What is the person trying to do, and which design decision causes difficulty? Suggest one improvement.

An example of a confusing interface is a microwave with so many buttons, symbols, and cooking modes. A person who is gonna use the microwave may only want to heat his food for 30 sec, but he needs to navigate through the options to find his option; this creates unnecessary complexity. A good interface design should make the important and mainly used action easy to find. One improvement would be to make the common controls, like start and stop, more noticeable while keeping less commonly used options separate.

4. What is a prototype, and how can testing one with users help a designer? What is one thing that asking “Do you like it?” would not tell you?

A prototype is an early version of the interactive design that allows people to experience how a product works before developing the final product. Designers would give users tasks and observe where they hesitate, make mistakes, or even be confused. This allows problems to be found and fixed before launching the final product. Just asking Do you like it would not help in finding out if they can complete important tasks with the interface.

5. Find one example of interaction beyond a keyboard and mouse, such as voice input or a tangible interface. Who might benefit, and how would you test whether it helps them?

One example is speech recognition, which enables people to control a computer using voice commands. It can be used to type text, navigate through menus, activate buttons, and other different commands. According to W3C, this can significantly help people with physical disabilities who can't easily use a keyboard and mouse, people with repetitive stress injuries, and people who find speaking easier than typing. To test it usefulness, i would ask the users to complete the same tasks using their voice and then usijgn a keyboard and mouse. I would compare the time taken to complete each task, what errors occurred, and how easy the users find each method.

Works Cited

Association for Computing Machinery. “HCI – CS2013 Version.” CS2023, csed.acm.org/knowledge-areas-human-computer-interaction-hci-cs2013-version/. Accessed 14 Sept. 2026.

Nielsen, Jakob. “Usability 101: Introduction to Usability.” Nielsen Norman Group, 3 Jan. 2012, nngroup.com/articles/usability-101-introduction-to-usability/. Accessed 14 Sept. 2026.

Nielsen, Jakob. “10 Usability Heuristics for User Interface Design.” Nielsen Norman Group, nngroup.com/articles/ten-usability-heuristics/. Accessed 14 Sept. 2026.

“Prototypes.” Usability & Digital Accessibility, Yale University, usability.yale.edu/ux/build/design-documentation/prototypes. Accessed 14 Sept. 2026.

“User Testing.” Usability & Digital Accessibility, Yale University, usability.yale.edu/ux/validate/review-the-user-experience/user-testing. Accessed 14 Sept. 2026.

“Speech Recognition.” Web Accessibility Initiative (WAI), World Wide Web Consortium, w3.org/WAI/perspective-videos/voice/. Accessed 14 Sept. 2026.

Computability & Complexity

Dr. Christos Research Questions

Decision problems, decidability, P, NP, and the P versus NP question.

5 questions · 4 sources
1. What is a decision problem?

A decision problem is a problem that can be answered with only a yes or no. For example, “Is 17 a prime number?” This question can be answered only with a yes-or-no response. In computer science, most of the problems are written in this format because it is easier to study how difficult they are for computers to solve.

2. What does it mean for a decision problem to be decidable?

A problem can be considered decibel if their is an algorithm that cna always output the correst yes or no answer and hten stop for every possible input. No t every pr0blem is considered decidable. For example, the Halting problem cannot be solved by one algorithm for every possible program and input.

3. What is the class P? What is the class NP?

P is the class of decision problems that can be solved by computers in polynomial time, implying that the time needed grows at a manageable rate as the size of the input increases. NP is the class of decision problems whose possible solutions can be checked in polynomial time when given to a computer. All problems in the class P are also in NP because if you can solve something quickly, you can also check its solution quickly.

4. What is the intuitive meaning of the “P versus NP” question?

The idea behind P vs NP is that if a solution can be checked quickly can it also be found quickly? We understand that P is inside of NP but we dont know if P and NP are equal, If P=NP, many problems that look very difficult can be solved efficiently, as of today, the problem is not solved.

5. If you resolve the P versus NP question, how much richer will you be?

If i was able to solve the problem and my solution was accepted according ot the Clay Mathematics Institute's rules, I would receive 1 million dollars. P vs NP is considered one of hte seven Millennium Prize Problems, and 1 million dollars was put under each problem. So other than being known in the computer science community i would recive 1 millon dollars.

Works Cited

Clay Mathematics Institute. “P vs NP.” Clay Mathematics Institute. Accessed 7 Sept. 2026. Clay Mathematics Institute — P vs NP.

Cornell University. “Lecture 36: P, NP, and NP-Completeness.” CS 2800, Fall 2015, Cornell University. Accessed 7 Sept. 2026. Cornell — P, NP, and NP-Completeness.

“Computability and Complexity.” Stanford Encyclopedia of Philosophy, Stanford University, 18 Oct. 2021. Accessed 7 Sept. 2026. Stanford Encyclopedia of Philosophy — Computability and Complexity.

MIT OpenCourseWare. “Automata, Computability, and Complexity.” Massachusetts Institute of Technology, Spring 2011. Accessed 7 Sept. 2026. MIT OpenCourseWare — Automata, Computability, and Complexity.

Programming Languages

Dr. Giselle Reis Research Questions

Programming languages, their purpose, limitations, and design.

4 questions · 4 sources
1. Why did we move from punch cards to programming languages? What does that tell you about the purpose of programming languages?

Because punch cards were slow, inconvenient, and very difficult to fix when a mistake happened. Programming languages made it easier to write instructions to the computer in a way humans can also understand. Then, the computer translates the instructions we wrote into machine code. This shows that the purpose of programming languages is to ease communication between computers and humans.

2. There are hundreds of different programming languages out there. Why do you think we need so many?

Programming languages are designed for different purposes; some are designed for efficiency, some for readability, and others for specific things like creating websites, databases, or operating systems. For example, Python is designed to be simple and readable, while C gives the programmer more control over the computer; different programming languages let programmers choose the one that fits their needs.

3. What are some drawbacks of a programming language you use? How would you like it to be different?

I only use Python, and one drawback is that data-type bugs can only be found when I run the program. For example, adding “5” and 5 looks the same, but one is an integer, and the other is a string. Python is also considerably slower than C or C++; it would be better if Python had a stricter mode that could detect bugs before the program ran.

4. If you were going to create a new programming language, how would you start? What do you need to define?

First, I would ask myself why I am creating a new language and what problem I am trying to solve; then I would start to define its syntax, data types, variables, functions, conditions, and loops, and decide between it being compiled or interpreted and how to deal with errors, After that, I would create a simple interpreter or compiler and slowly add more features as the language develops.

Works Cited

Computer History Museum. “Software & Languages.” Timeline of Computer History, Computer History Museum, computerhistory.org/timeline/software-languages/. Accessed 6 Sept. 2026.

IBM. “The IBM Punched Card.” IBM, ibm.com/history/punched-card. Accessed 6 Sept. 2026.

Nystrom, Robert. Crafting Interpreters. Genever Benning, 2021, craftinginterpreters.com/. Accessed 6 Sept. 2026.

Python Software Foundation. “Python 3.14.7 Documentation.” Python, docs.python.org/3/. Accessed 6 Sept. 2026.

No research questions matched that search. Try a different keyword or select “All.”