Course offered at Instructors
tcg-crest-mini-logo Institute for Advancing Intelligence (IAI),
TCG Centres for Research and Education in Science and Technology (TCG Crest),
Kolkata, India
👤 Laltu Sardar
👤 Ritankar Mandal

✦ End-sem question paper✦ ✦ sample input-outputs✦

📃 Information


✦ Class Timing: Monday & Friday; 4:00 pm onwards
  PDS Syllabus    IAI Time-Table    IAI Complete Syllabus  
✦ Marks Distribution: Mid-Sem: 40%, End-Sem: 60% and Written Exam: 50%, Assignment and Project: 50%
# Total Marks 100 Assignments Lab Tests Total
1 Mid-Semester 20 20 40
2 End-Semester 30 30 60
Total 50 50 100
✦ Old course-pages: 2022-23: Sem-I;   2022-23: Sem-II
✦ Languages to be taught:
C : The main focus: To Develop programming thinking
C++ : First object oriented programming
Python : Mainly For AI/ML
Go : For blockchain researchers
✦ Preferred softwares--
--Text editor: Atom ;
--Terminal for ubuntu: build in terminal
--Terminal for windows: mobaxterm or terminal in Windows Subsystem for Linux (WSL)

🗣 Announcements


☑ The classes will be start from August 8, 2023

📆 Class Schedule: Mid-sem


# Date Topic Remarks
0 2023-Aug-08 Introduction slides_day_00
1 2023-Aug-11 Syntax
Control flow
slides_day_01
2 2023-Aug-14 Operators slides_day_02
3 2023-Aug-18 Pointer and
Function
slides_day_03 1
slides_day_03 2
4 2023-Aug-21 Random Number Generation, slides_day_04
5 2023-Aug-25 Basic File-handling
Dynamic Memory Allocation
slides_day_05
6 2023-Aug-28 Cancelled
7 2023-Sep-01 Strings slides_day_07
8 2023-Sep-04 Memory Management
Structures
slides_day_08
9 2023-Sep-08 Function and Recursion slides_day_00
10 2023-Sep-11 Structure and String slides_day_00
11 2023-Sep-15 scope of variables
slides_day_00
12 2023-Sep-18 Linked list- I: create, insert, etc. slides_day_12
13 2023-Sep-22 Large Number operations using array slides_day_13
14 2023-Sep-25 Linked list- II: delete, inverse, etc.
Doubly linked list
slides_day_14
15 2023-Sep-29 Solving Problems slides_day_15
16 2023-Oct-06 Practice Problem and QnA slides_day_16
** 2023-Oct-13 Mid-semester Exam Question Paper
sample input-outputs
Sample solutions: prob_1.c prob_2.c prob_3.c prob_4.c

📆 Class Schedule: End-sem


# Date Topic Remarks
17 2023-Oct-16 Polynomial Operations: Find value
add, subtract, multiplication, division
slides_day_17
# 2023-Oct-20 --- Holiday--- slides_day_00
# 2023-Oct-23 --- Holiday--- slides_day_00
18 2023-Oct-27 Command-line Arguments
Debugging
slides_day_18
# 2023-Oct-30 Stack and Queue slides_day_00
# 2023-Nov-03 Breadth First Search(BFS)
Depth First Search(DFS)
slides_day_00
# 2023-Nov-06 Binary Search Tree (BST):
Insertion and Searching
slides_day_00
# 2023-Nov-10 Deletion in a Binary Search Tree slides_day_00
# 2023-Nov-13 --Holiday-- slides_day_00
# 2023-Nov-17 Inverse and Determinant of a Matrix
Dominant Eigen Value and Eigen Vector
slides_day_00
# 2023-Nov-20 C project Management slides_day_00
# 2023-Nov-24 Practice Class slides_day_00
# 2023-Nov-27 AVL Tree slides_day_00
# 2023-Dec-01 Practice Class slides_day_00
# 2023-Dec-04 TBD slides_day_00
# 2023-Dec-08 TBD slides_day_00
-- 2023-Dec-22 End-semester Exam Question Paper
sample I/O

✍ Assignments



1. ☛ In the beginning of each file, please include the followings
/************************************************************
File Name:
Problem ID:
Name:
Collaborators:
Acknowledgements:
Time Spent:
************************************************************/

2. ☛ In acknowledgement part, refer books, websites, etc., from where any part of your code is inspired
3. ☛ Assignments must be sent as zip format. The name of the zip files must be of the form assignment_xy_fname.zip where xy = assignment id and fname = your firstName in small case. For example: assignement_01_laltu.zip will be the file name for 'Laltu Sardar' for assignment 01
4. ☛ For assignment ID #AP0x0y, the FileName will be fname_ap0x0y.c. E.g., laltu_ap0102.c. Thus, if assignment 01 contains 5 problems, assignement_01_laltu.zip should contain the files-- laltu_ap0101.c, laltu_ap0102.c, ..., laltu_ap0105.c.
Arbitrary naming may reason for being undetected by the machines.
5. ☛ Upload the zip via this Submission Link
6. ☛ Discussion with friends is allowed. However, copying others' codes is strictly prohibited. Marks will be deducted for both the giver and taker.
7. ☛ Crosscheck i) filenames, ii) variable names and iii) indentation before submission
8. ☛ Deductions due to late submission: 1 day-- 10%, 2 days-- 20%, 3 days-- 30%, >= 4 days --100%


# Topic Assignments Remarks
Mid-semester
0 Warming-up: Basics of C programming Warm-up problem set Sample Solutions: AP0001 AP0002 AP0003
AP0004 AP0005 AP0006 AP0007
1 Array, Function, etc. Assignment #01 Strictly follow naming convensions
2 Strings and File I/O Assignment #02 Sample input output
Extended deadline: Sep 07, 2023
3 Strings and Structures Assignment #03 Sample input output
Sample Solutions: AP0303
4 Large Number operations Assignment #04 Sample input output
End-semester
5 Polynomial algorithms Assignment #05 Sample input output
6 Matrix Algorithms Assignment #06 Sample input output
7 AVL Tree: A Height Balanced BST Assignment #07 Visualizing AVL Tree

📑 Projects


# Topic Project Remarks Deadline
1 Design a Game Using Arrays Project-I Allocations Sep-07-2023


📚 References


Books

We will follow [1] for the C programming language and [2] for the data structures. For rest of the topics, we will provide sources time to time.

  1. B. W. Kernighan and D. M. Ritchi: The `C' Programming Language, Prentice Hall, Englewood Cliffs, NJ, 1980.

  2. T. Coreman, C. Leiserson and R. Rivest: Introduction to Algorithms, McGraw Hill, New York, 1994.

  3. E. Horowitz and S. Sahni: Fundamentals of Data Structures, CBS, New Delhi, 1977.

  4. A. Aho, J. Hopcroft, and J. Ullman: Data Structures and Algorithms, Addison-Wesley, Reading, Mass., 1983.

Helpful Websites

  1. https://www.codechef.com

  2. https://www.geeksforgeeks.org

  3. https://unstop.com

  4. https://www.hackerrank.com

Top