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 & Thursday; 4.00 pm onwards
✦ Quick Links:   Syllabus  ,   Classes:Mid-Sem  ,   Classes:End-Sem  ,   Assignments  ,   Submitted_Assignments  ,   References  ,   Projects  
☑ The Project has been uploaded. Submission deadline: Dec 15, 2022 |
☑ Check your submitted assignments here. |
☑ Assignment #07 has been uploaded. Submission deadline: Nov 19, 2022 |
☑ Assignment #06 has been uploaded. Submission deadline: Sep 30, 2022 |
☑ Assignment #05 has been uploaded. Submission deadline: Sep 20, 2022 |
☑ Assignment #04 has been uploaded. Submission deadline: Sep 9, 2022 |
☑ Assignment #03 has been uploaded. Submission deadline: Sep 1, 2022 |
☑ Guidelines for Assignment#02 added. Submission deadline extended to Aug 29, 2022 |
☑ Modified Assignment #02 has been uploaded. Submission deadline: Aug 25, 2022 |
☑ Assignment #01 has been uploaded. Submission deadline: Aug 17, 2022 |
☑ The classes will be start from Aug 11, 2022 |
☑ Marks Distribution: Mid-Sem: 40%, End-Sem: 60% and Lab Tests: 50%, Assignments: 50% |
# | Date | Topic | Remarks |
---|---|---|---|
1 | 2022-Aug-11 | Introduction to C programming, Control Flow. |
slides_01,
References: [1] |
2 | 2022-Aug-18 | The Evolution of Programming Languages
Types, Operators and Expressions- Part-I Input from file |
slides_02
slides_03_part-I slides_00 |
3 | 2022-Aug-22 | Types, Operators and Expressions- Part-II
Functions and Recursion |
slides_03_part-II
slides_04 |
4 | 2022-Aug-25 | Dynamic Memory Allocation,
Multiple inputs from file Memory swaping, Writing multiple functions Introduction to write a C project |
slides_05
sample codes sample data sample project |
5 | 2022-Aug-29 | Structures -I | slides_06_Part_I |
6 | 2022-Sep-01 | Structures -II Execution time |
slides_06_Part_II
sample_code_1 sample_code_2 |
7 | 2022-Sep-05 | Command Line Arguments
Multi-Dimensional Arrays Matrix Addition and Multiplication |
slides_07
Practice problems |
8 | 2022-Sep-08 | Link lists: part-I | slides_08 |
9 | 2022-Sep-12 | Link lists: part-II | slides_09 |
10 | 2022-Sep-15 | Link lists: part-III | slides_10 |
11 | 2022-Sep-19 | Problem solving
with strings and arrays |
slides_11 Sample codes Practice problems |
12 | 2022-Sep-22 | Plotting a graph using Octave Link lists: part-IV |
sample code Slides |
13 | 2022-Sep-26 | Link lists: part-V Sorting a linked list |
Slides |
14 | 2022-Sep-29 | Practice Class | Practice problems |
-- | 2022-Oct-14 | Mid-semester Exam | Questions |
# | Date | Topic | Remarks |
---|---|---|---|
-- | 2022-Oct-24 | -- | National Holiday |
1 | 2022-Oct-27 | -- | Most students absent |
2 | 2022-Oct-31 | Binary Tree | Slides Sample codes Practice problems |
3 | 2022-Nov-03 | Stack, Queue | Slides Sample codes Practice problems |
4 | 2022-Nov-07 | BFS, DFS, etc. | Slides Sample codes Practice problems |
5 | 2022-Nov-10 | Polynomial Algoithms Matrix Algorithms, Part-I |
slides_13 C_cheetsheet_1 (source) C_cheetsheet_2 (source) |
6 | 2022-Nov-14 | Introduction to Python3 | demo code
python_cheetsheet_1 (source) python_cheetsheet_2 (source) python_cheetsheet_3 (source) |
7 | 2022-Nov-17 | Matrix Algorithms, Part-II
Eigen Values and Eigen Vectors |
power_method_1
(source)
power_method_2 (source) |
8 | 2022-Nov-21 | Binary Tree: Part-I | |
9 | 2022-Nov-24 | Binary Tree: Part-II | Slides |
10 | 2022-Nov-28 | Merkle Tree (An authentication tree) |
Slides SHA-256 Practice problems |
11 | 2022-Dec-01 | Project Discussion | Slides Sample codes Practice problems |
12 | 2022-Dec-05 | Project Discussion | Slides Sample codes Practice problems |
13 | 2022-Dec-08 | Problem solving | Slides Sample codes Practice problems |
-- | 2022-Dec-20 | End-semester Exam | Question_Paper
Input_Files |
☛ For assignment #AP0x0y, the FileName will be AP0x0y.c
☛ Assignments must be sent as zip format. Filename must be assignment_xyz_abc.zip where xy = assignment id and abc = your firstName. For example: assignement_01_laltu.zip will be the file name for 'Laltu Sardar' for assignment 01
☛ Send the zip file to laltu.sardar[at)outlook[dot)com. The subject will be "assignment_xy_abc" as defined above
☛ Discussion with friends is allowed. However, copying others' codes is strictly prohibited.
☛ In the beginning of each file, please include the followings
/************************************************************
File Name:
Problem ID:
Name:
Collaborators:
Acknowledgements:
Time Spent:
************************************************************/
# | Topic | Assignments | Sample Solution |
---|---|---|---|
Mid-semester | |||
1 | Introduction to C, Control flow | Assignments #01 | AP0101
AP0102 AP0103, AP0104 AP0105, AP0106 |
2 | Types, Operators and Expressions math.h library |
Assignments #02
Submission Guidelines sample code for AP0101 sample input for AP0101 |
To be uploaded |
3 | Function, Recursion, Iteration, Execution time |
Assignments #03 | To be uploaded |
4 | Multi-dimensional arrays
Matrix operations Command line arguments |
Assignments #04 | To be uploaded |
5 | Strings, Matrices and Link lists | Assignments #05 Submission instructions |
To be uploaded |
6 | Lists and Sets | Assignments #06 | To be uploaded |
End-semester | |||
7 | Polynomial Operations | Assignments #07 sample input |
To be uploaded |
8 | Graph Algorithms | Assignments #08 | To be uploaded |
9 | Matrix Operations | Assignments #09 | To be uploaded |
# | Topic | Remarks |
---|---|---|
1 | End-to-end Encrypted Communication | Project_1 |
2 | Quick Verification of Transcripts for Univesities | Project_2 |
. | Project Rules:
1. Students can select any one of the projects 2. Students can form group 3. Each group must prepare a report 4. Each group will have to present their project with live demo |
Exact Weightages: 1. Assignment_07-09--> 15/100; 2. Project--> 15/100; 3. End Sem Lab-Test--> 30/100 |
B. W. Kernighan and D. M. Ritchi: The `C' Programming Language, Prentice Hall, Englewood Cliffs, NJ, 1980.
B. Gottfried: Programming in C, Schaum Outline Series, New Delhi, 1996.
B. Stroustrup: The C++ Programming Language, 2nd ed., Addison-Wesley, California, 1995.
D. M. Arnow and G. Weiss: Introduction to Programming using Java, Addison-Wesley, London, 1999.
T. W. Pratt and M. V. Zelkowitz: Programming Languages: Design and Implementation, 4th ed., Prentice Hall, Englewood Cliffs, 2001.
T. A. Standish: Data Structures, Algorithms and Software Principles, Addison-Wesley, Reading, Mass., 1995.
A. M. Tannenbaum and M. J. Augesestein: Data Structures Using PASCAL, Prentice Hall, New Jersey, 1981.
D. E. Knuth: The Art of Computer Programming. Vol. 1, 2nd ed. Narosa/Addison-Wesley, New Delhi/London, 1973
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.
T. Coreman, C. Leiserson and R. Rivest: Introduction to Algorithms, McGraw Hill, New York, 1994.
S. Sahani: Data Structure, Algorithms and Applications in JAVA, McGraw Hill, New York, 2000.