CSRankings: Computer Science Rankings

chart icon

All Areas  [ | ]

AI [ | ]

,

, , ,

-->

Systems [ off | on ]


-->

, ,

,

Theory [ off | on ]

,

Interdisciplinary Areas [ off | on ]

SIGCSE -->

/ /

This ranking is designed to identify institutions and faculty actively engaged in research across a number of areas of computer science, based on the number of publications by faculty that have appeared at the most selective conferences in each area of computer science (see the FAQ for more details).

We gratefully acknowledge the generous support of our sponsors, including Stony Brook University . Sponsor CSrankings

Prominent mentions of CSrankings: CMU ( 1 , 2 ) | Edinburgh | Michigan | Rutgers | Technion | Yann LeCun | John Regehr | Charles Sutton

CSRankings by Emery Berger is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License . Based on a work at https://github.com/emeryberger/CSrankings . Follow @csrankings for updates. Copyright 2017-2023 © Emery Berger

  • Privacy Policy

Research Method

Home » 500+ Computer Science Research Topics

500+ Computer Science Research Topics

Computer Science Research Topics

Computer Science is a constantly evolving field that has transformed the world we live in today. With new technologies emerging every day, there are countless research opportunities in this field. Whether you are interested in artificial intelligence, machine learning, cybersecurity, data analytics, or computer networks, there are endless possibilities to explore. In this post, we will delve into some of the most interesting and important research topics in Computer Science. From the latest advancements in programming languages to the development of cutting-edge algorithms, we will explore the latest trends and innovations that are shaping the future of Computer Science. So, whether you are a student or a professional, read on to discover some of the most exciting research topics in this dynamic and rapidly expanding field.

Computer Science Research Topics

Computer Science Research Topics are as follows:

  • Using machine learning to detect and prevent cyber attacks
  • Developing algorithms for optimized resource allocation in cloud computing
  • Investigating the use of blockchain technology for secure and decentralized data storage
  • Developing intelligent chatbots for customer service
  • Investigating the effectiveness of deep learning for natural language processing
  • Developing algorithms for detecting and removing fake news from social media
  • Investigating the impact of social media on mental health
  • Developing algorithms for efficient image and video compression
  • Investigating the use of big data analytics for predictive maintenance in manufacturing
  • Developing algorithms for identifying and mitigating bias in machine learning models
  • Investigating the ethical implications of autonomous vehicles
  • Developing algorithms for detecting and preventing cyberbullying
  • Investigating the use of machine learning for personalized medicine
  • Developing algorithms for efficient and accurate speech recognition
  • Investigating the impact of social media on political polarization
  • Developing algorithms for sentiment analysis in social media data
  • Investigating the use of virtual reality in education
  • Developing algorithms for efficient data encryption and decryption
  • Investigating the impact of technology on workplace productivity
  • Developing algorithms for detecting and mitigating deepfakes
  • Investigating the use of artificial intelligence in financial trading
  • Developing algorithms for efficient database management
  • Investigating the effectiveness of online learning platforms
  • Developing algorithms for efficient and accurate facial recognition
  • Investigating the use of machine learning for predicting weather patterns
  • Developing algorithms for efficient and secure data transfer
  • Investigating the impact of technology on social skills and communication
  • Developing algorithms for efficient and accurate object recognition
  • Investigating the use of machine learning for fraud detection in finance
  • Developing algorithms for efficient and secure authentication systems
  • Investigating the impact of technology on privacy and surveillance
  • Developing algorithms for efficient and accurate handwriting recognition
  • Investigating the use of machine learning for predicting stock prices
  • Developing algorithms for efficient and secure biometric identification
  • Investigating the impact of technology on mental health and well-being
  • Developing algorithms for efficient and accurate language translation
  • Investigating the use of machine learning for personalized advertising
  • Developing algorithms for efficient and secure payment systems
  • Investigating the impact of technology on the job market and automation
  • Developing algorithms for efficient and accurate object tracking
  • Investigating the use of machine learning for predicting disease outbreaks
  • Developing algorithms for efficient and secure access control
  • Investigating the impact of technology on human behavior and decision making
  • Developing algorithms for efficient and accurate sound recognition
  • Investigating the use of machine learning for predicting customer behavior
  • Developing algorithms for efficient and secure data backup and recovery
  • Investigating the impact of technology on education and learning outcomes
  • Developing algorithms for efficient and accurate emotion recognition
  • Investigating the use of machine learning for improving healthcare outcomes
  • Developing algorithms for efficient and secure supply chain management
  • Investigating the impact of technology on cultural and societal norms
  • Developing algorithms for efficient and accurate gesture recognition
  • Investigating the use of machine learning for predicting consumer demand
  • Developing algorithms for efficient and secure cloud storage
  • Investigating the impact of technology on environmental sustainability
  • Developing algorithms for efficient and accurate voice recognition
  • Investigating the use of machine learning for improving transportation systems
  • Developing algorithms for efficient and secure mobile device management
  • Investigating the impact of technology on social inequality and access to resources
  • Machine learning for healthcare diagnosis and treatment
  • Machine Learning for Cybersecurity
  • Machine learning for personalized medicine
  • Cybersecurity threats and defense strategies
  • Big data analytics for business intelligence
  • Blockchain technology and its applications
  • Human-computer interaction in virtual reality environments
  • Artificial intelligence for autonomous vehicles
  • Natural language processing for chatbots
  • Cloud computing and its impact on the IT industry
  • Internet of Things (IoT) and smart homes
  • Robotics and automation in manufacturing
  • Augmented reality and its potential in education
  • Data mining techniques for customer relationship management
  • Computer vision for object recognition and tracking
  • Quantum computing and its applications in cryptography
  • Social media analytics and sentiment analysis
  • Recommender systems for personalized content delivery
  • Mobile computing and its impact on society
  • Bioinformatics and genomic data analysis
  • Deep learning for image and speech recognition
  • Digital signal processing and audio processing algorithms
  • Cloud storage and data security in the cloud
  • Wearable technology and its impact on healthcare
  • Computational linguistics for natural language understanding
  • Cognitive computing for decision support systems
  • Cyber-physical systems and their applications
  • Edge computing and its impact on IoT
  • Machine learning for fraud detection
  • Cryptography and its role in secure communication
  • Cybersecurity risks in the era of the Internet of Things
  • Natural language generation for automated report writing
  • 3D printing and its impact on manufacturing
  • Virtual assistants and their applications in daily life
  • Cloud-based gaming and its impact on the gaming industry
  • Computer networks and their security issues
  • Cyber forensics and its role in criminal investigations
  • Machine learning for predictive maintenance in industrial settings
  • Augmented reality for cultural heritage preservation
  • Human-robot interaction and its applications
  • Data visualization and its impact on decision-making
  • Cybersecurity in financial systems and blockchain
  • Computer graphics and animation techniques
  • Biometrics and its role in secure authentication
  • Cloud-based e-learning platforms and their impact on education
  • Natural language processing for machine translation
  • Machine learning for predictive maintenance in healthcare
  • Cybersecurity and privacy issues in social media
  • Computer vision for medical image analysis
  • Natural language generation for content creation
  • Cybersecurity challenges in cloud computing
  • Human-robot collaboration in manufacturing
  • Data mining for predicting customer churn
  • Artificial intelligence for autonomous drones
  • Cybersecurity risks in the healthcare industry
  • Machine learning for speech synthesis
  • Edge computing for low-latency applications
  • Virtual reality for mental health therapy
  • Quantum computing and its applications in finance
  • Biomedical engineering and its applications
  • Cybersecurity in autonomous systems
  • Machine learning for predictive maintenance in transportation
  • Computer vision for object detection in autonomous driving
  • Augmented reality for industrial training and simulations
  • Cloud-based cybersecurity solutions for small businesses
  • Natural language processing for knowledge management
  • Machine learning for personalized advertising
  • Cybersecurity in the supply chain management
  • Cybersecurity risks in the energy sector
  • Computer vision for facial recognition
  • Natural language processing for social media analysis
  • Machine learning for sentiment analysis in customer reviews
  • Explainable Artificial Intelligence
  • Quantum Computing
  • Blockchain Technology
  • Human-Computer Interaction
  • Natural Language Processing
  • Cloud Computing
  • Robotics and Automation
  • Augmented Reality and Virtual Reality
  • Cyber-Physical Systems
  • Computational Neuroscience
  • Big Data Analytics
  • Computer Vision
  • Cryptography and Network Security
  • Internet of Things
  • Computer Graphics and Visualization
  • Artificial Intelligence for Game Design
  • Computational Biology
  • Social Network Analysis
  • Bioinformatics
  • Distributed Systems and Middleware
  • Information Retrieval and Data Mining
  • Computer Networks
  • Mobile Computing and Wireless Networks
  • Software Engineering
  • Database Systems
  • Parallel and Distributed Computing
  • Human-Robot Interaction
  • Intelligent Transportation Systems
  • High-Performance Computing
  • Cyber-Physical Security
  • Deep Learning
  • Sensor Networks
  • Multi-Agent Systems
  • Human-Centered Computing
  • Wearable Computing
  • Knowledge Representation and Reasoning
  • Adaptive Systems
  • Brain-Computer Interface
  • Health Informatics
  • Cognitive Computing
  • Cybersecurity and Privacy
  • Internet Security
  • Cybercrime and Digital Forensics
  • Cloud Security
  • Cryptocurrencies and Digital Payments
  • Machine Learning for Natural Language Generation
  • Cognitive Robotics
  • Neural Networks
  • Semantic Web
  • Image Processing
  • Cyber Threat Intelligence
  • Secure Mobile Computing
  • Cybersecurity Education and Training
  • Privacy Preserving Techniques
  • Cyber-Physical Systems Security
  • Virtualization and Containerization
  • Machine Learning for Computer Vision
  • Network Function Virtualization
  • Cybersecurity Risk Management
  • Information Security Governance
  • Intrusion Detection and Prevention
  • Biometric Authentication
  • Machine Learning for Predictive Maintenance
  • Security in Cloud-based Environments
  • Cybersecurity for Industrial Control Systems
  • Smart Grid Security
  • Software Defined Networking
  • Quantum Cryptography
  • Security in the Internet of Things
  • Natural language processing for sentiment analysis
  • Blockchain technology for secure data sharing
  • Developing efficient algorithms for big data analysis
  • Cybersecurity for internet of things (IoT) devices
  • Human-robot interaction for industrial automation
  • Image recognition for autonomous vehicles
  • Social media analytics for marketing strategy
  • Quantum computing for solving complex problems
  • Biometric authentication for secure access control
  • Augmented reality for education and training
  • Intelligent transportation systems for traffic management
  • Predictive modeling for financial markets
  • Cloud computing for scalable data storage and processing
  • Virtual reality for therapy and mental health treatment
  • Data visualization for business intelligence
  • Recommender systems for personalized product recommendations
  • Speech recognition for voice-controlled devices
  • Mobile computing for real-time location-based services
  • Neural networks for predicting user behavior
  • Genetic algorithms for optimization problems
  • Distributed computing for parallel processing
  • Internet of things (IoT) for smart cities
  • Wireless sensor networks for environmental monitoring
  • Cloud-based gaming for high-performance gaming
  • Social network analysis for identifying influencers
  • Autonomous systems for agriculture
  • Robotics for disaster response
  • Data mining for customer segmentation
  • Computer graphics for visual effects in movies and video games
  • Virtual assistants for personalized customer service
  • Natural language understanding for chatbots
  • 3D printing for manufacturing prototypes
  • Artificial intelligence for stock trading
  • Machine learning for weather forecasting
  • Biomedical engineering for prosthetics and implants
  • Cybersecurity for financial institutions
  • Machine learning for energy consumption optimization
  • Computer vision for object tracking
  • Natural language processing for document summarization
  • Wearable technology for health and fitness monitoring
  • Internet of things (IoT) for home automation
  • Reinforcement learning for robotics control
  • Big data analytics for customer insights
  • Machine learning for supply chain optimization
  • Natural language processing for legal document analysis
  • Artificial intelligence for drug discovery
  • Computer vision for object recognition in robotics
  • Data mining for customer churn prediction
  • Autonomous systems for space exploration
  • Robotics for agriculture automation
  • Machine learning for predicting earthquakes
  • Natural language processing for sentiment analysis in customer reviews
  • Big data analytics for predicting natural disasters
  • Internet of things (IoT) for remote patient monitoring
  • Blockchain technology for digital identity management
  • Machine learning for predicting wildfire spread
  • Computer vision for gesture recognition
  • Natural language processing for automated translation
  • Big data analytics for fraud detection in banking
  • Internet of things (IoT) for smart homes
  • Robotics for warehouse automation
  • Machine learning for predicting air pollution
  • Natural language processing for medical record analysis
  • Augmented reality for architectural design
  • Big data analytics for predicting traffic congestion
  • Machine learning for predicting customer lifetime value
  • Developing algorithms for efficient and accurate text recognition
  • Natural Language Processing for Virtual Assistants
  • Natural Language Processing for Sentiment Analysis in Social Media
  • Explainable Artificial Intelligence (XAI) for Trust and Transparency
  • Deep Learning for Image and Video Retrieval
  • Edge Computing for Internet of Things (IoT) Applications
  • Data Science for Social Media Analytics
  • Cybersecurity for Critical Infrastructure Protection
  • Natural Language Processing for Text Classification
  • Quantum Computing for Optimization Problems
  • Machine Learning for Personalized Health Monitoring
  • Computer Vision for Autonomous Driving
  • Blockchain Technology for Supply Chain Management
  • Augmented Reality for Education and Training
  • Natural Language Processing for Sentiment Analysis
  • Machine Learning for Personalized Marketing
  • Big Data Analytics for Financial Fraud Detection
  • Cybersecurity for Cloud Security Assessment
  • Artificial Intelligence for Natural Language Understanding
  • Blockchain Technology for Decentralized Applications
  • Virtual Reality for Cultural Heritage Preservation
  • Natural Language Processing for Named Entity Recognition
  • Machine Learning for Customer Churn Prediction
  • Big Data Analytics for Social Network Analysis
  • Cybersecurity for Intrusion Detection and Prevention
  • Artificial Intelligence for Robotics and Automation
  • Blockchain Technology for Digital Identity Management
  • Virtual Reality for Rehabilitation and Therapy
  • Natural Language Processing for Text Summarization
  • Machine Learning for Credit Risk Assessment
  • Big Data Analytics for Fraud Detection in Healthcare
  • Cybersecurity for Internet Privacy Protection
  • Artificial Intelligence for Game Design and Development
  • Blockchain Technology for Decentralized Social Networks
  • Virtual Reality for Marketing and Advertising
  • Natural Language Processing for Opinion Mining
  • Machine Learning for Anomaly Detection
  • Big Data Analytics for Predictive Maintenance in Transportation
  • Cybersecurity for Network Security Management
  • Artificial Intelligence for Personalized News and Content Delivery
  • Blockchain Technology for Cryptocurrency Mining
  • Virtual Reality for Architectural Design and Visualization
  • Natural Language Processing for Machine Translation
  • Machine Learning for Automated Image Captioning
  • Big Data Analytics for Stock Market Prediction
  • Cybersecurity for Biometric Authentication Systems
  • Artificial Intelligence for Human-Robot Interaction
  • Blockchain Technology for Smart Grids
  • Virtual Reality for Sports Training and Simulation
  • Natural Language Processing for Question Answering Systems
  • Machine Learning for Sentiment Analysis in Customer Feedback
  • Big Data Analytics for Predictive Maintenance in Manufacturing
  • Cybersecurity for Cloud-Based Systems
  • Artificial Intelligence for Automated Journalism
  • Blockchain Technology for Intellectual Property Management
  • Virtual Reality for Therapy and Rehabilitation
  • Natural Language Processing for Language Generation
  • Machine Learning for Customer Lifetime Value Prediction
  • Big Data Analytics for Predictive Maintenance in Energy Systems
  • Cybersecurity for Secure Mobile Communication
  • Artificial Intelligence for Emotion Recognition
  • Blockchain Technology for Digital Asset Trading
  • Virtual Reality for Automotive Design and Visualization
  • Natural Language Processing for Semantic Web
  • Machine Learning for Fraud Detection in Financial Transactions
  • Big Data Analytics for Social Media Monitoring
  • Cybersecurity for Cloud Storage and Sharing
  • Artificial Intelligence for Personalized Education
  • Blockchain Technology for Secure Online Voting Systems
  • Virtual Reality for Cultural Tourism
  • Natural Language Processing for Chatbot Communication
  • Machine Learning for Medical Diagnosis and Treatment
  • Big Data Analytics for Environmental Monitoring and Management.
  • Cybersecurity for Cloud Computing Environments
  • Virtual Reality for Training and Simulation
  • Big Data Analytics for Sports Performance Analysis
  • Cybersecurity for Internet of Things (IoT) Devices
  • Artificial Intelligence for Traffic Management and Control
  • Blockchain Technology for Smart Contracts
  • Natural Language Processing for Document Summarization
  • Machine Learning for Image and Video Recognition
  • Blockchain Technology for Digital Asset Management
  • Virtual Reality for Entertainment and Gaming
  • Natural Language Processing for Opinion Mining in Online Reviews
  • Machine Learning for Customer Relationship Management
  • Big Data Analytics for Environmental Monitoring and Management
  • Cybersecurity for Network Traffic Analysis and Monitoring
  • Artificial Intelligence for Natural Language Generation
  • Blockchain Technology for Supply Chain Transparency and Traceability
  • Virtual Reality for Design and Visualization
  • Natural Language Processing for Speech Recognition
  • Machine Learning for Recommendation Systems
  • Big Data Analytics for Customer Segmentation and Targeting
  • Cybersecurity for Biometric Authentication
  • Artificial Intelligence for Human-Computer Interaction
  • Blockchain Technology for Decentralized Finance (DeFi)
  • Virtual Reality for Tourism and Cultural Heritage
  • Machine Learning for Cybersecurity Threat Detection and Prevention
  • Big Data Analytics for Healthcare Cost Reduction
  • Cybersecurity for Data Privacy and Protection
  • Artificial Intelligence for Autonomous Vehicles
  • Blockchain Technology for Cryptocurrency and Blockchain Security
  • Virtual Reality for Real Estate Visualization
  • Natural Language Processing for Question Answering
  • Big Data Analytics for Financial Markets Prediction
  • Cybersecurity for Cloud-Based Machine Learning Systems
  • Artificial Intelligence for Personalized Advertising
  • Blockchain Technology for Digital Identity Verification
  • Virtual Reality for Cultural and Language Learning
  • Natural Language Processing for Semantic Analysis
  • Machine Learning for Business Forecasting
  • Big Data Analytics for Social Media Marketing
  • Artificial Intelligence for Content Generation
  • Blockchain Technology for Smart Cities
  • Virtual Reality for Historical Reconstruction
  • Natural Language Processing for Knowledge Graph Construction
  • Machine Learning for Speech Synthesis
  • Big Data Analytics for Traffic Optimization
  • Artificial Intelligence for Social Robotics
  • Blockchain Technology for Healthcare Data Management
  • Virtual Reality for Disaster Preparedness and Response
  • Natural Language Processing for Multilingual Communication
  • Machine Learning for Emotion Recognition
  • Big Data Analytics for Human Resources Management
  • Cybersecurity for Mobile App Security
  • Artificial Intelligence for Financial Planning and Investment
  • Blockchain Technology for Energy Management
  • Virtual Reality for Cultural Preservation and Heritage.
  • Big Data Analytics for Healthcare Management
  • Cybersecurity in the Internet of Things (IoT)
  • Artificial Intelligence for Predictive Maintenance
  • Computational Biology for Drug Discovery
  • Virtual Reality for Mental Health Treatment
  • Machine Learning for Sentiment Analysis in Social Media
  • Human-Computer Interaction for User Experience Design
  • Cloud Computing for Disaster Recovery
  • Quantum Computing for Cryptography
  • Intelligent Transportation Systems for Smart Cities
  • Cybersecurity for Autonomous Vehicles
  • Artificial Intelligence for Fraud Detection in Financial Systems
  • Social Network Analysis for Marketing Campaigns
  • Cloud Computing for Video Game Streaming
  • Machine Learning for Speech Recognition
  • Augmented Reality for Architecture and Design
  • Natural Language Processing for Customer Service Chatbots
  • Machine Learning for Climate Change Prediction
  • Big Data Analytics for Social Sciences
  • Artificial Intelligence for Energy Management
  • Virtual Reality for Tourism and Travel
  • Cybersecurity for Smart Grids
  • Machine Learning for Image Recognition
  • Augmented Reality for Sports Training
  • Natural Language Processing for Content Creation
  • Cloud Computing for High-Performance Computing
  • Artificial Intelligence for Personalized Medicine
  • Virtual Reality for Architecture and Design
  • Augmented Reality for Product Visualization
  • Natural Language Processing for Language Translation
  • Cybersecurity for Cloud Computing
  • Artificial Intelligence for Supply Chain Optimization
  • Blockchain Technology for Digital Voting Systems
  • Virtual Reality for Job Training
  • Augmented Reality for Retail Shopping
  • Natural Language Processing for Sentiment Analysis in Customer Feedback
  • Cloud Computing for Mobile Application Development
  • Artificial Intelligence for Cybersecurity Threat Detection
  • Blockchain Technology for Intellectual Property Protection
  • Virtual Reality for Music Education
  • Machine Learning for Financial Forecasting
  • Augmented Reality for Medical Education
  • Natural Language Processing for News Summarization
  • Cybersecurity for Healthcare Data Protection
  • Artificial Intelligence for Autonomous Robots
  • Virtual Reality for Fitness and Health
  • Machine Learning for Natural Language Understanding
  • Augmented Reality for Museum Exhibits
  • Natural Language Processing for Chatbot Personality Development
  • Cloud Computing for Website Performance Optimization
  • Artificial Intelligence for E-commerce Recommendation Systems
  • Blockchain Technology for Supply Chain Traceability
  • Virtual Reality for Military Training
  • Augmented Reality for Advertising
  • Natural Language Processing for Chatbot Conversation Management
  • Cybersecurity for Cloud-Based Services
  • Artificial Intelligence for Agricultural Management
  • Blockchain Technology for Food Safety Assurance
  • Virtual Reality for Historical Reenactments
  • Machine Learning for Cybersecurity Incident Response.
  • Secure Multiparty Computation
  • Federated Learning
  • Internet of Things Security
  • Blockchain Scalability
  • Quantum Computing Algorithms
  • Explainable AI
  • Data Privacy in the Age of Big Data
  • Adversarial Machine Learning
  • Deep Reinforcement Learning
  • Online Learning and Streaming Algorithms
  • Graph Neural Networks
  • Automated Debugging and Fault Localization
  • Mobile Application Development
  • Software Engineering for Cloud Computing
  • Cryptocurrency Security
  • Edge Computing for Real-Time Applications
  • Natural Language Generation
  • Virtual and Augmented Reality
  • Computational Biology and Bioinformatics
  • Internet of Things Applications
  • Robotics and Autonomous Systems
  • Explainable Robotics
  • 3D Printing and Additive Manufacturing
  • Distributed Systems
  • Parallel Computing
  • Data Center Networking
  • Data Mining and Knowledge Discovery
  • Information Retrieval and Search Engines
  • Network Security and Privacy
  • Cloud Computing Security
  • Data Analytics for Business Intelligence
  • Neural Networks and Deep Learning
  • Reinforcement Learning for Robotics
  • Automated Planning and Scheduling
  • Evolutionary Computation and Genetic Algorithms
  • Formal Methods for Software Engineering
  • Computational Complexity Theory
  • Bio-inspired Computing
  • Computer Vision for Object Recognition
  • Automated Reasoning and Theorem Proving
  • Natural Language Understanding
  • Machine Learning for Healthcare
  • Scalable Distributed Systems
  • Sensor Networks and Internet of Things
  • Smart Grids and Energy Systems
  • Software Testing and Verification
  • Web Application Security
  • Wireless and Mobile Networks
  • Computer Architecture and Hardware Design
  • Digital Signal Processing
  • Game Theory and Mechanism Design
  • Multi-agent Systems
  • Evolutionary Robotics
  • Quantum Machine Learning
  • Computational Social Science
  • Explainable Recommender Systems.
  • Artificial Intelligence and its applications
  • Cloud computing and its benefits
  • Cybersecurity threats and solutions
  • Internet of Things and its impact on society
  • Virtual and Augmented Reality and its uses
  • Blockchain Technology and its potential in various industries
  • Web Development and Design
  • Digital Marketing and its effectiveness
  • Big Data and Analytics
  • Software Development Life Cycle
  • Gaming Development and its growth
  • Network Administration and Maintenance
  • Machine Learning and its uses
  • Data Warehousing and Mining
  • Computer Architecture and Design
  • Computer Graphics and Animation
  • Quantum Computing and its potential
  • Data Structures and Algorithms
  • Computer Vision and Image Processing
  • Robotics and its applications
  • Operating Systems and its functions
  • Information Theory and Coding
  • Compiler Design and Optimization
  • Computer Forensics and Cyber Crime Investigation
  • Distributed Computing and its significance
  • Artificial Neural Networks and Deep Learning
  • Cloud Storage and Backup
  • Programming Languages and their significance
  • Computer Simulation and Modeling
  • Computer Networks and its types
  • Information Security and its types
  • Computer-based Training and eLearning
  • Medical Imaging and its uses
  • Social Media Analysis and its applications
  • Human Resource Information Systems
  • Computer-Aided Design and Manufacturing
  • Multimedia Systems and Applications
  • Geographic Information Systems and its uses
  • Computer-Assisted Language Learning
  • Mobile Device Management and Security
  • Data Compression and its types
  • Knowledge Management Systems
  • Text Mining and its uses
  • Cyber Warfare and its consequences
  • Wireless Networks and its advantages
  • Computer Ethics and its importance
  • Computational Linguistics and its applications
  • Autonomous Systems and Robotics
  • Information Visualization and its importance
  • Geographic Information Retrieval and Mapping
  • Business Intelligence and its benefits
  • Digital Libraries and their significance
  • Artificial Life and Evolutionary Computation
  • Computer Music and its types
  • Virtual Teams and Collaboration
  • Computer Games and Learning
  • Semantic Web and its applications
  • Electronic Commerce and its advantages
  • Multimedia Databases and their significance
  • Computer Science Education and its importance
  • Computer-Assisted Translation and Interpretation
  • Ambient Intelligence and Smart Homes
  • Autonomous Agents and Multi-Agent Systems.

About the author

' src=

Muhammad Hassan

Researcher, Academic Writer, Web developer

You may also like

Economics Research Topics

500+ Economics Research Topics

Funny Research Topics

200+ Funny Research Topics

American History Research Paper Topics

300+ American History Research Paper Topics

Argumentative Research Paper Topics

500+ Argumentative Research Paper Topics

Sports Research Topics

500+ Sports Research Topics

Statistics Research Topics

500+ Statistics Research Topics

Thank you for visiting nature.com. You are using a browser version with limited support for CSS. To obtain the best experience, we recommend you use a more up to date browser (or turn off compatibility mode in Internet Explorer). In the meantime, to ensure continued support, we are displaying the site without styles and JavaScript.

  • View all journals
  • Explore content
  • About the journal
  • Publish with us
  • Sign up for alerts
  • CAREER FEATURE
  • 01 April 2024

How scientists are making the most of Reddit

  • Hannah Docter-Loeb 0

Hannah Docter-Loeb is a freelance writer in Washington DC.

You can also search for this author in PubMed   Google Scholar

It has been almost 18 months since Elon Musk purchased Twitter, now known as X. Since the tech mogul took ownership, in October 2022, the number of daily active users of the platform’s mobile app has fallen by around 15%, and in April 2023 the company cut its workforce by 80%. Thousands of scientists are reducing the time they spend on the platform ( Nature 613 , 19–21; 2023 ). Some have gravitated towards newer social-media alternatives, such as Mastodon and Bluesky. But others are finding a home on a system that pre-dates Twitter: Reddit.

Access options

Access Nature and 54 other Nature Portfolio journals

Get Nature+, our best-value online-access subscription

24,99 € / 30 days

cancel any time

Subscribe to this journal

Receive 51 print issues and online access

185,98 € per year

only 3,65 € per issue

Rent or buy this article

Prices vary by article type

Prices may be subject to local taxes which are calculated during checkout

Nature 628 , 221-223 (2024)

doi: https://doi.org/10.1038/d41586-024-00906-y

Fiesler, C., Zimmer, M., Proferes, N., Gilbert, S. & Jones, N. Proc. ACM Hum. Comp. Interact. 8 , 5 (2024).

Article   Google Scholar  

Proferes, N., Jones, N., Gilbert, S., Fiesler, C. & Zimmer, M. Soc. Media Soc . https://doi.org/10.1177/20563051211019004 (2021).

Download references

Related Articles

research computer science reddit

  • Information technology

How to network with the brightest minds in science

How to network with the brightest minds in science

Career Feature 26 JUN 24

What it means to be a successful male academic

What it means to be a successful male academic

Career Column 26 JUN 24

Is science’s dominant funding model broken?

Is science’s dominant funding model broken?

Editorial 26 JUN 24

The strategy behind one of the most successful labs in the world

The strategy behind one of the most successful labs in the world

Comment 26 JUN 24

Detecting hallucinations in large language models using semantic entropy

Detecting hallucinations in large language models using semantic entropy

Article 19 JUN 24

Misinformation might sway elections — but not in the way that you think

Misinformation might sway elections — but not in the way that you think

News Feature 18 JUN 24

The dream of electronic newspapers becomes a reality — in 1974

The dream of electronic newspapers becomes a reality — in 1974

News & Views 07 MAY 24

Faculty Positions in Westlake University

Founded in 2018, Westlake University is a new type of non-profit research-oriented university in Hangzhou, China, supported by public a...

Hangzhou, Zhejiang, China

Westlake University

research computer science reddit

2024-2025 Westlake Fellowship Applications Open

A Quick Career Path from Fresh PhD to Faculty

Hangzhou, Zhejiang (CN)

Technician - Senior Research Technician in Patient-Derived Tumour Organoids for Drug Resistance ERC

APPLICATION CLOSING DATE: July 26th, 2024 Join the Forefront of Cancer Research: Become a Research Technician / Senior Research Technician in Pati...

Human Technopole

research computer science reddit

Director, Office of Cancer Centers

Director, Office of Cancer Centers Office of the Director National Cancer Institute National Institutes of Health Department of Health and Human Se...

Bethesda, Maryland (US)

National Cancer Institute - OD

2024 Recruitment notice Shenzhen Institute of Synthetic Biology: Shenzhen, China

The wide-ranging expertise drawing from technical, engineering or science professions...

Shenzhen,China

Shenzhen Institute of Synthetic Biology

research computer science reddit

Sign up for the Nature Briefing newsletter — what matters in science, free to your inbox daily.

Quick links

  • Explore articles by subject
  • Guide to authors
  • Editorial policies

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Academia research vs. industry research (computer science)

After finishing my PhD in Computer Science (machine learning) and after several years as a university lecturer, I decided to transition from academia to industry. As a result of that, I have been working one year for a company, doing applied research.

In my latest performance review, my supervisor pointed out that my only negative point was that I still had an academic mindset towards research, and that I should be able to get better at what he called "risk analysis". He defined risk analysis as the skill of assessing in advance the potential benefits/drawbacks for the company of a given method/technique/algorithm. The aim of that is to be able to rapidly discard methods that are supposed to not solve the company's problems without having to waste too much time on implementing them.

I was wondering whether any learning resource exists (book, online course/resources) that may help me to acquire such a skill. More generally, any recommended reading about computer science research in industry would be much appreciated.

  • computer-science

Pablo Suau's user avatar

  • 3 This question appears to be off-topic because it not about academia; it is seeking resources about a specific skill for industry. –  410 gone Commented Jul 8, 2014 at 13:57
  • 14 @EnergyNumbers This site is for academics as well as anyone in or interested in research-related or research-adjacent fields which includes industry research. You can debate whether "risk analysis" is really a research skill or not, but the fact that it takes place in industry research and not academia does not make it off-topic. –  ff524 Commented Jul 8, 2014 at 14:00
  • 1 When I was in engineering industry years ago, non-PhD managers often had this opinion of engineers with PhDs. Does your supervisor have a PhD? If so, you could ask them how they developed this skill. If not, then your manager is just "pointing out the obvious." Don't sweat it; you'll develop this skill over time. –  Mad Jack Commented Jul 8, 2014 at 15:30
  • 3 @ff524: I'd argue that "risk analysis", as defined here, is also used in academia - in "real" research, you also need to assess as early as possible whether a given approach/question/whatever will be fruitful, beneficial, whatever... or impractical, useless, whatever else. So +1 to your comment. –  Stephan Kolassa Commented Jul 9, 2014 at 6:49
  • 3 I find it mildly amusing that your very question and approach reveals a purely academic mindset, too -- "please recommend some books that can help to dig into the issue deeper". I mean, no offense, this is a perfectly legit approach, and I tend to do the same. What really helps is just understand the basics: how your particular company makes money and how economics works in general. For starters, try to measure any solution in dollars. E.g., what is cheaper: to research how to automate a certain manual process or to outsource it to low-pay workers? –  rg_software Commented Jan 5, 2019 at 22:29

2 Answers 2

As a researcher in industry, let me first emphasize to you that "industry" is a much broader set of organizations and varies a lot more than most people realize. Thus, the answer to your question may depend quite a bit on the specifics of the company that you are at.

That said, however, in most cases a key animating idea for researchers in industry is a notion that often goes by a name like "customer focus": i.e., who will care about the results of this investigation?

Sometimes this is pretty straightforward (e.g., "if widget-making is 5% more efficient, then profit margins on widgets go up), but in other cases the relation is much more abstract or indirect (e.g., some prior work I did on potential programming languages for quantum computers that don't currently exist, but where the funder wanted to see how thinking about this might affect their goals for other research projects).

In all cases, however, you always have to be aware that somebody is paying the funds to support your salary and the salaries of your team, and they are giving you that money because they want some benefit to come from your research. This is true in academia as well, but professors are typically more insulated from it because their salaries are generally mostly supported by teaching---and even graduate students can be supported by TAships. If you're being paid to teach and expected to do research on the side, then it doesn't really matter what you're researching in the short term---but you will have more impact if you work on more important problems.

So, to the heart your question: how do you actually go about doing that?

I recommend starting by trying to be aware that at all times there is a "frontier" of research problems that you could be working on. Whenever you do a piece of work, you are choosing to prioritize one piece of that frontier over others. Notice this fact and ask yourself questions like:

  • Why did I choose this problem over those other ones?
  • How will solving this problem affect the other problems on my frontier?
  • Who else cares about the solution to this problem?

There can be lots of reasonable answers to these questions, but starting to ask them can be extremely helping in moving to a more conscious evaluation of your research choices and whether they're actually moving you in the direction that you want to go in your career.

For more thoughts and suggestions along these lines, I would recommend the following resources:

  • "You and Your Research" by Richard Hamming , a long-time industrial researcher at Bell Labs.
  • My own talk on "Surviving Life as a Researcher"

jakebeal's user avatar

Here are some links for you

books from Amazon

more books from Amazon

I am not interested in risk assessment but if I was, would sort the books by customer review, would see what the people who read them think, if possible would look inside the book.

Have to say though that I find strange you didn't do it yourself before posting the question.

greenfingers's user avatar

  • 1 Thank you for your answer. I, indeed, did several searches on Google, Amazon, etc. prior to asking the question. The issue with that approach is that the amount of published information is overwhelming, and therefore I was expecting somebody to point me in a more right direction. –  Pablo Suau Commented Jul 16, 2014 at 10:42
  • 2 This reads like more of an admonishment than an answer –  benxyzzy Commented May 1, 2019 at 9:03
  • this does not appear to be the "risk analysis" the question is referring to. –  Marco Lübbecke Commented Jul 8, 2019 at 22:29

You must log in to answer this question.

Not the answer you're looking for browse other questions tagged computer-science industry ..

  • Featured on Meta
  • Upcoming sign-up experiments related to tags

Hot Network Questions

  • Short story about soldiers who are fighting against an enemy which turns out to be themselves
  • Is it legal to initialize an array via a functor which takes the array itself as a parameter by reference?
  • Is this professor being unnecessarily harsh or did I actually make a mistake?
  • Is our consciousness evidence of the existence of a true ontology that underlies many "conventional" ontologies?
  • Is it unethical to have a videogame open on a personal device and interact with it occasionally as part of taking breaks while working from home?
  • What rights does an employee retain, if any, who does not consent to being monitored on a work IT system?
  • Why would anyone kill a dragon rather than subdue it in OD&D?
  • Did James Madison say or write that the 10 Commandments are critical to the US nation?
  • What is a quarter in 19th-century England converted to contemporary pints?
  • Sarkhan, Soul Aflame Becoming a dragon that entered
  • Can a planet have a warm, tropical climate both at the poles and at the equator?
  • Can a unique position be deduced if pieces are replaced by checkers (can see piece color but not type)
  • What is the translation of lawfare in French?
  • Looking for a caveman-discovers-fire short story that is a pun on "nuclear" power
  • What US checks and balances prevent the FBI from raiding politicians unfavorable to the federal government?
  • How does a vehicle's brake affect the friction between the vehicle and ground?
  • Could Kessler Syndrome be used to control the temperature of the Earth?
  • 50s or 60s sci-fi movie featuring scientists who learn to operate an abandoned flying saucer
  • Expressing internal energy of a system in thermodynamics
  • How exactly does a seashell make the humming sound?
  • Relationship between major and minor axis of an ellipse's circumference
  • Lines of intersections in a parabola
  • Issues with my D&D group
  • How to make sure to only get full frame lenses for the Canon EF (non-mirrorless) mount?

research computer science reddit

Undergraduate Research Opportunities

Undergraduates are an essential part of our leading-edge research. There are many ways to contribute to impactful research early in your career, from summer programs to paid research positions with faculty.

Year Long Research

research computer science reddit

  • Clare Boothe Luce Research Scholars an ISUR-affiliated program supporting undergraduate women in research and teaching in science, mathematics, and engineering. Eight scholars are selected and funded each year.
  • C3SR-Undergraduate Research in Artificial Intelligence is an IBM-Illinois and ISUR partnership funding undergraduate AI and cognitive computing research, from theory to practical application while working with a C3SR faculty mentor.
  • The National Center for Supercomputing Applications (NCSA) SPIN is an academic internship program for undergraduate students to participate in supercomputing, visualization, data analytics, and similar fields with five weekly paid hours.

Semester Long Research

  • CS Job Portal is our department's employment opportunities with course assistant and undergraduate research positions.
  • PURE (Promoting Undergraduate Research in Engineering) is a student-run research program connecting first-year and second-year students with graduate student mentors to jump-start their research careers. 

Summer Research

research computer science reddit

  • The National Center for Supercomputing Applications (NCSA) INCLUSION program is a 10-week program for students from underrepresented communities to work in pairs with mentors on research aimed toward social impact based around open-source software development.
  • Summer Research Program for Undergraduates (SRP)  students work on state-of-the-art research with university faculty while attending professional development programs aimed at making students strong researchers and graduate school candidates
  • Mind in Vitro Undergraduate Summer Research Program undergraduate researchers work with faculty mentors and graduate students on projects related to Mind in Vitro while participating in the Illinois summer research program networking, socials, lunches, and seminars.

Mentorship Opportunities

research computer science reddit

Showcase Opportunities

  • Engineering Research Fair is hosted by Grainger Engineering every semester for researchers to share their work and labs and for companies recruiting researchers.
  • Undergraduate Research Symposium is a yearly campus-wide research symposium for undergraduate researchers to present the results of their research and gain experience presenting work to a wider audience.

Computer Science

Research internship program.

The CS Research Internship Program at Yale provides applicants with a unique opportunity to conduct cutting-edge research with leading researchers in the field. Interns will get a chance to not only grow their knowledge in their area of interest, but also obtain hands-on experience working on projects that have real-world impact. We welcome applications from all students that are currently pursuing a bachelor, master or PhD degree in Computer Science or related fields.

research computer science reddit

Q: Can I contact a faculty member directly? A: Yes of course!

Q: What will happen if I apply here? A: A committee of faculty and staff members review applications regularly and try to match applicants with faculty members. If there is a match, the faculty member(s) will contact you directly to follow up.

Q: Is there a deadline for applications? A: While we review applications as we receive them, we encourage you to submit your application by December 15th if you are interested in opportunities in the coming summer.

Q: Where can I find information about potential internship projects? A: Many faculty members provide information about their research on their personal or lab websites. We do not maintain a list of potential projects at this point.

Q: Does the internship require physical presence in New Haven, CT? A: It depends on the research project. Many CS research projects can be perfectly carried out remotely. We have had several successful virtual internships in the past two years, especially since the start of the COVID-19 pandemic.

Q: Does the internship pay? A: It depends on the research projects. A full-time internship can receive a stipend commensurate with that of doctoral students.

Q: Does the program consider International Students? A: Yes! We have had international student interns both physically (pre-pandemic) and virtually (post-pandemic).

Q: Does the program sponsor the necessary visa for an international student to physically visit Yale? A: We used to do it before the pandemic. However, due to the COVID-19 pandemic, Yale has stopped sponsoring visas for visiting international students. This may change as the pandemic situation improves, but only virtual/remote internships are possible for international students at this point.

Q: Does the program cover my travel cost? A: It depends on the research projects.

Q: Does the internship provide health benefits or housing? A: No, you will be responsible for both.

Q: If I have applied here but not heard from you, what should I do? A: In general, if you have not heard from any Yale CS faculty member, that means a match has not been found yet. If it has been six months or there is any significant change in your credentials, you are welcome to apply again. You should also feel free to directly contact faculty members that you are interested in working with.

Still have questions? Reach out to us at cs-sip [AT] cs [DOT] yale [DOT] edu!

Still too much?

If the idea of self-studying 9 topics over multiple years feels overwhelming, we suggest you focus on just two books: Computer Systems: A Programmer's Perspective and Designing Data-Intensive Applications . In our experience, these two books provide incredibly high return on time invested, particularly for self-taught engineers and bootcamp grads working on networked applications. They may also serve as a "gateway drug" for the other topics and resources listed above.

Why learn computer science?

There are 2 types of software engineer: those who understand computer science well enough to do challenging, innovative work, and those who just get by because they’re familiar with a few high level tools.

Both call themselves software engineers, and both tend to earn similar salaries in their early careers. But Type 1 engineers progress toward more fulfilling and well-remunerated work over time, whether that’s valuable commercial work or breakthrough open-source projects, technical leadership or high-quality individual contributions.

The global SMS system does around 20bn messages a day. WhatsApp is now doing 42bn. With 57 engineers. pic.twitter.com/zZrtSIzhlR — Benedict Evans (@BenedictEvans) February 2, 2016

Type 1 engineers find ways to learn computer science in depth, whether through conventional means or by relentlessly learning throughout their careers. Type 2 engineers typically stay at the surface, learning specific tools and technologies rather than their underlying foundations, only picking up new skills when the winds of technical fashion change.

Currently, the number of people entering the industry is rapidly increasing, while the number of CS grads is relatively static. This oversupply of Type 2 engineers is starting to reduce their employment opportunities and keep them out of the industry’s more fulfilling work. Whether you’re striving to become a Type 1 engineer or simply looking for more job security, learning computer science is the only reliable path.

research computer science reddit

Subject guides

Programming.

Most undergraduate CS programs start with an “introduction” to computer programming. The best versions of these courses cater not just to novices, but also to those who missed beneficial concepts and programming models while first learning to code.

Our standard recommendation for this content is the classic Structure and Interpretation of Computer Programs , which is available online for free both as a book , and as a set of MIT video lectures . While those lectures are great, our video suggestion is actually Brian Harvey’s SICP lectures (for the 61A course at Berkeley) instead. These are more refined and better targeted at new students than are the MIT lectures.

We recommend working through at least the first three chapters of SICP and doing the exercises. For additional practice, work through a set of small programming problems like those on exercism .

Since this guide was first published in 2016, one of the most commonly asked questions has been whether we’d now recommend recordings of a more recent iteration of 61A taught by John DeNero, and/or the corresponding book Composing Programs , which is “in the tradition of SICP” but uses Python. We think the DeNero resources are also great, and some students may end up preferring them, but we still suggest SICP, Scheme, and Brian Harvey’s lectures as the first set of resources to try.

Why? Because SICP is unique in its ability—at least potentially—to alter your fundamental beliefs about computers and programming. Not everybody will experience this. Some will hate the book, others won't get past the first few pages. But the potential reward makes it worth trying.

If you don't enjoy SICP, try Composing Programs . If that still doesn't suit, try How to Design Programs . If none of these seem to be rewarding your effort, perhaps that's a sign that you should focus on other topics for some time, and revisit the discipline of programming in another year or two.

Finally, a point of clarification: this guide is NOT designed for those who are entirely new to programming. We assume that you are a competent programmer without a background in computer science, looking to fill in some knowledge gaps. The fact that we've included a section on "programming" is simply a reminder that there may be more to learn. For those who've never coded before, but who'd like to, you might prefer a guide like this one .

Structure and Interpretation of Computer Programs

Computer Architecture

Computer Architecture—sometimes called “computer systems” or “computer organization”—is an important first look at computing below the surface of software. In our experience, it’s the most neglected area among self-taught software engineers.

Our favorite introductory book is Computer Systems: A Programmer's Perspective , and a typical introductory computer architecture course using the book would cover most of chapters 1-6.

We love CS:APP for the practical, programmer-oriented approach. While there's much more to computer architecture than what's covered in the book, it serves as a great starting point for those who'd like to understand computer systems primarily in order to write faster, more efficient and more reliable software .

For those who'd prefer both a gentler introduction to the topic and a balance of hardware and software concerns, we suggest The Elements of Computing Systems , also known as “Nand2Tetris”. This is an ambitious book attempting to give you a cohesive understanding of how everything in a computer works. Each chapter involves building a small piece of the overall system, from writing elementary logic gates in HDL, through a CPU and assembler, all the way to an application the size of a Tetris game.

We recommend reading through the first six chapters of the book and completing the associated projects. This will develop your understanding of the relationship between the architecture of the machine and the software that runs on it.

The first half of the book (and all of its projects), are available for free from the Nand2Tetris website . It’s also available as a Coursera course with accompanying videos .

In seeking simplicity and cohesiveness, Nand2Tetris trades off depth. In particular, two very important concepts in modern computer architectures are pipelining and memory hierarchy, but both are mostly absent from the text.

Once you feel comfortable with the content of Nand2Tetris, we suggest either returning to CS:APP, or considering Patterson and Hennessy’s Computer Organization and Design , an excellent and now classic text. Not every section in the book is essential; we suggest following Berkeley’s CS61C course “Great Ideas in Computer Architecture” for specific readings. The lecture notes and labs are available online, and past lectures are on the Internet Archive .

Computer Systems: A Programmer's Perspective

Hardware is the platform

Algorithms and Data Structures

We agree with decades of common wisdom that familiarity with common algorithms and data structures is one of the most empowering aspects of a computer science education. This is also a great place to train one’s general problem-solving abilities, which will pay off in every other area of study.

There are hundreds of books available, but our favorite is The Algorithm Design Manual by Steven Skiena. He clearly loves algorithmic problem solving and typically succeeds in fostering similar enthusiasm among his students and readers. In our opinion, the two more commonly suggested texts (CLRS and Sedgewick) tend to be a little too proof-heavy for those learning the material primarily to help with practical problem solving.

For those who prefer video lectures, Skiena generously provides his online . We also really like Tim Roughgarden’s course, available on Coursera and elsewhere . Whether you prefer Skiena’s or Roughgarden’s lecture style will be a matter of personal preference. In fact, there are dozens of good alternatives, so if you happen to find another that you like, we encourage you to stick with it!

For practice, our preferred approach is for students to solve problems on Leetcode . These tend to be interesting problems with decent accompanying solutions and discussions. They also help you test progress against questions that are commonly used in technical interviews at the more competitive software companies. We suggest solving around 100 random leetcode problems as part of your studies.

Finally, we strongly recommend How to Solve It as an excellent and unique guide to general problem solving; it’s as applicable to computer science as it is to mathematics.

The Algorithm Design Manual

I have only one method that I recommend extensively—it’s called think before you write.

Mathematics for Computer Science

In some ways, computer science is an overgrown branch of applied mathematics. While many software engineers try—and to varying degrees succeed—at ignoring this, we encourage you to embrace it with direct study. Doing so successfully will give you an enormous competitive advantage over those who don’t.

The most relevant area of math for CS is broadly called “discrete mathematics”, where “discrete” is the opposite of “continuous” and is loosely a collection of interesting applied math topics outside of calculus. Given the vague definition, it’s not meaningful to try to cover the entire breadth of “discrete mathematics”. A more realistic goal is to build a working understanding of logic, combinatorics and probability, set theory, graph theory, and a little of the number theory informing cryptography. Linear algebra is an additional worthwhile area of study, given its importance in computer graphics and machine learning.

Our suggested starting point for discrete mathematics is the set of lecture notes by László Lovász . Professor Lovász did a good job of making the content approachable and intuitive, so this serves as a better starting point than more formal texts.

For a more advanced treatment, we suggest Mathematics for Computer Science , the book-length lecture notes for the MIT course of the same name. That course’s video lectures are also freely available , and are our recommended video lectures for discrete math.

For linear algebra, we suggest starting with the Essence of linear algebra video series, followed by Gilbert Strang’s book and video lectures .

If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.

Operating Systems

Operating System Concepts (the “Dinosaur book”) and Modern Operating Systems are the “classic” books on operating systems. Both have attracted criticism for their lack of clarity and general student unfriendliness.

Operating Systems: Three Easy Pieces is a good alternative that’s freely available online . We particularly like the structure and readability of the book, and feel that the exercises are worthwhile.

After OSTEP, we encourage you to explore the design decisions of specific operating systems, through “{OS name} Internals” style books such as Lion's commentary on Unix , The Design and Implementation of the FreeBSD Operating System , and Mac OS X Internals . For Linux, we suggest Robert Love's fantastic Linux Kernel Development .

A great way to consolidate your understanding of operating systems is to read the code of a small kernel and add features. One choice is xv6 , a port of Unix V6 to ANSI C and x86, maintained for a course at MIT. OSTEP has an appendix of potential xv6 labs full of great ideas for potential projects.

Operating Systems: Three Easy Pieces

Computer Networking

Given that so much of software engineering is on web servers and clients, one of the most immediately valuable areas of computer science is computer networking. Our self-taught students who methodically study networking find that they finally understand terms, concepts and protocols they’d been surrounded by for years.

Our favorite book on the topic is Computer Networking: A Top-Down Approach . The small projects and exercises in the book are well worth doing, and we particularly like the “Wireshark labs”, which they have generously provided online .

For those who prefer video lectures, we suggest Stanford’s Introduction to Computer Networking course previously available via Stanford's MOOC platform Lagunita, but sadly now only available as unofficial playlists on Youtube.

You can’t gaze in the crystal ball and see the future. What the Internet is going to be in the future is what society makes it.

Computer Networking: A Top-Down Approach

It takes more work to self-learn about database systems than it does with most other topics. It’s a relatively new (i.e. post 1970s) field of study with strong commercial incentives for ideas to stay behind closed doors. Additionally, many potentially excellent textbook authors have preferred to join or start companies instead.

Given the circumstances, we encourage self-learners to generally avoid textbooks and start with recordings of CS 186 , Joe Hellerstein’s databases course at Berkeley, and to progress to reading papers after.

One paper particularly worth mentioning for new students is “ Architecture of a Database System ”, which uniquely provides a high-level view of how relational database management systems (RDBMS) work. This will serve as a useful skeleton for further study.

Readings in Database Systems , better known as the databases “Red Book” , is a collection of papers compiled and edited by Peter Bailis, Joe Hellerstein and Michael Stonebraker. For those who have progressed beyond the level of the CS 186 content, the Red Book should be your next stop.

If you're adamant about using an introductory textbook, we suggest Database Management Systems by Ramakrishnan and Gehrke. For more advanced students, Jim Gray’s classic Transaction Processing: Concepts and Techniques is worthwhile, but we don’t encourage using this as a first resource.

Finally, data modeling is a neglected and poorly taught aspect of working with databases. Our suggested book on the topic is Data and Reality: A Timeless Perspective on Perceiving and Managing Information in Our Imprecise World .

Readings in Database Systems

Languages and Compilers

Most programmers learn languages, whereas most computer scientists learn about languages. This gives the computer scientist a distinct advantage over the programmer, even in the domain of programming! Their knowledge generalizes; they are able to understand the operation of a new language more deeply and quickly than those who have merely learned specific languages.

Our suggested introductory text is the excellent Crafting Interpreters by Bob Nystrom, available for free online. It's well organized, highly entertaining, and well suited to those whose primary goal is simply to better understand their languages and language tools. We suggest taking the time to work through the whole thing, attempting whichever of the "challenges" sustain your interest.

A more traditional recommendation is Compilers: Principles, Techniques & Tools , commonly called “the Dragon Book”. Unfortunately, it’s not designed for self-study, but rather for instructors to pick out 1-2 semesters worth of topics for their courses.

If you elect to use the Dragon Book, it’s almost essential that you cherry-pick the topics, ideally with the help of a mentor. In fact, our suggested way to utilize the Dragon Book, if you so choose, is as a supplementary reference for a video lecture series. Our recommended one is Alex Aiken’s, on edX .

Compilers: Principles, Techniques & Tools

Don’t be a boilerplate programmer. Instead, build tools for users and other programmers. Take historical note of textile and steel industries: do you want to build machines and tools, or do you want to operate those machines?

— Ras Bodik at the start of his compilers course

Distributed Systems

As computers have increased in number, they have also spread . Whereas businesses would previously purchase larger and larger mainframes, it’s typical now for even very small applications to run across multiple machines. Distributed systems is the study of how to reason about the trade-offs involved in doing so.

Our suggested book for self-study is Martin Kleppmann's Designing Data-Intensive Applications . Far better than a traditional textbook, DDIA is a highly readable book designed for practitioners, which somehow avoids sacrificing depth or rigor.

For those seeking a more traditional text, or who would prefer one that’s available for free online, we suggest Maarten van Steen and Andrew Tanenbaum’s Distributed Systems, 3rd Edition .

For those who prefer video, an excellent course with videos available online is MIT’s 6.824 , a graduate course taught by Robert Morris with readings available here .

No matter the choice of textbook or other secondary resources, study of distributed systems absolutely mandates reading papers. A good list is here , and we would highly encourage attending your local Papers We Love chapter.

Designing Data-Intensive Applications

Frequently asked questions

Who is the target audience for this guide.

We have in mind that you are a self-taught software engineer, bootcamp grad or precocious high school student, or a college student looking to supplement your formal education with some self-study. The question of when to embark upon this journey is an entirely personal one, but most people tend to benefit from having some professional experience before diving too deep into CS theory. For instance, we notice that students love learning about database systems if they have already worked with databases professionally, or about computer networking if they’ve worked on a web project or two.

What about AI/graphics/pet-topic-X?

We’ve tried to limit our list to computer science topics that we feel every practicing software engineer should know, irrespective of specialty or industry, but with a focus on systems. In our experience, these will be the highest ROI topics for the overwhelming majority of self-taught engineers and bootcamp grads, and provide a solid foundation for further study. Subsequently, you’ll be in a much better position to pick up textbooks or papers and learn the core concepts without much guidance. Here are our suggested starting points for a couple of common “electives”:

  • For artificial intelligence: do Berkeley’s intro to AI course by watching the videos and completing the excellent Pacman projects. As a textbook, use Russell and Norvig’s Artificial Intelligence: A Modern Approach .
  • For machine learning: do Andrew Ng’s Coursera course. Be patient, and make sure you understand the fundamentals before racing off to shiny new topics like deep learning.
  • For computer graphics: work through Berkeley’s CS 184 material, and use Computer Graphics: Principles and Practice as a textbook.

How strict is the suggested sequencing?

Realistically, all of these subjects have a significant amount of overlap, and refer to one another cyclically. Take for instance the relationship between discrete math and algorithms: learning math first would help you analyze and understand your algorithms in greater depth, but learning algorithms first would provide greater motivation and context for discrete math. Ideally, you’d revisit both of these topics many times throughout your career.

As such, our suggested sequencing is mostly there to help you just get started … if you have a compelling reason to prefer a different sequence, then go for it. The most significant “pre-requisites” in our opinion are: computer architecture before operating systems or databases, and networking and operating systems before distributed systems.

How does this compare to Open Source Society or freeCodeCamp curricula?

When this guide was first written in 2016, the OSS guide had too many subjects, suggested inferior resources for many of them, and provided no rationale or guidance around why or what aspects of particular courses are valuable. We strove to limit our list of courses to those which you really should know as a software engineer, irrespective of your specialty, and to help you understand why each course is included. In the subsequent years, the OSS guide has improved, but we still think that this one provides a clearer, more cohesive path.

freeCodeCamp is focused mostly on programming, not computer science. For why you might want to learn computer science, see above . If you are new to programming, we suggest prioritizing that, and returning to this guide in a year or two.

What about language X?

Learning a particular programming language is on a totally different plane to learning about an area of computer science — learning a language is much easier and much less valuable . If you already know a couple of languages, we strongly suggest simply following our guide and fitting language acquisition in the gaps, or leaving it for afterwards. If you’ve learned programming well (such as through Structure and Interpretation of Computer Programs ), and especially if you have learned compilers, it should take you little more than a weekend to learn the essentials of a new language, after which you can learn about the libraries/tooling/ecosystem on the job.

What about trendy technology X?

No single technology is important enough that learning to use it should be a core part of your education. On the other hand, it’s great that you’re excited to learn about that thing. The trick is to work backwards from the particular technology to the underlying field or concept, and learn that in depth before seeing how your trendy technology fits into the bigger picture.

Why are you still recommending SICP?

Look, just try it. Some people find SICP mind blowing, a characteristic shared by very few other books. If you don't like it, you can always try something else and perhaps return to SICP later.

Why are you still recommending the Dragon book?

The Dragon book is still the most complete single resource for compilers. It gets a bad rap, typically for overemphasizing certain topics that are less fashionable to cover in detail these days, such as parsing. The thing is, the book was never intended to be studied cover to cover, only to provide enough material for an instructor to put together a course. Similarly, a self-learner can choose their own adventure through the book, or better yet follow the suggestions that lecturers of public courses have made in their course outlines.

How can I get textbooks cheaply?

Many of the textbooks we suggest are freely available online, thanks to the generosity of their authors. For those that aren’t, we suggest buying used copies of older editions. As a general rule, if there has been more than a couple of editions of a textbook, it’s quite likely that an older edition is perfectly adequate. It’s certainly unlikely that the newest version is 10x better than an older one, even if that’s what the price difference is!

Who made this?

This guide was originally written by Oz Nova and Myles Byrne , with 2020 updates by Oz. It is based on our experience teaching foundational computer science to over 1,000 mostly self-taught engineers and bootcamp grads in small group settings in San Francisco and live online. Thank you to all of our students for your continued feedback on self-teaching resources.

For updates to this guide and general computer science news and resources, you may also like to sign up for Oz's newsletter:

USC Viterbi School of Engineering Logo – Viterbi School website

  • B.S. Students
  • M.S. Students
  • Ph.D. Students
  • D-Clearance
  • Directed Research
  • Information for Graders and Course Producers
  • Microsoft Imagine
  • CS Student Organizations
  • CS Library Guide
  • CS Job Announcements
  • Research Areas and Labs

research computer science reddit

Artificial Intelligence, Machine Learning, Privacy/FATE 

research computer science reddit

Theory and Computation

research computer science reddit

Systems, Databases, Software Engineering, Cyber-Physical Systems, Security

research computer science reddit

Computer Vision, Robotics, Graphics, HCI

Artificial intelligence, machine learning, privacy/fate .

Researchers in artificial intelligence (AI) seek to understand and develop machines with human-level intelligence by exploring the academic and real-world challenges surrounding AI. 

At USC’s Department of Computer Science, we are pioneering breakthroughs in a full spectrum of topics related to AI, including machine learning, computer vision and image processing, human-robot interaction, speech and language analysis, information extraction and privacy-protection.

Our researchers are working in areas where artificial intelligence has been under study for decades—like language—and where the tools are just starting to make inroads—such as efforts to combat human trafficking, diagnose fetal alcohol syndrome, and prevent terrorist attacks using limited resources. 

We understand that the long-term goal of building intelligent machines relies on collaboration across many fields. That’s why we also work closely with researchers across application domains, such as health care, social work and linguistics.

Affective Computing Group Automatic Coordination of Teams (ACT) Lab Center for Autonomy and AI Center on Knowledge Graphs Cognitive Architecture Cognitive Learning for Vision and Robotics Lab Collaboratory for Algorithmic Techniques and Artifical Intelligence (CATAI) Computational Linguistics Computational Neuroscience Lab (iLab) Computational Social Science Laboratory IRIS Computer Vision Lab (CV-Lab) Data, Interpretability, Language and Learning (DILL) Lab Data Science Lab Database Lab (Dblab) Haptics Robotics and Virtual   ICT Natural Language Dialogue Group IDM Artificial Intelligence Laboratory Information Laboratory (InfoLab) Intelligence and Knowledge Discovery (INK) Research Lab Integrated Media Systems Center (IMSC) Interaction Lab Interactive and Collaborative Autonomous Robotic Systems (ICAROS) Lab Interactive Knowledge Capture Machine Learning and Data Mining Lab (Melody-Lab) Polymorphic Robotics Lab Privacy Research Lab Robotics and Autonomous Systems Center (RASC) Robotic Embedded Systems Lab Robotics Research Lab Semantic Information Research Speech Analysis and Interpretation Lab (SAIL) USC Brain project USC Center for Artificial Intelligence in Society USC Center for Autonomy and Artificial Intelligence 

Aleksandra Korolova Andrew Gordon Aram Galstyan Barath Raghavan Bill Swartout Bistra Dilkina Craig Knoblock Cyrus Shahabi David Kempe David Pynadath David Traum Fred Morstatter Gale Lucas Gaurav Sukhatme Greg Ver Steeg Haipeng Luo Heather Culbertson Jay Pujara Jesse Thomason Jiapeng Zhang John Heidemann Jonathan Gratch Jonathan May Jose Luis Ambite Jyotirmoy Deshmukh Kallirroi Georgila Kristina Lerman Laurent Itti Leana Golubchik Maja Matarić Michael Zyda Mohammad Soleymani Muhammad Naveed Mukund Raghothaman Ning Wang Paul Rosenbloom (Emeritus) Pedro Szekely Ram Nevatia Robin Jia Satish Thittamaranahalli Saty Raghavachary Shaddin Dughmi Shang-Hua Teng Srivatsan Ravi Stefanos Nikolaidis Sven Koenig Swabha Swayamdipta Tatyana Ryutov Ulrich Neumann Victor Adamchik Weihang Wang Wei-Min Shen Wensheng Wu Xiang Ren Yan Liu Yolanda Gil

USC has a strong and active background in modern theoretical computer science,  with research spanning a broad range of topics.   Areas of particular interest include the theory of algorithms and optimization, graph theory, scalable algorithms, theory of machine  learning, computational geometry, complex analysis, computational complexity, algorithmic number theory and cryptography.

Our researchers in this area are particularly motivated by bridging the gap between theory and practice, such as non-blockchain digital currencies, social network analysis, smoothed analysis, bilingual learning and post-quantum cryptography.

In addition, we have many strong connections to other fields, including economics and game theory, pure mathematics, applied mathematics and scientific computing, network science, sociology, as well as evolution of concepts, ideas and organisms.

Collaboratory for Advanced Computing and Simulations (CACS) Collaboratory for Algorithmic Techniques and Artifical Intelligence (CATAI) CS Theory Group

Aaron Cote Aiichiro Nakano Aleksandra Korolova Bistra Dilkina David Kempe Haipeng Luo Jeffrey Miller Jiapeng Zhang Jonathan May Len Adleman Ming-Deh A. Huang Satish Thittamaranahalli Shaddin Dughmi Shang-Hua Teng Shawn Shamsian Srivatsan Ravi Victor Adamchik

The demands on modern computing systems are increasingly complex, from small embedded systems in phones, laptops and wearables, to large-scale cloud computing and high-performance networks.

Systems, databases and software engineering research at USC aims to develop innovative hardware and software across the computing spectrum for existing technologies and to support future power-efficient, sustainable and secure computer systems.

From smart cities and intelligent transportation systems to personalized medicine, next-generation computer systems will require new, innovative and visionary approaches to hardware, wired and wireless communication.

At USC, researchers investigate various issues in the design and analysis of infrastructures for large networks. We focus on fundamental aspects of information acquisition, processing, security, privacy, storage, and communication.

Our research interests include crowd-sensing, program analysis, privacy-preserving systems, network design and management, software-defined networking, cloud computing, internet measurement, software verification and synthesis, advanced 5G wireless networks and data center design.

ANT (The Analysis of Network Traffic Lab) Autonomous Networks Research Group Center for Computer Systems Security Center for Systems and Software Engineering (CSSE) Center on Knowledge Graphs Collaboratory for Advanced Computing and Simulations (CACS) FPGA/Parallel Computing Group Information Laboratory / USC Integrated Media Systems Center (IMSC) Networked Systems Lab Quantitative Evaluation & Design Lab (QED ) Safe Autonomy and Intelligent Distributed Systems (SAIDS) Lab STEEL Security Research Lab The Postel Center USC Database Lab

Andrew Goodney Barath Raghavan Bill Cheng Bill Swartout Chao Wang Claire Bono Clifford Neuman Craig Knoblock Cyrus Shahabi Ellis Horowitz Ewa Deelman Fred Morstatter Jelena Mirkovic Jeffrey Miller John Heidemann Jose Luis Ambite Jyotirmoy Deshmukh Lars Lindemann Leana Golubchik Mark Redekopp Mukund Raghothaman Nenad Medvidovic Pedro Szekely Ramesh Govindan Saty Raghavachary Shahram Ghandeharizadeh Shawn Shamsian Srivatsan Ravi Tatyana Ryutov Weihang Wang Wensheng Wu William G.J. Halfond Xiang Ren

Computer Vision, Robotics, Graphics and HCI

At USC, the areas of computer vision, robotics and graphics represent the interface between computers and the rest of the world. 

Robotics at USC focuses on developing effective, robust, human-centric, and scalable robotic systems. In this area, our expertise ranges from socially assistive robotic and novel haptics technology for virtual touch to complex human-robot interaction and  multi-robot systems.

In computer vision and graphics, our researchers bridge physical and digital worlds with powerful recognition and analysis algorithms, as well as immersive technologies, such as augmented and virtual reality.

In computer vision, our strengths include object detection and recognition, face identification, activity recognition, video retrieval and integrating computer vision with natural language queries.

Our graphics researchers focus on interactive techniques and the simulation and synthesis of multimedia, 3D content and virtual worlds, including image-based modeling and reconstruction, shape analysis, 3D face processing, human digitization, efficient physics simulation, image and video-based rendering techniques.

Last but not least, USC Games, a collaboration between the Department of Computer Science and the School of Cinematics Arts, is recognized as one of North America’s top game design programs, according to Princeton Review.

Cognitive Learning for Vision and Robotics Lab Computer Graphics Group Computer Graphics, Animation and Simulation Laboratory Computer Graphics and Immersive Technologies (CGIT) Geometry and Graphics Group Haptics Robotics and Virtual Interaction (HaRVI) Lab Autonomous Robotic Systems (ICAROS) Lab Interaction Lab Polymorphic Robotics Lab Robotics and Autonomous Systems Center (RASC) Robotic Embedded Systems Lab Safe Autonomy and Intelligent Distributed Systems (SAIDS) Lab USC Geometric Capture Group Vision & Graphics Lab at USC ICT

Andrew Goodney David Pynadath David Traum Gale Lucas Gaurav Sukhatme Heather Culbertson Jernej Barbic Jesse Thomason Jonathan Gratch Kallirroi Georgila Lars Lindemann Laurent Itti Maja Mataric Mark Redekopp Michael Zyda Mohammad Soleymani Ning Wang Oded Stein Paul Rosenbloom Ram Nevatia Satish Thittamaranahalli Saty Raghavachary Stefanos Nikolaidis Sven Koenig Ulrich Neumann Wein-Min Shen Yolanda Gil

Published on August 2nd, 2019

Last updated on November 17th, 2023

  • Chair’s Welcome
  • Awards and Honors
  • CS@SC Institutes
  • Media Coverage
  • Newsletters and Fact Sheets
  • CS Industry Affiliate Program
  • Bekey Lecture
  • Driving Directions
  • Open Staff Positions
  • Open Faculty Positions
  • Centers and Institutes
  • Technical Reports
  • Annual Research Review
  • Undergraduate Research Experiences
  • Faculty Directory
  • Staff Directory
  • Getting Started with CS@USC
  • B.S. Program
  • M.S. Program
  • Ph.D. Program
  • Data Science Program
  • Graduate Certificate
  • Distance Education
  • K-12 Outreach
  • Academic Advisement
  • B.S. Application Information
  • M.S. Application Information
  • Ph.D. Application Information

research computer science reddit

  • Values of Inclusion
  • 2020 Antiracism Task Force
  • 2022 DEI Report
  • Research News
  • Department Life
  • Listed by Recipient
  • Listed by Category
  • Oral History of Cornell CS
  • CS 40th Anniversary Booklet
  • ABC Book for Computer Science at Cornell by David Gries
  • Books by Author
  • Books Chronologically
  • The 60's
  • The 70's
  • The 80's
  • The 90's
  • The 00's
  • The 2010's
  • Faculty Positions: Ithaca
  • Faculty Positions: New York City
  • Lecturer Position: Ithaca
  • Post-doc Position: Ithaca
  • Staff/Technical Positions
  • Ugrad Course Staff
  • Ithaca Info
  • Internal info
  • Graduation Information
  • Cornell Learning Machines Seminar
  • Student Colloquium
  • Fall 2024 Colloquium
  • Conway-Walker Lecture Series
  • Salton 2023 Lecture Series
  • Spring 2024 Artificial Intelligence Seminar
  • Spring 2024 Robotics Seminar
  • Spring 2024 Theory Seminar
  • Big Red Hacks
  • Cornell University - High School Programming Contests 2024
  • Game Design Initiative
  • CSMore: The Rising Sophomore Summer Program in Computer Science
  • Explore CS Research
  • ACSU Research Night
  • Cornell Junior Theorists' Workshop 2023
  • Researchers
  • Ph.D. Students
  • M.Eng. Students
  • M.S. Students
  • Ph.D. Alumni
  • M.S. Alumni
  • List of Courses
  • Course and Room Roster
  • CS Advanced Standing Exam
  • Architecture

Artificial Intelligence

Computational biology, database systems, human interaction, machine learning, natural language processing, programming languages, scientific computing, software engineering, systems and networking, theory of computing.

  • Contact Academic Advisor
  • Your First CS Course
  • Technical Electives
  • CS with Other Majors/Areas
  • Transfer Credits
  • CS Honors Program
  • CPT for International CS Undergrads
  • Graduation Requirements
  • Useful Forms
  • Becoming a CS Major
  • Requirements
  • Game Design Minor
  • Co-op Program
  • Cornell Bowers CIS Undergraduate Research Experience (BURE)
  • Independent Research (CS 4999)
  • Student Groups
  • UGrad Events
  • Undergraduate Learning Center
  • UGrad Course Staff Info
  • The Review Process
  • Early M.Eng Credit Approval
  • Financial Aid
  • Prerequisites
  • The Application Process
  • The Project
  • Pre-approved Electives
  • Degree Requirements
  • The Course Enrollment Process
  • Advising Tips
  • Entrepreneurship
  • Cornell Tech Programs
  • Professional Development
  • Contact MEng Office
  • Career Success
  • Applicant FAQ
  • Computer Science Graduate Office Hours
  • Exam Scheduling Guidelines
  • Graduate TA Handbook
  • MS Degree Checklist
  • MS Student Financial Support
  • Special Committee Selection
  • Diversity and Inclusion
  • Contact MS Office
  • Ph.D. Applicant FAQ
  • Graduate Housing
  • Non-Degree Application Guidelines
  • Ph. D. Visit Day
  • Business Card Policy
  • Cornell Tech
  • Curricular Practical Training
  • A & B Exam Scheduling Guidelines
  • Fellowship Opportunities
  • Field of Computer Science Ph.D. Student Handbook
  • Field A Exam Summary Form
  • Graduate School Forms
  • Instructor / TA Application
  • Ph.D. Requirements
  • Ph.D. Student Financial Support
  • Travel Funding Opportunities
  • Travel Reimbursement Guide
  • The Outside Minor Requirement
  • CS Graduate Minor
  • Outreach Opportunities
  • Parental Accommodation Policy
  • Special Masters
  • Student Spotlights
  • Contact PhD Office

Search form

research computer science reddit

You are here

The computing and information revolution is transforming society. Cornell Computer Science is a leader in this transformation, producing cutting-edge research in many important areas. The excellence of Cornell faculty and students, and their drive to discover and collaborate, ensure our leadership will continue to grow.

The contributions of Cornell Computer Science to research and education are widely recognized, as shown by two Turing Awards, two Von Neumann medals, two MacArthur "genius" awards, and dozens of NSF Career awards our faculty have received, among numerous other signs of success and influence.

To explore current computer science research at Cornell, follow links at the left or below.

Research Areas

ai icon

Knowledge representation, machine learning, NLP and IR, reasoning, robotics, search, vision

Computational Biology

Statistical genetics, sequence analysis, structure analysis, genome assembly, protein classification, gene networks, molecular dynamics

Computer Architecture and VLSI

Computer Architecture & VLSI

Processor architecture, networking, asynchronous VLSI, distributed computing

Database Systems

Database systems, data-driven games, learning for database systems, voice interfaces, computational fact checking, data mining

Graphics

Interactive rendering, global illumination, measurement, simulation, sound, perception

Human Interaction

HCI, interface design, computational social science, education, computing and society

Artificial intelligence, algorithms

Programming Languages

Programming language design and implementation, optimizing compilers, type theory, formal verification

Robotics

Perception, control, learning, aerial robots, bio-inspired robots, household robots

Scientific Computing

Numerical analysis, computational geometry, physically based animation

Security

Secure systems, secure network services, language-based security, mobile code, privacy, policies, verifiable systems

computer code on screen

The software engineering group at Cornell is interested in all aspects of research for helping developers produce high quality software.

Systems and Networking

Operating systems, distributed computing, networking, and security

Theory

The theory of computing is the study of efficient computation, models of computational processes, and their limits.

research computer science reddit

Computer vision

Computer Science

Undergraduate Research

Many of our undergraduate students undertake research guided by a faculty member outside of coursework. This page gives a summary of how to go about finding an undergraduate research opportunity that is a good match for you. It was written in January 2020 by Don Porter, with suggestions from Diane Pozefsky, and most recently updated in October 2023.

Take classes!

The first, and hardest, part of finding a research topic is figuring out what you like. Often, investigating new ideas can be quite different than consuming them.

As a hyperbolic example, just because you like playing video games does not necessarily mean you will enjoy research in computer graphics, which requires considerably more math than dominating Fortnite.

Classes in the major, especially upper-division (400+ level) courses, can be a great opportunity to get a taste of a given topic. Similarly, this is a great opportunity to get to know a potential research advisor.

Of course, if it is your first year and you are eager to start research early, it is still an option to jump into research sooner, especially if you are either self-taught on a topic, or just very passionate about learning in your spare time. More notes on this issue are below.

Word to the wise: Be sure to show up for a few office hours with the instructor just to say “hi” and ask their opinion about interesting research topics and what is happening in the department. It’s best to come when the class is less busy, like earlier in the semester or not just before a major assignment or deadline.

Read up on faculty and research group webpages

Once you identify a general area or areas of interest, the next step would be to look at the department webpages ( such as our Research Areas page ) for faculty interested in a given area.

Although faculty webpages vary substantially in how clear they are to non-experts, they can give you a flavor of the type of work that the professor is into.

If a research group webpage looks appealing, the next step is to read a paper or two. You are unlikely to understand everything you read (don’t panic!), but it does give you a flavor of the work. If you can’t understand the introduction or conclusion, consider revisiting the material after you take an appropriate course in that area.

  • Also, pay attention to the way an idea is evaluated: is it proofs? Human subjects work? Measurement of a computer system? This is how you will likely spend a lot of your time if you join that group.

Word to the wise: Faculty project lists are often stale. Faculty often make webpages for a project around the time they are done with the publication and release the source code or other artifacts. So these pages can be useful to get a sense of the type of work, but the specific project you would likely work on is likely not yet written up.

Search the Office of Undergraduate Research (OUR) Database

The Office of Undergraduate Research has a database where faculty can post open research opportunities, including paid RA positions, volunteer opportunities, and course credit opportunities. This is not a complete listing, but it can give you some good leads, both within and outside of the department.

Sign up for the email list for announcements of new opportunities

There is a UNC CS mailing list to announce research and related opportunities, for those looking. You will need to subscribe, and can unsubscribe yourself.

The details are emailed periodically to CS majors. You may also email professor Porter for details if you are not on the majors list.

Speak to the OUR Liaison or student liaisons

Professor Porter is the current department OUR Liaison and can help answer questions about the process or recommend specific faculty you should consider speaking with. If you have a question about the process, something that is not covered on the page, or are just feeling nervous about the process, set up an appointment with professor Porter.

The best way to schedule an appointment with Professor Porter is using this page .

To see a list of undergraduate student researchers, visit this page .

Send a specific request to faculty member(s) for an appointment

Once you have narrowed the field to 2-3 faculty members you would like to work with, send each of them an email requesting an appointment at their convenience, expressing your interest in working with them, and asking if they have openings in their lab.

Word to the wise: Students often write emails that read as “generic” or “spam”, especially if they come from a student the professor doesn’t know. Thus, it is wise to make sure the email conveys that it is written:

  • By a UNC student. Believe it or not, professors get a significant volume of requests from students outside UNC to work on research. Send the message from your UNC email address and mention how far you are in the program, as well as any relevant background that you think will make you able to contribute to the work.
  • That it is not a “form” email with the professor’s name replaced. The best way to address this is to say something more specific about what you have learned from their page, or that attracted you to their work. If the email reads as if it could just as easily be addressed to professors Snoeyink, Mayer-Patel, or Pizer (by simply replacing the “Dear Prof. X” part), give it some more attention.

Other common issues and questions:

  • Not all faculty have funding to pay undergrad RAs, and even those that do have funding may wish to do a “trial period” (say 1 semester) to see if the work is a good fit before paying a student.
  • If you can afford to do the work without being paid, it may open up more opportunities.
  • That said, for many students, being paid may be a requirement. If this is the case for you, there is nothing wrong with this, and it is best to be up-front with a potential mentor about the issue. Note that if you qualify for Federal Work-Study, this may open up some opportunities to do research as your work-study assignment (mention this to the faculty member).
  • Send a few gentle reminders, say a week apart but at different times of day or days of the week, to “bump” the message back to the top of their inbox. Or go by office hours if advertised for their class, or just try to catch them with their door open/cracked.
  • Professors get a lot of email. Too much. We feel bad about being unresponsive or losing track of emails, but it happens. Be patient, but also don’t be afraid to send reminders.
  • Yes! The great thing about working with first or second year students is that you have longer to amortize the cost of climbing the learning curve.
  • This is especially true if there is a topic where you are self-taught, have prior experience, or are just really passionate to catch up out of band. In some labs, you may also be able to help initially with less technical contributions, such as interviewing subjects or running experiments, while you learn the deeper technical material.
  • The best thing to do is follow similar steps as above, and definitely reach out to the OUR liaison for guidance.
  • When you approach a professor, make a point to explain what you have done to prepare yourself for research in their group, and ask if there are other things you can do to prepare yourself.

Get the Reddit app

r/AskReddit is the place to ask and answer thought-provoking questions.

Is a computer science degree worth it in 2024? Why or why not?

IMAGES

  1. online phd computer science reddit

    research computer science reddit

  2. Advantages Of Computer Science : r/Students_AcademicHelp

    research computer science reddit

  3. online phd computer science reddit

    research computer science reddit

  4. online phd computer science reddit

    research computer science reddit

  5. 125 Best Computer Science Research Topics

    research computer science reddit

  6. Get Knowledge from Best Ever Data Science Discussions on Reddit

    research computer science reddit

VIDEO

  1. The Most Terrifying Type of Entity

  2. R/askscience

  3. Fidelity's Vijay Saraswat: Computer Science 2.0

  4. Research Without Programming Theoretical Research in Computer Science

  5. Computer Science Topics Tier List

  6. Is a Computer Science Degree STILL Worth It? 🧐

COMMENTS

  1. What exactly *is* computer science research? : r/computerscience

    Computer Science research in general usually does involve a great deal of mathematics, whether as foundational principals or as tools. This could be formal proofs, group theory, number theory, and computers are the mechanism by which these principals are applied. Mathematics is an iterative process, someone devises a new mathematical technique ...

  2. What are some interesting computer science research areas ...

    I would like to get involved in computer science research soon, and would like some advice/perspective in choosing an area to specialize in. I have two criteria for a prospective research area: The problems are challenging and interesting. The problems being solved have a tangible impact on people, i.e., they address a real human need.

  3. What is it like to do research in computer science?

    Always something to learn and learning is often something you're expected to do, instead of something done in your free time. Many times the community for your research area is small, you get to be friends with people around the world. Finding bleeding edge, state of the art problem, sometimes almost pie-in-the-sky it's so cool.

  4. CSRankings: Computer Science Rankings

    This ranking is designed to identify institutions and faculty actively engaged in research across a number of areas of computer science, based on the number of publications by faculty that have appeared at the most selective conferences in each area of computer science (see the FAQ for more details).. We gratefully acknowledge the generous support of our sponsors, including Stony Brook University.

  5. How to do research in Computer Science

    But it should be a review of first hand (original) works, and not a review of Reviews. vi) Write a synopsis, if you are to do a Ph.D. For just research, you go ahead with your studying papers. vii ...

  6. 500+ Computer Science Research Topics

    Computer Science is a constantly evolving field that has transformed the world we live in today. With new technologies emerging every day, there are countless research opportunities in this field. Whether you are interested in artificial intelligence, machine learning, cybersecurity, data analytics, or computer networks, there are endless possibilities to explore.

  7. NASA, IBM Develop INDUS Large Language Models for Advanced Science Research

    INDUS incorporates specialized LLMs for Earth science, biological and physical sciences, heliophysics, planetary sciences, and astrophysics. These models are trained on curated scientific data to ...

  8. How scientists are making the most of Reddit

    These studies spanned all sorts of disciplines — from computer science to medicine to social science. One reason that Reddit is ripe for research is that there are few bureaucratic hurdles to ...

  9. Computer Science

    A complete ANN consists of at least an input layer, an output layer, and optionally, one or multiple hidden layers, all of which are ordered. A layer is an abstract structure that consists of more elementary abstract structures called neurons — a layer may have a single or multiple neurons. Each neuron has two associated numerical values: a ...

  10. Research at Yale CS

    At Yale Computer Science, our faculty and students are at the forefront of innovation and discoveries. We conduct ground-breaking research covering a full range of areas in theory, systems, and applications. Our department is currently in the middle of substantial growth. Data and Computer Science is listed as one of the top five Science ...

  11. 14 Pros and 13 Cons of Being a Computer Scientist

    The following are some pros of being a computer scientist: 1. Advancement. The field of computer science offers advanced specializations within a growing technological industry. This provides computer science professional s with a variety of advancement opportunities for specialized or management positions. These opportunities for growth can ...

  12. Academia research vs. industry research (computer science)

    3. As a researcher in industry, let me first emphasize to you that "industry" is a much broader set of organizations and varies a lot more than most people realize. Thus, the answer to your question may depend quite a bit on the specifics of the company that you are at.

  13. Undergraduate Research Opportunities

    Siebel School ofComputing and Data Science. Siebel School of. Computing and Data Science. X. This new school will provide an even greater depth of resources to our top-5 ranked computer science program and a planned new building, made possible through a generous $50 million gift from Illinois alumnus Thomas M. Siebel.

  14. Computer Science

    2019. Edge Cloud for AR/VR. Predictive Visual Understanding. Multimodal Brain Computer Interface for Human-Robot Interaction.

  15. Research Internship Program

    Research Internship Program. The CS Research Internship Program at Yale provides applicants with a unique opportunity to conduct cutting-edge research with leading researchers in the field. Interns will get a chance to not only grow their knowledge in their area of interest, but also obtain hands-on experience working on projects that have real ...

  16. Teach Yourself Computer Science

    It is based on our experience teaching foundational computer science to over 1,000 mostly self-taught engineers and bootcamp grads in small group settings in San Francisco and live online. Thank you to all of our students for your continued feedback on self-teaching resources.

  17. Recently graduated, my advice to Computer Science majors : r ...

    CSCareerQuestions is a community for those who are in the process of entering or are already part of the computer science field. Our goal is to help navigate and share challenges of the industry and strategies to be successful . Recently graduated, my advice to Computer Science majors. This sub-reddit has helped me tremendously when it came to ...

  18. Research Areas and Labs

    About. USC has a strong and active background in modern theoretical computer science, with research spanning a broad range of topics. Areas of particular interest include the theory of algorithms and optimization, graph theory, scalable algorithms, theory of machine learning, computational geometry, complex analysis, computational complexity, algorithmic number theory and cryptography.

  19. Research

    Research. The computing and information revolution is transforming society. Cornell Computer Science is a leader in this transformation, producing cutting-edge research in many important areas. The excellence of Cornell faculty and students, and their drive to discover and collaborate, ensure our leadership will continue to grow.

  20. Is it even worth majoring in Computer Science? Seems like it ...

    Computer science degrees have the highest number of students dropping out, according to the latest figures from the Higher Education Statistics Agency (Hesa). Computer sciences and business and administrative studies are among the degree subjects with the highest drop-out rates; with around nine per cent of students dropping out by their second ...

  21. Undergraduate Research

    Undergraduate Research. Many of our undergraduate students undertake research guided by a faculty member outside of coursework. This page gives a summary of how to go about finding an undergraduate research opportunity that is a good match for you. It was written in January 2020 by Don Porter, with suggestions from Diane Pozefsky, and most ...

  22. Computer Science

    If you have a problem which classes/curses to take, what topics to review, which major to choose, what career path to pursue, what certifications to get etc. then ask on better suited subreddit. This subreddit is dedicated to the discussion about academics of Computer Science, not the career focused aspects of CS.

  23. Is a Computer Science Degree Worth It in 2024? ROI, Cost ...

    An online bachelor's in computer science program can cost approximately $360-$495 per credit, with tuition varying widely. When considering the return on investment (ROI) to figure out why a computer science degree is worth it, it's important to take into account the cost of the degree itself. Below are some of the factors that affect the ...

  24. Is a computer science degree worth it in 2024? Why or why not ...

    Not true. only 32.8 percent of Americans have a bachelor's degree. If every single one of them had a computer science degree, that means only 32.8 percent of the whole country has a computer science degree. But realistically speaking, not everybody majors in computer science, so it would be a lot less than 32 percent.