Computer Programming & Utilization(CS 101)

S. Ramesh
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,  S. Ramesh, 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 
–	Non 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)