0% found this document useful (0 votes)
143 views

CS F111 Computer Programming I Sem 2022-2023 HO

The document provides details about a Computer Programming course, including: 1) The course objectives are to introduce basic data representation, processing data using programming languages, and systematic techniques for constructing programs. 2) Topics covered include data types, conditional statements, loops, functions, pointers, arrays, structures, and file input/output. 3) Resources include a textbook on problem solving and program design in C, as well as reference books on computing systems, C programming, and Unix commands.

Uploaded by

john doe
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)
143 views

CS F111 Computer Programming I Sem 2022-2023 HO

The document provides details about a Computer Programming course, including: 1) The course objectives are to introduce basic data representation, processing data using programming languages, and systematic techniques for constructing programs. 2) Topics covered include data types, conditional statements, loops, functions, pointers, arrays, structures, and file input/output. 3) Resources include a textbook on problem solving and program design in C, as well as reference books on computing systems, C programming, and Unix commands.

Uploaded by

john doe
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
You are on page 1/ 5

BITS PILANI, DUBAI CAMPUS

ACADEMIC – UNDERGRADUATE STUDIES DIVISION


FIRST SEMESTER 2022 – 2023
Course Handout (Part – II)
Date: 19-09-2022
In addition to Part I (General Handout for all courses appended to the Time Table) this portion further
specific details regarding the course.

Course No. : CS F111 (3 1 4)


Course Title : Computer Programming
Instructor-in-charge : Sapna Sadhwani
Instructors :
• Lectorial: Ms. Sapna Sadhwani, Dr. Pramod Gaur
• Laboratory: Dr. Vijay Kumar, Dr. Vadivel, Dr. Pranav

Objective:
The primary goals of the course are to introduce:
o Basic representation of data and how to process data using the representation inside a computer.
o Techniques for specifying data, operations on data, and problem solving using a programming
language.
o Systematic techniques and approaches for constructing programs.

Scope:
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.
While the topics are taught using a specific language, the intent of the course is to teach a programming
methodology, and not a programming language. There is also a laboratory component that involves
development and testing of iterative and procedural programs using bounded and unbounded iterations,
function composition, random access lists, sequential access lists, dynamically allocated lists, and file access.

Study Material:

Text Book [TB]:


TB1. J.R. Hanly and E.B. Koffman, Problem Solving and Program Design in C. Seventh Edition, Pearson
Education 2013.

Reference Books [RB]:


RB1: 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.
RB2: 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.
RB3: 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.
RB4: 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 verytersely, but is pitched at an advanced beginner level.
RB5: Das, S. Unix: Concepts and Applications (4/e). McGraw Hill Education, 2017. Provides a great

Please Do not print unless necessary


Page 1 of 5
introduction tousing Unix commands.
RB6: Das, Sumitabha. Computer Fundamentals and C Programming. New Delhi, India: McGraw Hill
Education. (2018)

Course Pre/Co-requisite (if any) & Catalogue / Bulletin Description: Given in the Bulletin 2022 – 2023

Course Plan/Schedule
Modules

MODULE THEME LEARNING OBJECTIVES


I Basic data, data types, To understand how to define, represent, and process
and data representation basicdata.
II Analyzing, designing, and To diagrammatically understand and visualize an
managing a process or algorithm using boxes of various kinds. This
program for any given representation gives a step byep insight to a solution of
problem. a given problem.
III Basic Problem Solving – To understand constructs of structured programming
Structured Programming including conditionals and iterations
IV Advanced Problem To understand how to structure complex data and
Solving – Program how to systematically structure large programs
Structuring and Structured
Data
V User Defined Data To understand how users can define the structure and
andDynamic Data operations of new forms of data using known forms
VI Advanced Topics – File To understand recursive programming and to
I/O and Recursion understand how to access files and contents of files

Lecture Schedule
Lec. Learning Reference
Topics to be covered Learning
# Objectives Outcomes to
Text
Introduction to
Introduction to the Programming; need for
course programming; overview of Students can write
computers and computing; simple C programs,
01 T1: 1.1-1.3
compile and execute
Internal representation of them in a Unix
Representation of data; IEEE floating point environment
02-05 numbers inside the representation of numbers R1
computer
How to express a problem
Solving problems using flowcharts, using
using flowcharts prime number problem as
T1: 2.4;
an example
06-09 Class notes
Overview of the C A programming example –
10-12 programming prime numbers Notes
language

Please Do not print unless necessary


Page 2 of 5
Simple data storage Data Types; variable Students can evaluate a
and manipulation names; sizes, constants and complex arithmetic
declarations expression; also specify
13-15 T1: 2.1-2.2
the exact internal data
representation.
Statements – if… else, if… Given a problem that’s
else… if, switch iterative or conditional in
Loops – while; do… while; nature, students would be
T1: 4.1-4.3,
for; break and continue able to use the loop
16-22 Flow of control constructs / if-else 4.7-4.8, 5.1-
construct appropriately. 5.2, 5.4-5.8
Functions and program
Structure; return types; T1: 3.1, 3.4-
23-29 Modularity and scope rules; header files 3.5, 6.1-6.4,
program structure Recursion The C
10.1-10.
Preprocessor Given a complex
Pointers and function problem, statement,
arguments; call by value; students will be able to
call by reference; pointer logically break down
Pointers and Arrays T1: 6.1, 8.1-
arithmetic; arrays of into simpler modules
30-36 pointers; string involving pointers and 8.5, 9.1-9.5
arrays, and write a
manipulation modular program using
Multidimensional arrays; functions.
Multi-dimensional pointers vs. T1: 8.7-8.8,
arrays multidimensional Arrays;
37-44 13.7
Command
Line Arguments
Structures and unions;
45-50 User-defined data enumerated data types; T1: 14.3-14.4
types type
definitions
Students will be able to
Standard input and output
Input and Output create user-defined data
functions; formatted input
and output; File types pertaining to a
51-52 given problem, create T1: 2.3
handling
and manipulate data
Dynamic memory Dynamic memory structures using dynamic
53-54 and simple data management; linked lists memory management, T1: 12.1-12.2
structures in C and handle text files. Notes
55-56 Modularity and Divide and Conquer – T1:10.3 – 10.4
program structure Design using Recursion;
Recursive procedures;
Recursion vs. Iteration

Lab Practical: The following topics are covered in the lab.

Please Do not print unless necessary


Page 3 of 5
Sessions
Sl# Topics (2 classes per Venue
week)
1 Orientation, Introduction to working with Unix (Linux) 1
2 Introduction to working with Unix (Linux) cont 1
3 Input and output statement in C 1
4 Using different data types and operators in C 1
5 Different programming structures (selective, iterative) 1
6 Using arrays in C (Single, Multi-dimensional) 1
CP Lab
7 String processing 1
Room
8 Structures and Unions 1 No. 332
9 Functions 1
10 Pointers 1
11 File handling 1
12 Dynamic memory allocation and linked list 1
13 Practice session 1

Evaluation Scheme: [Legends: OB - Open Book, CB - Closed Book, TBA – To Be Announced]

Sr. Component OB / CB Duration Weightage Marks Date &


No. Time
1. Mid-semester Test CB 90 Minutes 30% 60 04.11.22
FN
2. Surprise Quiz CB 15 Minutes 5+5=10% 20 -
(best 2 out of 3 will be each
considered)

3. Continuous Lab
Evaluation & demo (before OB* During Lab 5+5=10% 20 Continuous
and after mid sem) hours

4. End semester Lab exam OB* 90 Minutes 15% 30 TBA

5. Comprehensive Exam CB 3 hours 35% 70 12.01.23


FN

* Only prescribed text book(s) and hand-written notes are permitted

Mid-Semester grading

Mid-semester grading will be displayed after evaluation components: Midsem (30%), Quiz (10%) Continuous
Lab evaluation & demo (5%) are completed.

Note: A student will be likely to get “NC”, if he / she


➢ Doesn’t appear / appear for the sake of appearing for the evaluation components / scoring zero in
pre-compretotal.
➢ Scoring zero in the lab component / Abstaining from lab classes throughout.

Make up and attendance policy

Make-ups are not given as a routine. It is solely dependent upon the genuineness of the circumstances under

Please Do not print unless necessary


Page 4 of 5
which a student fails to appear in a scheduled evaluation component. In such circumstances, prior
permission should be obtained from the Instructor-in-Charge (I/C). The decision of the course committee in
the above matter will be final.
Attendance: Every student is expected to be responsible for regularity of his/her attendance in class rooms
and laboratories, to appear in scheduled tests and examinations and fulfill all other tasks assigned to him/her
in this course. A student should have a minimum of 70% of attendance in a course to be eligible to appear
for the Comprehensive Examination in the course. For the students under the purview of Academic
Counseling Board (ACB), the Board shall prescribe the minimum attendance requirement on a case-to-case
basis. Attendance in the course will be a deciding factor in judging the seriousness of a student which may
be directly / indirectly related to grading.

Chamber Consultation hour: See the course instructor table below.


Notices: All notices concerning the course will be displayed on the respective Notice Boards and Google
class room. Optionally, if there is a need, email to your BITS mail would be used on short notice and
therefore you should activate your BITS mail. All official communications will be sent to your BITS email
only.

Course instructors contact information:

Chamber consultation Chamber#


Instructor Name Email hour & contact
Id Tel#
Ms. Sapna Sadhwani [email protected] Thursday 1:00 pm to 3:00 pm
pilani.ac.in 232,
042753700
Ext. – 157
Monday 10:00 am to 12:00
pm 234,
Dr. Pramod Gaur [email protected] 042753700
pilani.ac.in Ext. – 317

SAPNA SADHWANI

Instructor In-Charge
CS F111 (Computer Programming)

Please Do not print unless necessary


Page 5 of 5

You might also like