C Programming
C Programming
R. K. Ghosh
IIT-Kanpur
December 30, 2010
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
1 / 21
C Programming Course overview
Instructors, Tutors and TA
Instructor R. K. Ghosh, Dept of CSE Oce: CSE-219 Email: rkg@[Link]
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
2 / 21
C Programming Course overview
Instructors, Tutors and TA
Tutors Ajai Jain, CSE (ajain@[Link]) Amitabh Mukerjee, CSE (amit@[Link]) Phalguni Gupta, CSE (pg@[Link]) Shashank Mehta, CSE (skmehta@[Link]) Student tutors (names not available yet). There will be at least two TAs for each section. Web page [Link] will be updated in due course with details of section TAs and other tutors.
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
2 / 21
C Programming Course overview
Instructors, Tutors and TA
Class timings are: Mon, Wed, Thu 8.00 AM Tutorial timing is: Tuesday 8.00 AM Lab timings are: Mon, Tue and Wed 2.00-5.00 PM C1-3 on Tuesday C4-6 on Monday C6-9 on Wednesday
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
2 / 21
C Programming Course overview
Course Objectives and Other Related Aspects
Objectives We need to understand how to write C code.
Understand the syntax, Understand the meaning of statements, and To be able to use statements to express the steps of a computation in a correct and uncluttered manner. Understand algorithms and to design these.
Practice or perish, dont miss labs and try to complete all the programs.
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
3 / 21
C Programming Course overview
Course Objectives and Other Related Aspects
Text books C programming by Brian Kernighen & Dennis M. Ritchie. C programming: A modern approach by K N King. Many free books and lots of material on C coding practices available on Web. Words of caution:
Dont copy or use someone elses code, Discuss with peers, but develop your own code.
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
3 / 21
C Programming Course overview
Course Objectives and Other Related Aspects
Grading scheme Exams (written)
Mid terms: I & II each of 15% End term: 30% Quizes: 10%
Exams (Lab)
Weekly labs: 10% Two lab exams: 10% each
Programs
Algorithm correctness: 40% Input/output correctness: 40% Comment/indentation/programming style: 20%
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
3 / 21
C Programming Course overview
Course Objectives and Other Related Aspects
Disturbances Mobiles in classes or tutorials is considered an oense. Surng net, logging into face books and other sites of social networking, or using emails during lab hours. Unfair means Zero tolerance on adopting unfair means.
On detection of unfair means and malpractices F grade will be awarded, and the matter will be reported to disciplinary committee.
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
3 / 21
C Programming Course overview Organization of a computer
Organization of a computer
Physical components CPU Memory: RAM Storage: hard disk Input/Output devices. Motherboard. Data bus. Ports.
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
4 / 21
C Programming Course overview Organization of a computer
Organization of a computer
CPU
Basic operations Input Output Storage Processing Control
Control Unit ALU Registers
Storage
I/O devices
. . . .
Main Memory
Disk
Printer
Bus
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
4 / 21
C Programming Course overview Organization of a computer
Organization of a computer
Functional units of CPU
L1 instruction cache Control Unit Bus Interface Unit A+B A B L2 cache
December 30, 2010
Execution Unit ALU FPU MMX
RAM
L1 data cache
R. K. Ghosh (IIT-Kanpur)
C Programming
4 / 21
C Programming Course overview Organization of a computer
Organization of a computer
Functional units of CPU Information from RAM sent along BIU which makes a copy and sends it to L2 cache. BIU determines if the information is data or instruction. and sends it to appropriate L1 cache. CU fetches instruction from instruction cache breaks it down into micro instructions before delivering to execution unit. Execution unit consists of ALU, FPU or MMX (graphics/audio) It checks if data is needed, fetches data from L1 data cache L2 cache RAM.
R. K. Ghosh (IIT-Kanpur)
C Programming
December 30, 2010
4 / 21