Course offered at | Instructors |
---|---|
Institute for Advancing Intelligence (IAI),
TCG Centres for Research and Education in Science and Technology (TCG Crest), Kolkata, India |
👤 Laltu Sardar ✉ 👤 Ritankar Mandal ✉ |
✦ 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) |
☑ The classes will be start from August 8, 2023 |
# | 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 |
# | 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 |
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 |
# | Topic | Project | Remarks | Deadline |
---|---|---|---|---|
1 | Design a Game Using Arrays | Project-I | Allocations | Sep-07-2023 |
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.
B. W. Kernighan and D. M. Ritchi: The `C' Programming Language, Prentice Hall, Englewood Cliffs, NJ, 1980.
T. Coreman, C. Leiserson and R. Rivest: Introduction to Algorithms, McGraw Hill, New York, 1994.
E. Horowitz and S. Sahni: Fundamentals of Data Structures, CBS, New Delhi, 1977.
A. Aho, J. Hopcroft, and J. Ullman: Data Structures and Algorithms, Addison-Wesley, Reading, Mass., 1983.