CS Overview
What does a "computer scientist" do? Listed below are a number of broad research areas along with some research questions that apply to that area. Researchers in both academia and industry work on these questions, breaking them down into more specific research questions and then doing work to answer those. Additionally, professional software engineers, product managers, and others in the tech world use their knowledge of these topics as part of their day-to-day jobs building software or working towards other technical goals like analyzing data, evaluating systems, or advising on technical tradeoffs.
The career center's Computer Science and Technology page has some good general information on careers in computer science and related fields, and also has lots of links to more information.
The CS department's faculty page lists CS faculty and includes short descriptions of research areas, with links to individual pages that usually link to a personal site with lists of publications and more in-depth research descriptions. You can also use Google Scholar to look up academic papers by author or subject.
Find a topic below that you're interested in. Look at the CS faculty page, check the department courses diagram, use Google Scholar, search on social media, or do a general web search to find some pieces of missing information about that topic, and then fill in this form to submit the info. You can fill it out multiple times for different knowledge areas if you want.
Human-Computer Interaction (HCI): How do we design software that's easy/fun/productive to use? How do we measure that?
Wellesley Faculty:
Wellesley Classes: CS 220, CS 204, CS 320, CS 323, etc.
Example Paper: ???
Example Job Title: User Experience Designer
Someone who works in this area: ???
Computer Systems & Architecture: Can we build better operating systems or computer hardware that will make all programs run faster or more efficiently? What will the hardware and operating systems of the future look like?
Wellesley Faculty:
Wellesley Classes: CS 240, ENGR 160: Fundamentals of Engineering, ENGR 210: Experimental Techniques (engineering course descriptions)
Example Papers: A computer-architecture approach to thermal management in computer systems: opportunities and challenges, A Defect-Tolerant Computer Architecture: Opportunities for Nanotechnology
Example Job Title: Computer Systems Architect/Engineer; Systems Consultant; Computer Systems Analyst
Someone who works in this area: ???
Note: this blends into the adjacent entire field of computer engineering, which itself touches electrical engineering.
Scientific Computing: How can we leverage computers' precision and data processing abilities to make scientific breakthroughs? What questions in physics/chemistry/biology/etc. can computers help answer?
Wellesley Faculty: ???
Wellesley Classes: ???
Example Paper: ???
Example Job Title: ???
Someone who works in this area: ???
Computer Graphics: How can we use computers to draw images and animations? Can we make more realistic/complex/artistic renderings possible?
Wellesley Faculty:
Wellesley Classes: CS 307: Computer Graphics
Example Paper: Fast and Deep Facial Deformations
Example Job Title: 3D Production Artist
Someone who works in this area:
Computational Media: How can we make computer-supported media like games or interactive stories? How do these differ from traditional medial like books or film? What's possible in new or emerging mediums like VR/AR, and how can we expand that?
Wellesley Faculty:
Wellesley Classes: ???
Example Paper: ???
Example Job Title: ???
Someone who works in this area: ???
Social Computing: How do digital platforms like social media support and/or undermine human social activities? How does the design of these systems influence their users, and can we build platforms that better support social interactions?
Wellesley Faculty:
Wellesley Classes: CS 323: Social Computing
Example Paper: Social network sites and society: current trends and future possibilities
Example Job Title: ???
Someone who works in this area: ???
Robotics: What can be accomplished by robots? How do we improve their capabilities via more advanced software and hardware?
Wellesley Faculty: N/A
Wellesley Classes: ???
Example Paper: Socially Assistive Robots as Storytellers that Elicit Empathy (also touches on social computing and computational media)
Example Job Title: ???
Someone who works in this area: ???
Artificial Intelligence: Can we use algorithms to solve general problems that we normally think only humans can solve? Can we make algorithms that can tackle a wide variety of complex problems using a single design, rather than needing a programmer to do most of the problem-solving work?
Wellesley Faculty:
Wellesley Classes: CS 232: Artificial Intelligence, CS 305: Machine Learning, etc.
Example Paper: On the Dangers of Stochastic Parrots: Can Language Models be too Big? 🦜
Example Job Title: ???
Someone who works in this area: Timnit Gebru, Emily M. Bender, Abeba Birhane
Data Science: How can we use computers to draw insights from massive and detailed databases? How can we tell whether a pattern we see in data is meaningful or just a fluke? Can computers help us find meaningful data patterns? How can we visualize or summarize data to help humans find patterns in it?
Wellesley Faculty:
Wellesley Classes: STAT 250, CS 315: Data Science for the Web, Summer QAI Course
Example Paper: ???
Example Job Title: ???
Someone who works in this area: Data Scientist; Data Analyst
Education: How can we best teach computer science, and/or how can we use software to benefit education more broadly? What teaching and assessment strategies work best, and what tools can we develop to support learning?
Wellesley Faculty:
Wellesley Classes: N/A
Example Paper: ???
Example Job Title: Instructional Designer; Learning Scientist
Someone who works in this area: ???
Networking: How can we design software and/or hardware for transmitting data from one place to another? How is information routed/stored in the internet, and how can we improve the efficiency/privacy of those processes?
Wellesley Faculty:
Wellesley Classes: ???
Example Paper: ???
Example Job Title: ???
Someone who works in this area: ???
Databases: How can we store and access large amounts of information efficiently? Can we design better systems for this in terms of efficiency and/or ease of use?
Wellesley Faculty:
Wellesley Classes: CS 304: Databases with Web Interfaces
Example Papers:
- The Comparative Performance Analysis of Selected Relational Databases
- Content-addressable and associative memory: alternatives to the ubiquitous RAM
Example Job Title: Database Administrator; Systems Engineer
Someone who works in this area:
Parallel/Distributed Computing: Can we speed up algorithms by running things in parallel on one or even multiple computers at once? What are the limitations of this, and how can we make it easier to do?
Wellesley Faculty:
Wellesley Classes: CS 242 Computer Networks ; CS 323 Distributed Computing
Example Papers:
Example Job Title: (Distributed) Systems Engineer
Someone who works in this area:
- Nancy Lynch, NEC Professor of Software Science and Engineering in the EECS department at MIT heads the Theory of Distributed Systems research group at the Computer Science and Artificial Intelligence Laboratory.
Quantum Computing: What possibilities does a "qubit" unlock? How can we write algorithms that quantum computers can run? How can we build larger and more powerful quantum computers?
Wellesley Faculty: N/A
Wellesley Classes: N/A
MIT Classes: 18.435[J] Quantum Computation
Example Paper: ???
Example Job Title: Quantum Computing Research Scientist, Security Engineer—Quantum Computing,
Someone who works in this area: ???
Example Book:
Security: How can we force computers to do what we want even when they're supposed to be controlled by someone else? How do we build systems that are harder to take over? What vulnerabilities can we identify in existing systems, and how do we fix them? What viruses are being used to take over systems, and how can we defeat them?
Wellesley Faculty: N/A
Wellesley Classes: ???
Example Paper: ???
Example Job Title: ???
Someone who works in this area: ???
Programming Languages: How are programming languages implemented? What kinds of programming languages are possible? Can we design more powerful and/or easier-to-use languages?
Wellesley Faculty:
Wellesley Classes: ???
Example Paper: ???
Example Job Title: ???
Someone who works in this area: ???
Software Engineering: How are programs designed, and how is their construction managed and carried out? Can we come up with new techniques for managing the construction of programs that help teams work faster and/or eliminate bugs and vulnerabilities? Can we build new programming support tools that help people write better code faster?
Wellesley Faculty:
Wellesley Classes: ???
Example Paper: ???
Example Job Title: ???
Someone who works in this area: ???
Algorithms / CS Theory: What are the theoretical limits of computation? Can we design faster algorithms for common problems that will speed up everyday tasks, or can we prove that that's impossible for some tasks? What kinds of theoretical future computers could perform common tasks faster?
Wellesley Faculty:
Wellesley Classes: CS 231: Fundamental Algorithms, CS 235: Theory of Computation
Example Paper: Performance Analysis of Merge Sort Algorithms (connects to systems/hardware as well)
Example Job Title: Systems Analyst, Researcher
Someone who works in this area:
Famous people in this area:
Books:
Science Technology & Society; Ethics of Technology: How have science and technology influenced societies in the past? What influences do they have today? What unique ethical questions arise from technical systems, and how can we build more ethical systems?
Wellesley Faculty:
- Eni Mustafaraj
- Julie Walsh
- Amy Banzaert (Engineering program)
- Catia Confortini (Peace and Justice Studies)
Wellesley Classes: ENGR 305: Intersections of Technology, Social Justice, and Conflict (engineering course descriptions), CS 334 / PHIL 322: Seminar: Methods for Ethics of Technology (philosophy courses)
MIT Classes: STS.012 Science in Action: Technologies and Controversies in Everyday Life, STS.004: Intersections: Science, Technology, and the World
Example Paper: ???
Example Job Title: ???
Someone who works in this area: ???
Computational Design: How can we used computers to help us in design processes, like architecture, fashion, or engineering? How can a computer's ability to coordinate many small details and automatically analyze and compare many different designs help designers design more complex or interesting artifacts?
Wellesley Faculty:
- Peter Mawhorter (game design)
Wellesley Classes: ???
Example Paper: ???
Example Job Title: ???
Someone who works in this area: ???
Links:
Other: this list isn't exhaustive. There are also many connections to specific other fields, like medicine or law.
Feel free to suggest a new sub-field and we'll add it above.
Example Papers w/ links to other fields: