You are on page 1of 5

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani

Pilani Campus
AUGS/ AGSR Division

SECOND SEMESTER 2018-19


COURSE HANDOUT
Date: 07.01.2019

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. Sundaresan Raman
Instructor(s) : Dr. Sundaresan Raman(sundaresan.raman@pilani.bits-pilani.ac.in)
Dr. Pratik Narang (pratik.narang@pilani.bits-pilani.ac.in)
Dr. Manoj Kannan (manojkannan@pilani.bits-pilani.ac.in)
Dr. Sadhana Jha (sadhana.jha@pilani.bits-pilani.ac.in)
Tutorial/Practical Instructors: Mr. Ankit Soni (p20180016@pilani.bits-pilani.ac.in)
Mr. Pravin Brijgopalji (p20170431@pilani.bits-pilani.ac.in)
Ms. Anshu Choudhary (p20180015@pilani.bits-pilani.ac.in)
Ms. Divya Bhardwaj (p20180013@pilani.bits-pilani.ac.in)
Dr. Pratik Narang
Dr. Sadhana Jha
Dr. Manoj Kannan
Dr. Sundaresan Raman

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 Charting (Assignment,
Sequencing, Conditionals, Iteration). Programming Constructs – Expressions, Statements,
Conditionals, Iterators/Loops, Functions/Procedures; Data Types – Primitive Types, Tuples,
Choices (Unions or Enumerations), Lists/Arrays, Pointers and Dynamically Allocated Data.
Input output and Files.

1
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division

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.
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 ofdrill exercisesand 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 beginnger 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 No. Lecture Session Reference Learning outcomes

Introduction to Programming;
01 need for programming; overview T1: 1.1-1.3
of computers and computing

Compilation and execution of a


Class notes,
02-03 program, other useful Unix
R5
commands
Students can write
How to express a problem using simple C programs,
04 flowcharts, using prime number Class Notes compile and execute
problem as an example them in a Unix
environment
A programming example T1: 2.4;
05-06
Class notes

Internal representation of data;


07-09 IEEE floating point R1: 2.7.2
representation of numbers

2
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division

Data Types; variable names; Students can


sizes, constants and declarations evaluate a complex
arithmetic
10-12 T1: 2.1-2.2
expression; also
specify the exact
internal data
representation.
Given a problem
T1: 4.1-4.3, that’s iterative or
Statements – if… else, if… else… 4.7-4.8, 5.1- conditional in
13-16 if, switch 5.2, 5.4-5.8 nature, students
would be able to use
Loops – while; do… while; for; the loop constructs /
break and continue if-else construct
appropriately.
Functions and program
Structure; return types; scope T1: 3.1, 3.4-
17-19 rules; header files 3.5, 6.1-6.4, Given a complex
10.1-10.4 problem statement,
The C Preprocessor students will be able
to logically break
Pointers and function arguments; down into simpler
call by value; call by reference; T1: 6.1, 8.1- modules involving
20-25 pointers and arrays,
pointer arithmetic; arrays of 8.5
and write a modular
pointers; string manipulation
program using
Multidimensional arrays; functions.
pointers vs. multidimensional T1: 7.8-7.9,
26-28
Arrays; Command Line 13.7
Arguments

Structures and unions;


29-32 enumerated data types; type T1: 10.1-10.4
Students will be able
definitions, Array of Structures to create user-
defined data types
Standard input and output pertaining to a given
T1: 2.3, 11.1,
33-34 functions; formatted input and problem, create and
Class Notes
output; File handling manipulate data
structures using
dynamic memory
T1: 13.1-13.4 management, and
35-38 Dynamic memory management; Class Notes handle text files.
linked lists

3
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division

Pattern Matching in Unix, T1: 9.1 – 9.5,


Students will be able to
39-40 Recursive functions in C search for patterns in
Class Notes files in a unix
environemnt

6. Evaluation Scheme:
Component Duration Weightage Date & Time Nature of component
(%) (Close Book/ Open Book)
Mid-Semester Test 90 Min. 17.5 13/3 11:00 - 12:30 PM
Closed-book
Comprehensive 3h 37.5 6/5 AN
One section will be
Examination
open-book
Online Programming 90 Min. 15 To be held in Apr Open-book; 1½ hours
Test (exact date will be
announced later)

Quizzes 40-50 15 To be announced Closed-book


Min.
Practical Sessions 110 Min. 15 During the weekly Open-book
weekly practical session

7. Chamber Consultation Hour:

Dr. Manoj Kannan – Fridays 3:30 to 4:30 PM in Rm. 3270; Phone: 01596–515855
Dr. Sundaresan Raman – Saturdays 11:30 to 12:30 PM in Rm. 6121-O; Phone: 01596
515684.
To contact the practical class instructors for consultation, you may send them an email.

8. Notices: All announcements will be done in the classroom, and may be followed up with
an email. For sharing course material, either Nalanda (nalanda.bits-pilani.ac.in) or Google
Drive may be used.

9. Make-up Policy: For a foreseen absence, make-up request should be made personally by
meeting the Instructor-in-Charge. Reasons for unanticipated absence that qualify one for
make-up include medical or similar personal emergencies only. In such cases, the
Instructor-in-Charge must be informed either by email or telephone. Usually, make-ups for
regular laboratory sessions and assessments held therein are not awarded. The decision by
the Instructor-in-Charge regarding granting makeups shall be final.

10. Note (if any):

4
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani
Pilani Campus
AUGS/ AGSR Division

Supervised practical sessions will be held every week wherein the students will practice
writing, executing and debugging C programs in a Unix environment. Students are
expected to work in their respective Linux accounts created on the Prithvi server
(172.24.16.31). Every student is expected to store his lab work in the Prithvi server only.
Each lab session will be evaluated for 3 marks based on participation, effort and
performance.

Attendance shall be recorded in lectures and practical classes. Poor attendance is likely to:

 Have your user privileges on Prithvi server suspended;


 Have you lose an opportunity to take part in assignments and quizzes;
 Make you miss out on great classroom experience.

Award of grades would be guided in general by the histogram of marks. Decision for
borderline cases would be based on the student’s attendance in lectures and laboratory
sessions, and instructors’ overall assessment of the individual’s sincerity and endeavour. 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
‘NC’ report.

Instructor-in-charge
CS F111

You might also like