SlideShare a Scribd company logo
1 of 21
Download to read offline
Research Areas in CS
Narendran Thangarajan,
Final Year CSE, SSNCE.
Outline
• Thanks to forefathers!
• Branches in Computer Science
 ▫ Theoretical
 ▫ Applied
Thanks to our forefathers!
• I don’t want history. Show me the super cool stuff now!

• Wilhelm Schickard – Designed the first mechanical calculator
  (1623).
  ▫ Why? Kepler’s laws of planetary motion.

• Blaise Pascal – designed and constructed the first working
  mechanical calculator (1642).
  ▫ Why? He wanted to help his father with his tax revenue
    calculations.

• Charles Babbage – Difference Engine and Analytical Engine
  ▫ Why? Producing tables was time consuming and expensive at that
    time.
First Computer Science Degree
• Diploma in Computer Science at the University of Cambridge
  Computer Library (1953).

• In USA, first computer science degree program started at Purdue
  University in 1962.


Who named it?
 • George Forsythe, founder and head of Stanford University’s
   Computer Science Department.
Branches in CS
• CSAB – Computing Sciences Accreditation Board
  ▫ Accreditation of computing disciplines.

• Two Major Branches
  ▫ Theoretical Computer Science
  ▫ Applied Computer Science
Theoretical Computer Science
• Has many sub-branches like
  ▫ Theory of Computation
  ▫ Information and Coding theory
  ▫ Algorithms and Data Structures
  ▫ Programming Language Theory
  ▫ Formal Methods
  ▫ Concurrent, Parallel and Distributed systems.
  ▫ Databases and Information Retrieval
Theoretical Computer Science

Theory of Computation
• TOC answers the questions
  ▫ What can be automated?
  ▫ What amount of resources are required to perform those
    computations?

• Automata Theory –Study of abstract machines.
  ▫ DFA, NFA, PDA, Turing Machines

• Computability Theory – Is the problem solvable on a particular
  model of computation?

• Computational Complexity Theory – How efficiently a problem can
  be solved. Time and space complexities.

• Eg: P vs. NP Problems (MIT labs)
Theoretical Computer Science

Information and Coding Theory
• Information Theory
  ▫ Claude E. Shannon. – Father of information theory
  ▫ Find fundamental limits on signal processing operations
  ▫ Eg : Shannon-Hartley Theorem – Theoretical upper bound of
    channel capacity.
  ▫ Eg : Nyquist-Shannon Theorem – Sampling rate limit

• Coding Theory
  ▫ Study of properties of codes and their fitness for an application.
  ▫ Two aspects
     Data Compression (source coding)
     Error Correction (channel coding)
  ▫ Eg: Text, Image, Video, Audio Compression.
  ▫ Eg: Lempel-Ziv algorithms
Theoretical Computer Science

Algorithms and Data Structures
• Algorithms
  ▫ Step-by-step procedure for solving a given problem.
  ▫ Eg: Sorting algorithms, Euclid’s Algorithm.
  ▫ Analysis of Algorithms – Determination of the amount of resources
    (such as time and storage) necessary to execute them.
     Time complexity – Number of steps
     Space Complexity – Number of storage locations
  ▫ Remember Computational Complexity Theory?
  ▫ Eg: Your own sorting algorithm – mySort!

• Data Structures
  ▫ Way of storing and organizing data in a computer so that it can be
    used efficiently.
  ▫ How to choose different data structures based on the application.
  ▫ Eg: B-trees for databases, Hash Tables for compilers
  ▫ Eg : Change the structure of the Inode data structure
Theoretical Computer Science

Programming Language Theory
• Deals with the design, implementation and classification of
  programming languages.
  ▫   Based on Type systems – static, dynamic
  ▫   Based on Programming Paradigm – Structured, OOP
  ▫   Metaprogramming – X Macros
  ▫   Compiler Design and Implementation

• It is important to understand the internal working of any
  programming language (If you want to get into research).
Theoretical Computer Science

Formal Methods
• Mathematically-based techniques for the specification,
  development and verification of software and hardware systems.
  Why?

• Specification
  ▫ Used to give a description of the system to be developed.
  ▫ Eg: BNF – Describes CFG
  ▫ Eg: Petri Nets – describes distributed systems.
• Development
  ▫ Based on the specification – software or hardware.
• Verification
  ▫ Automated Theorem Proving – Produce a formal proof from scratch
  ▫ Model Checking – Exhaustive search of all possible states.
Theoretical Computer Science
Concurrent, Parallel and Distributed
Computing
• Concurrency
  ▫ Property of systems where several computations are executing
    simultaneously, and potentially interacting with each other.
  ▫ Eg: Dining Philosopher’s problem
  ▫ Where? Operating Systems and DBMS
• Distributed Computing
  ▫ Consists of multiple autonomous computers that communicate
    through a computer network.
  ▫ A problem is divided into many tasks each solved by one or more
    computers.
  ▫ Why and where do we use distributed systems?
     Graphics Processing
     Scientific Computing
     Network File System
Theoretical Computer Science

Databases and Information retrieval
• Database
    ▫ Organized collection of data supporting efficient processes.
    ▫ DBMS – Software package helping in creation, maintenance and
      usage of databases. Eg: Oracle, MySQL
• Requirements
    ▫ DDL ,DML, Security and Workflow and BPM
•   Data Models – RM, OM, ORM, XML Model
•   Database Languages – SQL, OQL, XQuery
•   DB Design – Entities, Relationships and Normalization.
•   Database Tuning – I/O level, DBMS level, DBMS maintenance.
•   Database storage structures – B+ Trees, Heaps, Hashed Buckets.
•   ACID constraint
•   Query Optimization – Find a way to process a given query in
    minimum time.
Applied Computer Science
• Has many sub branches like
  ▫ Artificial Intelligence
  ▫ Computer Architecture and Engineering
  ▫ Computer Graphics and Visualization
  ▫ Computer Security and Cryptography
  ▫ Software Engineering
Applied Computer Science

Artificial Intelligence
• Study and design of Intelligent Agents.
• Intelligent Agents – A system that perceives its environment
  and takes actions that maximizes its chances of success.
• Knowledge Representation
  ▫ Many problems agents are expected to solve requires extensive
    knowledge about the world.
• Planning - Agents should set goals and achieve them.
• Learning
  ▫ Machine Learning – Unsupervised learning, Supervised learning
    (classification, regression), Reinforcement learning.
• Related Fields – NLP, Robotics, Perception (Sensors),
  Emotion and Social Skills, Creativity.
Applied Computer Science

 Computer Architecture and Engineering
• Selecting and interconnecting hardware components to create
  functional computers.
• A Blueprint – How the CPU acts and how it accesses computer
  memory.
• Three parts
  ▫ Instruction Set Architecture – instruction set, word size, addressing
  ▫ MicroArchitecture – Eg: Computer’s cache size.
  ▫ System Design
       Data paths – computer buses and switches
       Memory Controllers and hierarchies
       Data Processing – DMA
       Virtualization / Multiprocessing
• Computer Engineering – Design VLSI chips, write software and
  firmware for embedded microcontrollers, OS design, sensors etc.
Applied Computer Science

Computer Graphics and Visualization
• Digitally synthesizing and manipulating visual content.

• Three major subfields
  ▫ Geometry – represent and process surfaces
  ▫ Animation – represent and manipulate motion
  ▫ Rendering – reproduce light transport and scattering.

• Fractals
  ▫ Generating infinite patterns like trees.
  ▫ Julia set and the Mandelbrot series
Applied Computer Science

 Computer Security and Cryptography
• “The collective processes and mechanisms by which sensitive and
  valuable information and services are protected from publication,
  tampering or collapse by unauthorized activities or untrustworthy
  individuals and unplanned events respectively” – Some Silencer on Wiki
• Maintain the CIA
  ▫ Confidentiality
  ▫ Integrity
  ▫ Authentication
• Cryptography – studying and practising techniques for secure
  communication
  ▫   Symmetric Key Cryptography
  ▫   Public Key Cryptography
  ▫   Cryptanalysis
  ▫   Cryptographic primitives and Cryptosystems
Applied Computer Science

Software Engineering
• Systematic approach to the development, operation and
  maintenance of software.
• Nutshell : Application of Engineering to software.

• Sub-disciplines
  ▫   Software requirements
  ▫   Software design
  ▫   Software construction
  ▫   Software testing
  ▫   Software maintenance
That’s all folks!
• So CS is not just Programming. Hence Proved.

• Choose a domain of interest.
• Open up Google Scholar and search for recent papers
  (since 2011).
• Choose an interesting paper, study thoroughly and start
  implementing the proposal made.
Thank You 

More Related Content

What's hot

Introduction to Computers Lecture # 2
Introduction to Computers Lecture # 2Introduction to Computers Lecture # 2
Introduction to Computers Lecture # 2Sehrish Rafiq
 
Computer Science Engineering - Better Career Opportunities
Computer Science Engineering - Better Career OpportunitiesComputer Science Engineering - Better Career Opportunities
Computer Science Engineering - Better Career Opportunitiesachaljain11
 
Computer Science & Information Systems
Computer Science & Information SystemsComputer Science & Information Systems
Computer Science & Information SystemsLuis Borges Gouveia
 
Scope of computer
Scope of computerScope of computer
Scope of computerAmir Basha
 
Introduction To Computer 1
Introduction To Computer  1Introduction To Computer  1
Introduction To Computer 1Amit Chandra
 
Basics of the Computer System
Basics of the Computer SystemBasics of the Computer System
Basics of the Computer SystemAhsan Rahim
 
What is Computer | Computer Full Form | Computer Definition
What is Computer | Computer Full Form | Computer DefinitionWhat is Computer | Computer Full Form | Computer Definition
What is Computer | Computer Full Form | Computer Definitiondmir3304
 
information technology
information technology information technology
information technology rukhsarqazi1
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languageseducationfront
 
Basic of Computer fundamental
Basic of Computer fundamental Basic of Computer fundamental
Basic of Computer fundamental Sohan Grover
 
Job Opportunities for a Computer Science Student
Job Opportunities for a Computer Science StudentJob Opportunities for a Computer Science Student
Job Opportunities for a Computer Science StudentSyed Areeb Jafri
 
The importance of computer
The importance of computerThe importance of computer
The importance of computerN.s. Shorna
 
Introduction to Computer Applications
Introduction to Computer ApplicationsIntroduction to Computer Applications
Introduction to Computer ApplicationsNajma Alam
 
Basics of computer science
Basics of computer scienceBasics of computer science
Basics of computer sciencePaul Schmidt
 
About computer engineering
About computer engineeringAbout computer engineering
About computer engineeringDylan Tyler
 
Careers in Information Technology
Careers in Information TechnologyCareers in Information Technology
Careers in Information TechnologyMyjobspace
 

What's hot (20)

Introduction to Computers Lecture # 2
Introduction to Computers Lecture # 2Introduction to Computers Lecture # 2
Introduction to Computers Lecture # 2
 
Computer Science Engineering - Better Career Opportunities
Computer Science Engineering - Better Career OpportunitiesComputer Science Engineering - Better Career Opportunities
Computer Science Engineering - Better Career Opportunities
 
Computer Science & Information Systems
Computer Science & Information SystemsComputer Science & Information Systems
Computer Science & Information Systems
 
Scope of computer
Scope of computerScope of computer
Scope of computer
 
Introduction To Computer 1
Introduction To Computer  1Introduction To Computer  1
Introduction To Computer 1
 
Basics of the Computer System
Basics of the Computer SystemBasics of the Computer System
Basics of the Computer System
 
INTRODUCTION TO COMPUTERS
INTRODUCTION TO COMPUTERSINTRODUCTION TO COMPUTERS
INTRODUCTION TO COMPUTERS
 
Computer Basics
Computer BasicsComputer Basics
Computer Basics
 
What is Computer | Computer Full Form | Computer Definition
What is Computer | Computer Full Form | Computer DefinitionWhat is Computer | Computer Full Form | Computer Definition
What is Computer | Computer Full Form | Computer Definition
 
information technology
information technology information technology
information technology
 
what is computer
what is computerwhat is computer
what is computer
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
Basic of Computer fundamental
Basic of Computer fundamental Basic of Computer fundamental
Basic of Computer fundamental
 
Organization of a computer
Organization of a computerOrganization of a computer
Organization of a computer
 
Job Opportunities for a Computer Science Student
Job Opportunities for a Computer Science StudentJob Opportunities for a Computer Science Student
Job Opportunities for a Computer Science Student
 
The importance of computer
The importance of computerThe importance of computer
The importance of computer
 
Introduction to Computer Applications
Introduction to Computer ApplicationsIntroduction to Computer Applications
Introduction to Computer Applications
 
Basics of computer science
Basics of computer scienceBasics of computer science
Basics of computer science
 
About computer engineering
About computer engineeringAbout computer engineering
About computer engineering
 
Careers in Information Technology
Careers in Information TechnologyCareers in Information Technology
Careers in Information Technology
 

Viewers also liked

Teaching of Computer Science in Schools
Teaching of Computer Science in SchoolsTeaching of Computer Science in Schools
Teaching of Computer Science in Schoolsmarpasha
 
techniques of teaching computer science
techniques of teaching computer sciencetechniques of teaching computer science
techniques of teaching computer sciencesimu7
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?Daniel Cukier
 
Aim and objectives of teaching computer science
Aim and objectives of  teaching computer scienceAim and objectives of  teaching computer science
Aim and objectives of teaching computer scienceviji_tgce
 
Approaches in teaching and learning k to 12
Approaches in teaching and learning k to 12 Approaches in teaching and learning k to 12
Approaches in teaching and learning k to 12 Charlyn David
 
Deductive and inductive method of teching
Deductive and inductive method of techingDeductive and inductive method of teching
Deductive and inductive method of techingJhun Ar Ar Ramos
 
Principles of Teaching:Different Methods and Approaches
Principles of Teaching:Different Methods and ApproachesPrinciples of Teaching:Different Methods and Approaches
Principles of Teaching:Different Methods and Approachesjustindoliente
 

Viewers also liked (8)

Computer science -
Computer science -Computer science -
Computer science -
 
Teaching of Computer Science in Schools
Teaching of Computer Science in SchoolsTeaching of Computer Science in Schools
Teaching of Computer Science in Schools
 
techniques of teaching computer science
techniques of teaching computer sciencetechniques of teaching computer science
techniques of teaching computer science
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?
 
Aim and objectives of teaching computer science
Aim and objectives of  teaching computer scienceAim and objectives of  teaching computer science
Aim and objectives of teaching computer science
 
Approaches in teaching and learning k to 12
Approaches in teaching and learning k to 12 Approaches in teaching and learning k to 12
Approaches in teaching and learning k to 12
 
Deductive and inductive method of teching
Deductive and inductive method of techingDeductive and inductive method of teching
Deductive and inductive method of teching
 
Principles of Teaching:Different Methods and Approaches
Principles of Teaching:Different Methods and ApproachesPrinciples of Teaching:Different Methods and Approaches
Principles of Teaching:Different Methods and Approaches
 

Similar to Fields in computer science

Data structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdfData structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdfDukeCalvin
 
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...Ilkay Altintas, Ph.D.
 
Data Structure and Algorithms
Data Structure and AlgorithmsData Structure and Algorithms
Data Structure and Algorithmsiqbalphy1
 
Big Data Analytics Strategy and Roadmap
Big Data Analytics Strategy and RoadmapBig Data Analytics Strategy and Roadmap
Big Data Analytics Strategy and RoadmapSrinath Perera
 
overview of principles of computerss.ppt
overview of principles of computerss.pptoverview of principles of computerss.ppt
overview of principles of computerss.pptMuhammadAbdullah311866
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningNEEVEE Technologies
 
Lecture 1
Lecture 1Lecture 1
Lecture 1Mr SMAK
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software ProfessionalsAhmed Misbah
 
Traditional Machine Learning and Deep Learning on OpenPOWER/POWER systems
Traditional Machine Learning and Deep Learning on OpenPOWER/POWER systemsTraditional Machine Learning and Deep Learning on OpenPOWER/POWER systems
Traditional Machine Learning and Deep Learning on OpenPOWER/POWER systemsGanesan Narayanasamy
 
Understanding and Designing Ultra low latency systems | Low Latency | Ultra L...
Understanding and Designing Ultra low latency systems | Low Latency | Ultra L...Understanding and Designing Ultra low latency systems | Low Latency | Ultra L...
Understanding and Designing Ultra low latency systems | Low Latency | Ultra L...Anand Narayanan
 
How Azure Databricks helped make IoT Analytics a Reality with Janath Manohara...
How Azure Databricks helped make IoT Analytics a Reality with Janath Manohara...How Azure Databricks helped make IoT Analytics a Reality with Janath Manohara...
How Azure Databricks helped make IoT Analytics a Reality with Janath Manohara...Databricks
 
MS Word file resumes16869r.doc.doc
MS Word file resumes16869r.doc.docMS Word file resumes16869r.doc.doc
MS Word file resumes16869r.doc.docbutest
 
Computer Organisation and Architecture Teaching Trends
Computer Organisation and Architecture Teaching TrendsComputer Organisation and Architecture Teaching Trends
Computer Organisation and Architecture Teaching Trendsyogesh1617
 
Computer Oraganisation and Architecture
Computer Oraganisation and ArchitectureComputer Oraganisation and Architecture
Computer Oraganisation and Architectureyogesh1617
 

Similar to Fields in computer science (20)

Data structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdfData structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdf
 
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
 
Chap 1 CA.pptx
Chap 1 CA.pptxChap 1 CA.pptx
Chap 1 CA.pptx
 
Data Structure and Algorithms
Data Structure and AlgorithmsData Structure and Algorithms
Data Structure and Algorithms
 
Big Data Analytics Strategy and Roadmap
Big Data Analytics Strategy and RoadmapBig Data Analytics Strategy and Roadmap
Big Data Analytics Strategy and Roadmap
 
overview of principles of computerss.ppt
overview of principles of computerss.pptoverview of principles of computerss.ppt
overview of principles of computerss.ppt
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software Professionals
 
Traditional Machine Learning and Deep Learning on OpenPOWER/POWER systems
Traditional Machine Learning and Deep Learning on OpenPOWER/POWER systemsTraditional Machine Learning and Deep Learning on OpenPOWER/POWER systems
Traditional Machine Learning and Deep Learning on OpenPOWER/POWER systems
 
Understanding and Designing Ultra low latency systems | Low Latency | Ultra L...
Understanding and Designing Ultra low latency systems | Low Latency | Ultra L...Understanding and Designing Ultra low latency systems | Low Latency | Ultra L...
Understanding and Designing Ultra low latency systems | Low Latency | Ultra L...
 
How Azure Databricks helped make IoT Analytics a Reality with Janath Manohara...
How Azure Databricks helped make IoT Analytics a Reality with Janath Manohara...How Azure Databricks helped make IoT Analytics a Reality with Janath Manohara...
How Azure Databricks helped make IoT Analytics a Reality with Janath Manohara...
 
MS Word file resumes16869r.doc.doc
MS Word file resumes16869r.doc.docMS Word file resumes16869r.doc.doc
MS Word file resumes16869r.doc.doc
 
Unit no_1.pptx
Unit no_1.pptxUnit no_1.pptx
Unit no_1.pptx
 
Intro_2.ppt
Intro_2.pptIntro_2.ppt
Intro_2.ppt
 
Intro.ppt
Intro.pptIntro.ppt
Intro.ppt
 
Intro.ppt
Intro.pptIntro.ppt
Intro.ppt
 
Bigdata analytics
Bigdata analyticsBigdata analytics
Bigdata analytics
 
Computer Organisation and Architecture Teaching Trends
Computer Organisation and Architecture Teaching TrendsComputer Organisation and Architecture Teaching Trends
Computer Organisation and Architecture Teaching Trends
 
Computer Oraganisation and Architecture
Computer Oraganisation and ArchitectureComputer Oraganisation and Architecture
Computer Oraganisation and Architecture
 

More from UC San Diego

A primer on network devices
A primer on network devicesA primer on network devices
A primer on network devicesUC San Diego
 
Datacenter traffic demand characterization
Datacenter traffic demand characterizationDatacenter traffic demand characterization
Datacenter traffic demand characterizationUC San Diego
 
Smart Homes, Buildings and Internet-of-things
Smart Homes, Buildings and Internet-of-thingsSmart Homes, Buildings and Internet-of-things
Smart Homes, Buildings and Internet-of-thingsUC San Diego
 
Social Networks analysis to characterize HIV at-risk populations - Progress a...
Social Networks analysis to characterize HIV at-risk populations - Progress a...Social Networks analysis to characterize HIV at-risk populations - Progress a...
Social Networks analysis to characterize HIV at-risk populations - Progress a...UC San Diego
 
eyeTalk - A system for helping people affected by motor neuron problems
eyeTalk - A system for helping people affected by motor neuron problemseyeTalk - A system for helping people affected by motor neuron problems
eyeTalk - A system for helping people affected by motor neuron problemsUC San Diego
 
Basic terminologies for a developer
Basic terminologies for a developerBasic terminologies for a developer
Basic terminologies for a developerUC San Diego
 
Understanding computer networks
Understanding computer networksUnderstanding computer networks
Understanding computer networksUC San Diego
 
Network Programming with Umit project
Network Programming with Umit projectNetwork Programming with Umit project
Network Programming with Umit projectUC San Diego
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to PythonUC San Diego
 
Airline reservation system db design
Airline reservation system db designAirline reservation system db design
Airline reservation system db designUC San Diego
 
Workshop on Network Security
Workshop on Network SecurityWorkshop on Network Security
Workshop on Network SecurityUC San Diego
 
Socket programming in Java (PPTX)
Socket programming in Java (PPTX)Socket programming in Java (PPTX)
Socket programming in Java (PPTX)UC San Diego
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using javaUC San Diego
 
Android application development
Android application developmentAndroid application development
Android application developmentUC San Diego
 
Pervasive Web Application Architecture
Pervasive Web Application ArchitecturePervasive Web Application Architecture
Pervasive Web Application ArchitectureUC San Diego
 

More from UC San Diego (20)

A primer on network devices
A primer on network devicesA primer on network devices
A primer on network devices
 
Datacenter traffic demand characterization
Datacenter traffic demand characterizationDatacenter traffic demand characterization
Datacenter traffic demand characterization
 
Smart Homes, Buildings and Internet-of-things
Smart Homes, Buildings and Internet-of-thingsSmart Homes, Buildings and Internet-of-things
Smart Homes, Buildings and Internet-of-things
 
Social Networks analysis to characterize HIV at-risk populations - Progress a...
Social Networks analysis to characterize HIV at-risk populations - Progress a...Social Networks analysis to characterize HIV at-risk populations - Progress a...
Social Networks analysis to characterize HIV at-risk populations - Progress a...
 
eyeTalk - A system for helping people affected by motor neuron problems
eyeTalk - A system for helping people affected by motor neuron problemseyeTalk - A system for helping people affected by motor neuron problems
eyeTalk - A system for helping people affected by motor neuron problems
 
Pirc net poster
Pirc net posterPirc net poster
Pirc net poster
 
Ajaxism
AjaxismAjaxism
Ajaxism
 
Basic terminologies for a developer
Basic terminologies for a developerBasic terminologies for a developer
Basic terminologies for a developer
 
Understanding computer networks
Understanding computer networksUnderstanding computer networks
Understanding computer networks
 
FOSS Introduction
FOSS IntroductionFOSS Introduction
FOSS Introduction
 
Network Programming with Umit project
Network Programming with Umit projectNetwork Programming with Umit project
Network Programming with Umit project
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Airline reservation system db design
Airline reservation system db designAirline reservation system db design
Airline reservation system db design
 
Workshop on Network Security
Workshop on Network SecurityWorkshop on Network Security
Workshop on Network Security
 
Socket programming in Java (PPTX)
Socket programming in Java (PPTX)Socket programming in Java (PPTX)
Socket programming in Java (PPTX)
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
 
Routing basics
Routing basicsRouting basics
Routing basics
 
Technology Quiz
Technology QuizTechnology Quiz
Technology Quiz
 
Android application development
Android application developmentAndroid application development
Android application development
 
Pervasive Web Application Architecture
Pervasive Web Application ArchitecturePervasive Web Application Architecture
Pervasive Web Application Architecture
 

Recently uploaded

Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 

Recently uploaded (20)

Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 

Fields in computer science

  • 1. Research Areas in CS Narendran Thangarajan, Final Year CSE, SSNCE.
  • 2. Outline • Thanks to forefathers! • Branches in Computer Science ▫ Theoretical ▫ Applied
  • 3. Thanks to our forefathers! • I don’t want history. Show me the super cool stuff now! • Wilhelm Schickard – Designed the first mechanical calculator (1623). ▫ Why? Kepler’s laws of planetary motion. • Blaise Pascal – designed and constructed the first working mechanical calculator (1642). ▫ Why? He wanted to help his father with his tax revenue calculations. • Charles Babbage – Difference Engine and Analytical Engine ▫ Why? Producing tables was time consuming and expensive at that time.
  • 4. First Computer Science Degree • Diploma in Computer Science at the University of Cambridge Computer Library (1953). • In USA, first computer science degree program started at Purdue University in 1962. Who named it? • George Forsythe, founder and head of Stanford University’s Computer Science Department.
  • 5. Branches in CS • CSAB – Computing Sciences Accreditation Board ▫ Accreditation of computing disciplines. • Two Major Branches ▫ Theoretical Computer Science ▫ Applied Computer Science
  • 6. Theoretical Computer Science • Has many sub-branches like ▫ Theory of Computation ▫ Information and Coding theory ▫ Algorithms and Data Structures ▫ Programming Language Theory ▫ Formal Methods ▫ Concurrent, Parallel and Distributed systems. ▫ Databases and Information Retrieval
  • 7. Theoretical Computer Science Theory of Computation • TOC answers the questions ▫ What can be automated? ▫ What amount of resources are required to perform those computations? • Automata Theory –Study of abstract machines. ▫ DFA, NFA, PDA, Turing Machines • Computability Theory – Is the problem solvable on a particular model of computation? • Computational Complexity Theory – How efficiently a problem can be solved. Time and space complexities. • Eg: P vs. NP Problems (MIT labs)
  • 8. Theoretical Computer Science Information and Coding Theory • Information Theory ▫ Claude E. Shannon. – Father of information theory ▫ Find fundamental limits on signal processing operations ▫ Eg : Shannon-Hartley Theorem – Theoretical upper bound of channel capacity. ▫ Eg : Nyquist-Shannon Theorem – Sampling rate limit • Coding Theory ▫ Study of properties of codes and their fitness for an application. ▫ Two aspects  Data Compression (source coding)  Error Correction (channel coding) ▫ Eg: Text, Image, Video, Audio Compression. ▫ Eg: Lempel-Ziv algorithms
  • 9. Theoretical Computer Science Algorithms and Data Structures • Algorithms ▫ Step-by-step procedure for solving a given problem. ▫ Eg: Sorting algorithms, Euclid’s Algorithm. ▫ Analysis of Algorithms – Determination of the amount of resources (such as time and storage) necessary to execute them.  Time complexity – Number of steps  Space Complexity – Number of storage locations ▫ Remember Computational Complexity Theory? ▫ Eg: Your own sorting algorithm – mySort! • Data Structures ▫ Way of storing and organizing data in a computer so that it can be used efficiently. ▫ How to choose different data structures based on the application. ▫ Eg: B-trees for databases, Hash Tables for compilers ▫ Eg : Change the structure of the Inode data structure
  • 10. Theoretical Computer Science Programming Language Theory • Deals with the design, implementation and classification of programming languages. ▫ Based on Type systems – static, dynamic ▫ Based on Programming Paradigm – Structured, OOP ▫ Metaprogramming – X Macros ▫ Compiler Design and Implementation • It is important to understand the internal working of any programming language (If you want to get into research).
  • 11. Theoretical Computer Science Formal Methods • Mathematically-based techniques for the specification, development and verification of software and hardware systems. Why? • Specification ▫ Used to give a description of the system to be developed. ▫ Eg: BNF – Describes CFG ▫ Eg: Petri Nets – describes distributed systems. • Development ▫ Based on the specification – software or hardware. • Verification ▫ Automated Theorem Proving – Produce a formal proof from scratch ▫ Model Checking – Exhaustive search of all possible states.
  • 12. Theoretical Computer Science Concurrent, Parallel and Distributed Computing • Concurrency ▫ Property of systems where several computations are executing simultaneously, and potentially interacting with each other. ▫ Eg: Dining Philosopher’s problem ▫ Where? Operating Systems and DBMS • Distributed Computing ▫ Consists of multiple autonomous computers that communicate through a computer network. ▫ A problem is divided into many tasks each solved by one or more computers. ▫ Why and where do we use distributed systems?  Graphics Processing  Scientific Computing  Network File System
  • 13. Theoretical Computer Science Databases and Information retrieval • Database ▫ Organized collection of data supporting efficient processes. ▫ DBMS – Software package helping in creation, maintenance and usage of databases. Eg: Oracle, MySQL • Requirements ▫ DDL ,DML, Security and Workflow and BPM • Data Models – RM, OM, ORM, XML Model • Database Languages – SQL, OQL, XQuery • DB Design – Entities, Relationships and Normalization. • Database Tuning – I/O level, DBMS level, DBMS maintenance. • Database storage structures – B+ Trees, Heaps, Hashed Buckets. • ACID constraint • Query Optimization – Find a way to process a given query in minimum time.
  • 14. Applied Computer Science • Has many sub branches like ▫ Artificial Intelligence ▫ Computer Architecture and Engineering ▫ Computer Graphics and Visualization ▫ Computer Security and Cryptography ▫ Software Engineering
  • 15. Applied Computer Science Artificial Intelligence • Study and design of Intelligent Agents. • Intelligent Agents – A system that perceives its environment and takes actions that maximizes its chances of success. • Knowledge Representation ▫ Many problems agents are expected to solve requires extensive knowledge about the world. • Planning - Agents should set goals and achieve them. • Learning ▫ Machine Learning – Unsupervised learning, Supervised learning (classification, regression), Reinforcement learning. • Related Fields – NLP, Robotics, Perception (Sensors), Emotion and Social Skills, Creativity.
  • 16. Applied Computer Science Computer Architecture and Engineering • Selecting and interconnecting hardware components to create functional computers. • A Blueprint – How the CPU acts and how it accesses computer memory. • Three parts ▫ Instruction Set Architecture – instruction set, word size, addressing ▫ MicroArchitecture – Eg: Computer’s cache size. ▫ System Design  Data paths – computer buses and switches  Memory Controllers and hierarchies  Data Processing – DMA  Virtualization / Multiprocessing • Computer Engineering – Design VLSI chips, write software and firmware for embedded microcontrollers, OS design, sensors etc.
  • 17. Applied Computer Science Computer Graphics and Visualization • Digitally synthesizing and manipulating visual content. • Three major subfields ▫ Geometry – represent and process surfaces ▫ Animation – represent and manipulate motion ▫ Rendering – reproduce light transport and scattering. • Fractals ▫ Generating infinite patterns like trees. ▫ Julia set and the Mandelbrot series
  • 18. Applied Computer Science Computer Security and Cryptography • “The collective processes and mechanisms by which sensitive and valuable information and services are protected from publication, tampering or collapse by unauthorized activities or untrustworthy individuals and unplanned events respectively” – Some Silencer on Wiki • Maintain the CIA ▫ Confidentiality ▫ Integrity ▫ Authentication • Cryptography – studying and practising techniques for secure communication ▫ Symmetric Key Cryptography ▫ Public Key Cryptography ▫ Cryptanalysis ▫ Cryptographic primitives and Cryptosystems
  • 19. Applied Computer Science Software Engineering • Systematic approach to the development, operation and maintenance of software. • Nutshell : Application of Engineering to software. • Sub-disciplines ▫ Software requirements ▫ Software design ▫ Software construction ▫ Software testing ▫ Software maintenance
  • 20. That’s all folks! • So CS is not just Programming. Hence Proved. • Choose a domain of interest. • Open up Google Scholar and search for recent papers (since 2011). • Choose an interesting paper, study thoroughly and start implementing the proposal made.