Computer Programming & Utilization(CS 101)

 

Pushpak Bhattacharya

Course Organization

Computers everywhere

 

•      Ovens, washing machines and toys

•      Banks & Hospitals

•      Transport Reservations, Signaling

•      Aircraft and industrial plant controllers

•      Missiles and satellites,

•       and many more

Why so prevalent

•      They solve a variety of problems

•      Efficient maintenance of large no. of data

•      Precise control of movements

•      Automation of many boring manual processes

In all

•      They improve the quality of life

 

Your Job

•      Many improvements are made and many more to come

•      You, tomorrow's quality scientists and Engineers, are responsible for this

•      You need to develop expertise in using computers,

•       Ability to solve more problems using computers

 

Objectives of this course

Broad Objectives

–  Introduce use of computers

–  Understand how computers work

–  Give an idea of the problems solved by computers

–  Develop skills for effective problem solving using computers

–    Write programs in a high level language

Course Organization

•      Lectures ( twice a week )

–  Monday, Thursday  8:30  to   9:30

                         or  14:00  to  15:00

•      Tutorials (once a week)

–  Wednesday  15:00 to 16:30

•      Labs. (once a week)

–  Monday to Friday

–  18:00 to 20:30 and 20:30 to 23:00

Course Instructors

•      Lectures

–  myself,  Pushpak Bhattacharya, CSE Dept.

•      Tutorials

–  in small batches in separate rooms (MB)

–  you will know your batch soon

–  conducted by teaching assistants (TA)

•      Labs also conducted by TAs

Lectures

•      introduce general concepts of programming

•      Example programs to illustrate

•       Focus on language independent concepts

•      Less emphasis on details, as it is language dependent

•      application of concepts  more important

•      concepts better learnt by reading, writing, compiling and running programs

–   tutorials and lab for this

 

Tutorials

•      Discussion of problems and their solutions

•      Clarification of topics covered in lectures

•      Tutorials in small batches ( ~ 25 students)

•      Each batch will have a Teaching Assistant

•      Tutorials involve writing programs on paper

•      Tutorial problems given at appropriate times

•      Tutorials start from next week

•      Details on the course web page

Laboratory

•      Lab. for compiling and running programs

•      advisable to write and analyze programs first

•      tutorial problems may be used for lab.

•      NO SEPARATE lab assignments

•      One major project starting in the middle

•      Lab - ground floor of Math's dept.

•      ~75 students at a time (3 tutorial batches)

•      you will be assigned a time slot

•      Lab. starts next week ( more details later)

 

Evaluation

•      end semester examination – 50 %

•      mid semester examination – 30 %

•      two/three quizzes          – 10 %

•      lab+project                           – 10 %

•      all exams will be closed book and notes

•      emphasis on developing and writing good, correct programs for various problems

•      quizzes conducted during tutorials

Lab Project

•      emphasis on developing a complete solution

•      choose and formulate a problem

•      develop ideas for efficient solution

•      code and compile

•      document  and demonstrate

•      choice of problem not important

–  choose what you like most

•      choose early ( before mid-semester)

Books

•      Two easily available books on Fortran

–  Introduction to Fortran 90/95, S. Chapman, Tata McGraw-Hill, 1999

–  Introduction to programming in Fortran 90 and 95, V. Rajaraman, Prentice-Hall India, 1995.

•      Other books for problems

Other Books

•      How to solve it by computer, R. Dromey, Prentice-Hall India.

•      Art of Computer Programming, Vol. I, II, III, D. E. Knuth, Addison Wesley.

 

•      Emphasis on solving problems rather than textual material.

•      Problems from mathematics / science and engineering

Course Web Page

•      For all information see

http://www.cse.iitb.ac.in/~cs101

 

•      For any help contact TA’s via email

Your Conduct

•      Lectures

–   interactive

–   Basic course on programming

–   Course common to all I yearites

–   No background assumed

•      If you know,

–   Please keep quiet (try to learn more)

–   Strictly No talking  ( free to sleep!)

–   Think of your poor friends, help them

Your Conduct

•      Tutorials

–   Venue for interaction & clarification

–   TA s will hold

–   Make full use of them

•      Labs.

–   Hands-on experience very essential

–   Again make full use of the labs. (free labs. possible)

–   Strict observance of rules given in the web page (be aware of them)