Birla Institute of Technology and Science, Pilani: Pilani Campus AUGS/ AGSR Division
Birla Institute of Technology and Science, Pilani: Pilani Campus AUGS/ AGSR Division
Pilani Campus
AUGS/ AGSR Division
In addition to part I (General Handout for all courses appended to the Time table) this portion gives further
specific details regarding the course.
Course No : CS F111
Course Title : Computer Programming
Instructor-in-Charge : Dr. Tanmaya Mahapatra
Instructor(s) : Dr. Tanmaya Mahapatra (tanmaya.mahapatra@pilani.bits-pilani.ac.in)
Dr. Asish Bera (asish.bera@pilani.bits-pilani.ac.in)
Dr. Vinti Agarwal (vinti.agarwal@pilani.bits-pilani.ac.in)
Dr Bharat Richhariya (bharat.richhariya@pilani.bits-pilani.ac.in)
Practical Instructors : Ms. Devika S (p20210024@pilani.bits-pilani.ac.in)
Mr. Vikas Kumawat (p20210020@pilani.bits-pilani.ac.in)
Mr. Anubhav Pandey (p20220020@pilani.bits-pilani.ac.in)
Mr. Harshwardhan Singh Nirban (p20230097@pilani.bits-pilani.ac.in)
Ms. Neha Sangwan (p20240031@pilani.bits-pilani.ac.in)
Mr. Mohit (p20210472@pilani.bits-pilani.ac.in)
Ms. Swetha V (p20230083@pilani.bits-pilani.ac.in)
1. Course Description: The primary goals of the course are to introduce:
● Basic representation of data and how to process data using the representation inside a computer.
● Techniques for specifying data, operations on data, and problem-solving using C programming language.
● Systematic techniques and approaches for constructing programs.
2. Scope and Objective of the Course: The course covers the following topics: Basic Model of a Computer;
Problem Solving – Basic Computing Steps and Flow. Programming Constructs – Expressions,
Statements, Conditionals, Iterators/Loops, Functions/Procedures; Data Types – Primitive Types, Tuples,
Lists/Arrays, Pointers and Dynamically Allocated Data, Linked Lists and its variants, Input output and
Files.
3. Text Books:
T1: Hanly, J.R. and E.B. Koffman. Problem Solving and Program Design in C(7/e). Pearson
Education, 2013.
4. Reference Books:
R1: Patt, Yale. Introduction to Computing Systems: From bits & gates to C &beyond (2/e). McGraw
Hill Education, 2017.
The authors take a bottom-up approach to introduce computers and computing.
R2: Forouzan, B.A. and Richard F. Gilberg. Computer science A structured programming approach
using C (3/e). Cengage Learning, 2007.
The book gives a fairly comprehensive overview of C, with several example programs.
1
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division
R3: Gottfried, B.S. and Jitender Chhabra. Programming with C (Schaum's Outlines Series, 3/e).
McGraw Hill Education, 2017.
Another beginner’s book on C programming, with lots of drill exercises and programs.
R4: Kernighan, B.W and Dennis Ritchie. The C Programming Language (2/e). Pearson Education
India, 2015.
Considered the ultimate treatise on C, it conveys the philosophy and practice of C very tersely, but is pitched
at an advanced beginner level.
R5: Das, S. Unix: Concepts and Applications (4/e). McGraw Hill Education, 2017.
Provides a great introduction to using Unix commands.
R6: Das, Sumitabha. Computer Fundamentals and C Programming. New Delhi, India: McGraw Hill
Education. (2018)
5. Course Plan:
Module Lecture Session Reference Learning outcomes
No.
L1 Students get the motivation behind
Introduction to programming; need for programming, and understand a
01 T1: 1.1-1.3
programming; overview of computers and broad overview of computing,
computing computer organization
L2
02 How to express a problem using flowcharts and Class Notes
Students can write simple C
algorithms
programs, compile, and execute
L3 - L4
T1: 2.4; them in a Unix environment
03 Programming example(s) using standard input
Class notes
and output
L5 - L7 Students will understand, how data
04 Internal representation of data; IEEE floating- R1: 2.7.2 is represented and stored in
point representation Computers
L8 - L10 Students can evaluate arithmetic
05 Data types; variables; constants; operators and T1: 2.1-2.2 expressions and specify the exact
expressions internal data representation.
L11 - 13 T1: 4.1-4.3, Given an iterative or conditional,
Statements – if… else, if… else… if, switch; 4.7-4.8, 5.1- students would be able to use the
06
Loops – while; do…while; for; break and 5.2, 5.4-5.8 loop constructs / if-else construct
continue appropriately.
L14 - 16 T1: 3.1, 3.4- Given a complex problem
Functions and program structure; return types; 3.5, 6.1-6.4, statement, students will be able to
07
scope rules; function arguments; call by value; 9.1-9.5, logically break down into simpler
stack vs heap memory 10.1-10.4 modules and solve them using
L17 - L21 functions. They will learn
T1: 6.1, 2.3
08 Arrays, multidimensional arrays, searching and recursion and recursive
Class Notes
sorting, string operations programming style. They will also
2
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division
3
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division
7. Evaluation Scheme:
8. Consultation Hour:
Dr. Tanmaya Mahapatra – Monday 3 - 4 PM (Prior appointment via email for other days)
Dr. Asish Bera – Wednesday 5 – 6 PM (Prior appointment via email for other days)
Dr. Bharat Richhariya – Wednesday 4 – 5 PM (Prior appointment via email for other days)
Dr. Vinti Agarwal – Tuesday 1 – 2 PM (Prior appointment via email for other days)
10. Make-up Policy: Make-ups are generally considered only for medical emergencies leading to
hospitalization (or a personal emergency of similar nature). The decision by the Instructor-in-Charge
regarding granting make-up shall be final. There will be no makeup for weekly laboratory sessions. The
best 8 out of last 10 labs (i.e., from lab sheet 4 to lab sheet 13) will be considered for grading.
11. Note: Award of grades would be guided in general by the histogram of marks. If a student does not give
sufficient opportunity for being assessed, either by missing a component entirely or by not applying
oneself to the task seriously, he/she may be awarded an ‘NC’ report.
Instructor-in-Charge
CS F111