0% found this document useful (0 votes)
1 views4 pages

CS F111 - Computer Programming

The document is a course handout for CS F111: Computer Programming at Birla Institute of Technology and Science, Pilani for the first semester of 2025-26. It outlines course objectives, topics covered, evaluation schemes, and instructor details. The course aims to teach basic data representation, problem-solving techniques, and programming in C, with a focus on both theoretical and practical aspects.

Uploaded by

nish79057
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views4 pages

CS F111 - Computer Programming

The document is a course handout for CS F111: Computer Programming at Birla Institute of Technology and Science, Pilani for the first semester of 2025-26. It outlines course objectives, topics covered, evaluation schemes, and instructor details. The course aims to teach basic data representation, problem-solving techniques, and programming in C, with a focus on both theoretical and practical aspects.

Uploaded by

nish79057
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani

Pilani Campus
AUGS/ AGSR Division

FIRST SEMESTER 2025-26


COURSE HANDOUT Part II
Date: 23.08.2025

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. Bharat Richhariya
Instructor(s) : L1: Dr. Bharat Richhariya ([Link]@pilani.)
L1: Dr. Gopal Singh Phartiyal ([Link]@pilani.)
L2: Dr. Amit Dua ([Link]@pilani.)
L2: Dr. Vinti Agarwal ([Link]@pilani.)
Practical Instructors :
P section RS TA Email
P9/P13 Ashin Babu p20240495@[Link]
P8/P2 Manasvi Singh p20240481@[Link]
P7/P1 Mohit p20210472@[Link]
P6/P4 Neha Sangwan p20240031@[Link]
P13/P12 Priyanka Jain p20240498@[Link]
P10/P11 Radhika Bohra p20240428@[Link]
P15/P3 Ravi Kumar Sharma p20240430@[Link]
P5 Tulika Tewari p20250807@[Link]

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.

1. 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.

2. Text Books:
T1: Hanly, J.R. and E.B. Koffman. Problem Solving and Program Design in C(7/e). Pearson
Education, 2013.

3. 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.

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

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 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)

4. 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

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

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
L22 - L24 be able to store and process groups
Structures, type definitions, array of structures of related data records together
T1: 10.1 –
using arrays and strings in C. They
09 10.4
will also be able to store data of
Class Notes
multiple datatypes together using
structures and process them.
L25 - L28 T1: 8.1-8.5
10 Pointers; call by reference; pointer arithmetic; T1: 7.8-7.9,
arrays of pointers 13.7 Students will be able to create
L29 - L32 user-defined data types pertaining
Dynamic memory management, to a given problem, and create and
11 Class Notes
multidimensional arrays; pointers vs. manipulate data structures using
multidimensional arrays dynamic memory management.
L33 - 36 T1: 13.1- They will also learn about linked
12 Linked lists and operations 13.4 Class lists, operations on linked lists and
Notes file handling in C.
L37 Class Notes
13
File handling T1: 9.1-9.5
L38 - 40 Students will be able to understand
T1:11.1
14 C pre-processor, performance efficiency of a C macros in C, ways of profiling a C
Class Notes
Program, case studies program and making it efficient

5. Plan for laboratory sessions:


Lab Session No. Broad topics to be covered
Lab 1 Introduction to Operating System, Unix, Basic Unix Commands
Lab 2 Some more Unix Commands and Introduction to a text editor
Lab 3 Basic C programs, compiling and executing them
Lab 4 More complex C programs with multiple data types, variables and type conversions
Lab 5 Control Flow: branching, decision making, looping
Lab 6 Storage Classes, Functions
Lab 7 Arrays – Searching and Sorting and other problems, passing arrays to functions
Lab 8 Multi-file Compilation with makefile
Lab 9 Structures in C
Lab 10 Pointers, Pointer Arithmetic, Call by reference
Lab 11 Dynamic Memory Allocation – variables, arrays, arrays of structures

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

Lab 12 Linked Lists


Lab 13 File Handling, and Command-Line Arguments

6. Evaluation Scheme:

Weightage Nature of component


Component Duration Date & Time (Closed Book/ Open
(%) Book)
Mid-Semester Test 90 min. 25 10/10 AN2 Closed book
Comprehensive
3 hours 35 13/12 AN Open/Closed book
Examination
Quiz 30-40 min. 10 16.09.2025 (Tue) Closed book
Programming Test/ 16.11.2025 (Sun)
1-2 hour 20 Open book
Quiz
Laboratory 2 hours for ---
10 ---
Participation each session

7. Attendance Policy: Each student is expected to attend all classes and labs and participate in all
evaluation components. Please note that the performance in the lab sessions carry a weightage of 10%,
and the best 8 out of 10 labs (i.e., from lab sheet 4 to lab sheet 13) will be considered for grading.

8. Consultation Hour:
Dr. Bharat Richhariya – Monday 3 - 4 PM (Prior appointment via email for other days)
Dr. Gopal Singh Phartiyal – Monday 3 - 4 PM (Prior appointment via email for other days)
Dr. Amit Dua – Wednesdays 11 AM - 12 Noon (Prior appointment via email for other days)
Dr. Vinti Agarwal – Monday 4 - 5 PM (Prior appointment via email for other days)

9. Notices: All announcements will be done through the Nalanda portal.

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.

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

You might also like