areas in cs

Upload: uday-kumar

Post on 03-Jun-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 Areas in CS

    1/21

    Research Areas in CSNarendran Thangarajan,Final Year CSE, SSNCE.

  • 8/11/2019 Areas in CS

    2/21

    Outline

    Thanks to forefathers!

    Branches in Computer Science Theoretical Applied

  • 8/11/2019 Areas in CS

    3/21

    Thanks to our forefathers!

    I dont want history. Show me the super cool stuff now!

    Wilhelm Schickard Designed the first mechanical calculator(1623). Why? Keplers laws of planetary motion.

    Blaise Pascal designed and constructed the first workingmechanical 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.

  • 8/11/2019 Areas in CS

    4/21

    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 PurdueUniversity in 1962.

    Who named it? George Forsythe, founder and head of Stanford Universitys

    Computer Science Department.

  • 8/11/2019 Areas in CS

    5/21

    Branches in CS CSAB Computing Sciences Accreditation Board

    Accreditation of computing disciplines.

    Two Major Branches Theoretical Computer Science Applied Computer Science

  • 8/11/2019 Areas in CS

    6/21

    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

  • 8/11/2019 Areas in CS

    7/21

    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

    Theory of Computation

  • 8/11/2019 Areas in CS

    8/21

    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

    Information and Coding Theory

  • 8/11/2019 Areas in CS

    9/21

  • 8/11/2019 Areas in CS

    10/21

  • 8/11/2019 Areas in CS

    11/21

    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

    Formal Methods

  • 8/11/2019 Areas in CS

    12/21

    Concurrency Property of systems where several computations are executing

    simultaneously, and potentially interacting with each other. Eg: Dining Philosophers 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 morecomputers. Why and where do we use distributed systems?

    Graphics ProcessingScientific Computing

    Network File System

    Theoretical Computer ScienceConcurrent, Parallel and Distributed

    Computing

  • 8/11/2019 Areas in CS

    13/21

    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.

    Theoretical Computer Science

    Databases and Information retrieval

  • 8/11/2019 Areas in CS

    14/21

    Has many sub branches like

    Artificial Intelligence

    Computer Architecture and Engineering Computer Graphics and Visualization

    Computer Security and Cryptography

    Software Engineering

    Applied Computer Science

  • 8/11/2019 Areas in CS

    15/21

    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 extensiveknowledge 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

    Artificial Intelligence

  • 8/11/2019 Areas in CS

    16/21

    Selecting and interconnecting hardware components to createfunctional computers.

    A Blueprint How the CPU acts and how it accesses computermemory.

    Three parts Instruction Set Architecture instruction set, word size, addressing MicroArchitecture Eg: Computers cache size. System Design

    Data paths computer buses and switches

    Memory Controllers and hierarchiesData Processing DMA Virtualization / Multiprocessing

    Computer Engineering Design VLSI chips, write software andfirmware for embedded microcontrollers, OS design, sensors etc.

    Applied Computer Science

    Computer Architecture and Engineering

  • 8/11/2019 Areas in CS

    17/21

    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 Graphics and Visualization

  • 8/11/2019 Areas in CS

    18/21

    The collective processes and mechanisms by which sensitive and valuable information and services are protected from publication,tampering or collapse by unauthorized activities or untrustworthyindividuals and unplanned events respectively Some Silencer on Wiki

    Maintain the CIA Confidentiality Integrity Authentication

    Cryptography studying and practising techniques for securecommunication Symmetric Key Cryptography Public Key Cryptography Cryptanalysis Cryptographic primitives and Cryptosystems

    Applied Computer Science

    Computer Security and Cryptography

  • 8/11/2019 Areas in CS

    19/21

    Systematic approach to the development, operation andmaintenance of software.

    Nutshell : Application of Engineering to software.

    Sub-disciplines Software requirements Software design Software construction

    Software testing Software maintenance

    Applied Computer Science

    Software Engineering

  • 8/11/2019 Areas in CS

    20/21

    Thats 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.

  • 8/11/2019 Areas in CS

    21/21

    Thank You