Tuesday, December 31, 2013

Introduction to Computer Science




What is Computer Science?
computer science. The study of information, protocols and algorithms for idealized and real automata.
  • 􏰀  automaton:“selfmoving”–inourcontext,self“deciding”or autonomous mechanism
  • 􏰀  information:knowledge represented in a form suitable for transmission, manipulation, etc.
  • 􏰀  protocol:rules for exchanging information
  • 􏰀  algorithm:an unambiguous, finite description in simple steps of
    actions
    Computer Science is not the study of computers, nor is it the practice of their use. 

    Mathematics, science, or engineering?

    Mathematics. The science of numbers, interrelations, and abstractions.

    Science. Systematic knowledge or practice. Acquiring knowledge through the scientific method of natural phenomena (natural sciences) or human or social behavior (social sciences).
    Engineering. The applied science of acquiring and applying knowledge to design, or construct works for practical purposes. 


    􏰀 Engineering?Application of science?
    􏰀 Natural science?Observable phenomena?
    􏰀 Mathematics?Invisible abstractions?
    􏰀 Social science?Functioning of human society?


    CS is exciting and difficult as it is all these things.



     Mathematics is the Queen of Science, and Arithmetic the Queen of Mathematics. - C. F. Gauss
    Philosophy is written in this grand book, the universe which stands continually open to our gaze. But the book cannot be understood unless one first learns to comprehend the language and read the letters in which it is composed. It is written in the language of mathematics, and its characters are triangles, circles and other geometric figures without which it is humanly impossible to understand a single word of it; without these, one wanders about in a dark labyrinth.
    Galileo Galilee in Assayer 


    We are at the dawn of new era. The, as yet unfinished, language of computation is the language of science and engineering. 


    What Does A Computer Scientist Do?
    Just like mathematics, everyone in modern society uses computing. So getting a computer science degree prepares you for everything and nothing.
    The most visible activity is commanding computers to do our bidding, i.e., programming.

    What do you want to do?


    Fields
    • 􏰀  Computer architecture
    • 􏰀  Operating systems
    • 􏰀  Programming languages and compilers
    • 􏰀  Algorithms, data structures ,complexity
    • 􏰀  Computability theory
    • 􏰀  Numerical analysis
    • 􏰀  Networking and distributed computing
    • 􏰀  Parallelcomputing
    • 􏰀  InformationManagement/Database systems
    • 􏰀  SoftwareDevelopment(aka Software Engineering)
    • 􏰀  Human-computer communication/interaction
    • 􏰀  Graphics and Visual Computing
    • 􏰀  Intelligent Systems(aka ArtificialIntelligence)