ESC112
Title of the course: Fundamentals of Computing II
Credit details: 3-1-3-0-[7]
Instructor: Debapriya Basu Roy
Lab: Tuesday, Friday 2:00pm – 5:00pm (offline in computer labs)
Tutorials: Wednesday, Thursday and Friday 12-1 p.m
Objective of the course: To introduce concepts and applications of structured programming,
dynamic memory allocation, recursion, and file IO using the C programming language.
Lab Requirements: Students are required to complete lab assignment of 2-3 problems per week
on the Prutor platform in computer labs assigned to them. The lab submissions done outside the
computer lab won’t be accepted in any situation. It is mandatory for all students to complete the
lab questions while sitting the computer labs.
Course content: Pointers (notion of reference, pointer arithmetic, dynamic memory
allocation/deallocation), User-defined data types (enum, struct), Functions (passing references,
arrays, instances of user-defined data types as arguments), Examples of syntactic sugar in C
(switch-case, subscription, member access), Dynamic data structures (lists, stacks, queues, trees),
Sorting (efficient algorithms such as merge sort and/or others), Recursion, Notion of asymptotic
complexity (motivation, big-Oh notation), File IO (elementary operations topics such as
open/close, read/write, formatted IO, file positioning, operations on files, error handling,
Optional: reading from command line using cat, pipe; Optional: safeguards against buffer
overflows) Demonstration of problem solving using various applications (Optional examples:
root finding, solutions to systems of linear equations, integration, solution of ODEs, or others).
week-wise break-up:
Week
Dates
27-feb
Topics
Pass by Value and Pass
by Reference
Strings-Basics, n-D arrays
29-Feb
Arrays of Strings
26-feb
Week 0
4-March
Recursion I
5-March
Recursion II, Search
Tutorial
Labs
Pass by Value and
Pass by Reference,
Strings-Basics, n-D
arrays, Arrays of
Strings
No Lab
Recursion I,
Recursion II, Search
Pass by Value and Pass
by Reference, StringsBasics, n-D arrays,
Arrays of Strings
Pointers, sorting
Recursion I, Recursion
II, Search
Week 1
11-March
Sorting
12-March
Efficient sorting,
complexity
15-March
Pointers - notion of
reference,
Pointer Arithmetic,
Dynamic memory
management, pass by
reference
Week 2
18-March
Week 3
19-March
Pointer Arrays
Data structures (enum,
struct)
Member access, Linked
lists, stacks and queues
22-March
Advanced pointer
usage
25-March
26-March
29-March
Week
Pointers, sorting
No classes due to midsem recess
1-April
No class
2-April
Week 4
Advanced pointer
usage
5-April
No class, doubts clearing
session can be organized
if required
8-April
Week 5
9-April
12-April
Quiz
15-April
Week 6
Quiz question discussion
16-April
19-April
Lab Exam
Laboratory Sessions: Weekly laboratory sessions will involve students solving 2-3
programming problems on an integrated development environment (Prutor (iitk.ac.in)). The
students will solve these problems on either Tuesday or Friday as per the allocation from 2:00
pm to 5:00 pm in the computer labs. Teaching assistants will be available during the lab hours to
help students.
For
any
course
related
queries,
please
email
to
following
email
addresses:
esc111iitkcse@gmail.com. You can also post your queries in HelloIITK.
Suggested text and reference material:
1. Brian W Kernighan and Dennis M Ritchie, The C Programming Language,2nd Ed. ANSI
C version, Pearson, 2006
Grading:
The grades in the course will be given based on the following weightage of various components
of the evaluation.
1 Quiz: 25% (Tentatively on 12th April, 2023)
1 Lab Exam: 25% (Tentatively on February 19th April, 2023)
1 Final Exam: 30% (As per DOAA schedule)
Weekly Labs: 20% (Tu F 2:00pm – 5:00pm)
Please consult the plagiarism policy of the CSE department at CSE - IIT Kanpur. Cheating in
Quiz, Labs, Lab Exam or Final exam will be taken very seriously and may lead to an F grade in
the entire course.
Learning Management System for the Class: The course will be using the online learning
management system HelloIITK (Home | Home (iitk.ac.in). Teaching assistants will be
answering queries on the online on the online Forum at the HelloIITK Site.