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

System Software vs.Application Software
System Software vs.Application SoftwareSystem Software vs.Application Software
System Software vs.Application SoftwareAashima Wadhwa
 
Application software
Application softwareApplication software
Application softwareZaid Hameed
 
Why choose engineering?
Why choose engineering?Why choose engineering?
Why choose engineering?Atkins
 
Computer science and engineering
Computer science and engineeringComputer science and engineering
Computer science and engineeringsreeLekha51
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages PraShant Kumar
 
Cmp104 lec 3 component of computer
Cmp104 lec 3 component of computerCmp104 lec 3 component of computer
Cmp104 lec 3 component of computerkapil078
 
Introduction to Information and Education Technology 1
Introduction to Information and Education Technology 1Introduction to Information and Education Technology 1
Introduction to Information and Education Technology 1Mohamed EL Zayat
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
A presentation on forward engineering
A presentation on forward engineeringA presentation on forward engineering
A presentation on forward engineeringGTU
 
Different Types of Engineering
Different Types of EngineeringDifferent Types of Engineering
Different Types of EngineeringTaufiq Rahman
 
L 2 basic computer organization
L 2 basic computer organizationL 2 basic computer organization
L 2 basic computer organizationStubborn sam
 
Introduction to Computer Science
Introduction to Computer ScienceIntroduction to Computer Science
Introduction to Computer ScienceKalpit Jain
 
Introduction to computer Powerpoint Presentation
Introduction to computer Powerpoint PresentationIntroduction to computer Powerpoint Presentation
Introduction to computer Powerpoint PresentationJibin Sr. Plamoottukada
 
Hardware Concepts
Hardware ConceptsHardware Concepts
Hardware Conceptsivan
 
Science, technology and engineering
Science, technology and engineeringScience, technology and engineering
Science, technology and engineeringAritra Mukherjee
 
Basic fundamental of computer
Basic fundamental of computerBasic fundamental of computer
Basic fundamental of computerRaselBhuiyan3
 

What's hot (20)

System Software vs.Application Software
System Software vs.Application SoftwareSystem Software vs.Application Software
System Software vs.Application Software
 
Application software
Application softwareApplication software
Application software
 
Why choose engineering?
Why choose engineering?Why choose engineering?
Why choose engineering?
 
Computer science and engineering
Computer science and engineeringComputer science and engineering
Computer science and engineering
 
WHAT IS COMPUTER SCIENCE?
WHAT IS COMPUTER SCIENCE?WHAT IS COMPUTER SCIENCE?
WHAT IS COMPUTER SCIENCE?
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
 
Cmp104 lec 3 component of computer
Cmp104 lec 3 component of computerCmp104 lec 3 component of computer
Cmp104 lec 3 component of computer
 
Introduction to Information and Education Technology 1
Introduction to Information and Education Technology 1Introduction to Information and Education Technology 1
Introduction to Information and Education Technology 1
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
A presentation on forward engineering
A presentation on forward engineeringA presentation on forward engineering
A presentation on forward engineering
 
Different Types of Engineering
Different Types of EngineeringDifferent Types of Engineering
Different Types of Engineering
 
Computer software
Computer softwareComputer software
Computer software
 
L 2 basic computer organization
L 2 basic computer organizationL 2 basic computer organization
L 2 basic computer organization
 
COMPUTER AND ITS USES
COMPUTER AND ITS USESCOMPUTER AND ITS USES
COMPUTER AND ITS USES
 
Computer Software
Computer SoftwareComputer Software
Computer Software
 
Introduction to Computer Science
Introduction to Computer ScienceIntroduction to Computer Science
Introduction to Computer Science
 
Introduction to computer Powerpoint Presentation
Introduction to computer Powerpoint PresentationIntroduction to computer Powerpoint Presentation
Introduction to computer Powerpoint Presentation
 
Hardware Concepts
Hardware ConceptsHardware Concepts
Hardware Concepts
 
Science, technology and engineering
Science, technology and engineeringScience, technology and engineering
Science, technology and engineering
 
Basic fundamental of computer
Basic fundamental of computerBasic fundamental of computer
Basic fundamental of computer
 

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.ppt
Intro.pptIntro.ppt
Intro.ppt
 
Intro.ppt
Intro.pptIntro.ppt
Intro.ppt
 
Intro_2.ppt
Intro_2.pptIntro_2.ppt
Intro_2.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

Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxCLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxAnupam32727
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfChristalin Nelson
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6Vanessa Camilleri
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 

Recently uploaded (20)

Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxCLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdf
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).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.