Thursday, October 11, 2012

First Day at Introduction to Computer Science and Programming

Few days back I have enrolled to "Introduction to Computer Science and Programming" online training course.



In this course Every Week,They have video Lectures with slides and
• Finger exercises
• Problem sets 


After Week 5,There is a  Midterm exam 1 
and After Week 10,There is a Midterm exam 2.
Finally after Week 14 - There is a Final exam.

 Today I started with my course with Week 1 out of 14.

Week One Comprises:

Lecture 1 – Introduction to Computation
Lecture 2 – Core elements of programs
Finger Exercises
Problem Set - 1


Lecture 1 – Introduction to Computation

Basics of Computation:

Goal of this course is,
  • Become skillful at making a computer do what you want it to do.
  • Learn computational modes of thinking.
  • Master the art of computational problem solving.
Q: What does Computer do?
A: It does only TWO things only. i.e., Performs the calculations and Remembers the results that we can reuse.

Q:What Calculations can a Computer can perform?
A: There are two calculations:
  •  Simple Set of Primitive calculations that we can built -- Built in Primitives
  • Creating our own methods of calculating
Q: Is that all the Computer does?
A:  The Computer can perform A billion calculations per second and
       The Computer can store 100s of gigabytes of data

Note: Every Element of the storage is called Byte.

Q: What all can Computers can perform other than simple calculations?
A:  The computer can perform many things:
  • Searching the World Wide Web
  • Playing chess
Q: If you have a computer program to look ahead 6 moves, 3 moves by you and 3 moves by your Opponent..How many different options are there,if there are 35 moves each..? (Tricky Question)
A: 1.8 Billion sets of chess boards.

Q: How many different games are there in Chess ? (Interesting Question)
A: Experts say 10^123 different chess games are possible.

Q: Does computer have limitations?
A: There are some problems that are too complex, as we dont have enough speed/storage
Example: Predicting Weather at very local scale

and another is: Modern Cryptography -- The way in which the information is securely transmitted and Cracking Encryption schemes (Breaking the code).

Some problems are fundamentally impossible to compute
•Predicting whether a piece of code will always halt with an answer for any input.


Q: Do u know about "Turing's Halting Problem?"
A: “Does there exist an effective procedure (computable function) for deciding, for every pair (e(M),x); does M halt for x?”

If we write a piece of code and then write another piece of code to check the first piece of code will always works and it will always stop and it will give us answer.

This turns out to not be possible to solve and this is known as "Turing's Halting Problem"

----------------------------------------------------
Continued...

Happy Learning..Happy Programming :)