|
CS1113: Introduction to Programming
Announcements:
Welcome to CS1113 Course page
The Class will strat from 28th July 2025 (Monday) in 5305.
Attendance is Mandetory in the Course.
IMPORTANT: Any malpractice will lead to F grade without any explanation.
Instructor
Class Timing and Venue:
Syllabus
Lexical Elements: Identifiers, keywords, integer constants, character constants, special characters, floating constants, enumeration constants, string literals, punctuations,
separates, white spaces, comments;
Basics, data types, operators and expressions: Variable names, declarations, data types and sizes, arithmetic operations, Relational and logical operations,
incremental and decremental operators, bitwise operators, assignment operators and expressions, Conditional expressions, Precedence and Order evaluation;
Data type Conversions: Conversion of characters and integers, conversion of floats and doubles, conversion of floating and integral types, conversion of unsigned integers, arithmetic conversions;
Control Flow: Statements and Blocks, If-Else, Else-if, nested if … else, Switch, ?: operator;
Loops: While, for, Do-While, Break, Continue, goto and labels;
Managing standard Input and standard output: Reading various data types through input, output various data types, formatted input, formatted output;
Arrays: Introduction, declaration of one-dimensional arrays, initialization of one-dimensional arrays, accessing of elements of one-dimensional arrays, declaration of two dimensional arrays,
initialization of two-dimensional arrays, accessing of elements of two-dimensional arrays, declaration of Multi-dimensional arrays, initialization of multi-dimensional arrays,
accessing of elements of multi-dimensional arrays;
Character arrays and String: Declaration and initialization of string variables, reading strings from standard input, writing strings to standard output, string functions, command line arguments;
Functions: Function Declarations, Function Definitions, Calling functions, function parameters, variable length parameter list functions, the main function, recursive functions,
static functions, nested functions;
Structures and Unions: Defining, declaring structures, accessing elements of structures, structure within structure, structures and function, Unions, Size of structures, bit fields;
Pointers Introduction: Declaring pointer variables, initialization of pointer variables, accessing the address of a variable, accessing a variable through its pointer, chain of pointers,
pointer expressions, pointer arithmetic;
Dynamic memory allocation: Allocating block of memory using malloc, allocating memory using calloc, releasing used space using “free”, Dangling Pointers;
Pointes and Arrays: Pointer notion and arrays, using malloc, using realloc, pointers and single dimensional arrays, pointers and multi-dimensional arrays, dynamically allocating memory for two dimensional array;
Pointers and Strings: String fundamentals, standard string operations, passing strings to functions, returning of strings;
Pointers and Structures: Introduction, memory allocation, deallocation, Using pointers to support data structures;
Linked Lists: Types of linked lists, creating a linked list, inserting an item, deleting an item, traversing linked list, deleting entire linked list;
Pre-processors: Overview, Header files, include syntax, include operation, search path, only-once headers; Macros: object-like macros, function-like macros,
macro arguments, concatenations, varadic macros, and macro pitfalls, conditional macros;
File management: Defining and opening a file, closing a file, inputoutput operations on files, error handling during IO operations, Random access to files;
Standard libraries: character handling, string and array utilities, search and sorting, pattern matching, input/output, mathematics, variable argument functions;
Text Books
[Ritchie] Brian W. Kernighan, Dennis M. Ritchie, “C Programming Language”, Prentice Hall Software Series, Second edition, 2015.
The GNU C Reference Manual
References
[Balaguruswamy] E. Balaguruswamy, “Programming in ANSI C” McGraw Hill, 9th edition, 2024.
[Kanetkar] Yashavant Kanetkar, “Let Us C: Authentic guide to C programming language”, 20th edition, bpb publication.
A. Kelly and I. Pohl, “A Book On C”, 4TH Edition, Pearson Education, 1999.
Stephen Kochan, Programming in C, Pearson Education (India), 2015, ISBN: 978-9332554665
Grade Calculation
Teaching Assistants
Classes
| Lecture No | Date | Topic | Resources |
| 1. | 28th July 2025 | Introduction to Computer Systems | Slides |
| 2. | 29th July 2025 | The First Program in C: Hello World | Ritchie, Ch 1 |
| 3. | 1st August 2025 | The Second Program in C: Fahrenheit to Celsius - V-1 | Ritchie, Ch 1 |
| 4. | 4th August 2025 | The Second Program in C: Fahrenheit to Celsius - V-2, V-2, V-4 | Ritchie, Ch 1 |
| 5. | 5th August 2025 | The Third Program in C: Managing text stream | Ritchie, Ch 1 |
| 6. | 8th August 2025 | The Third Program in C: Word count, character count, line count | Ritchie, Ch 1 |
| 7. | 11th August 2025 | The Fourth Program in C: Arrays | Ritchie, Ch 1 |
| 8. | 12th August 2025 | The Fifth Program in C: Function - Power | Ritchie, Ch 1 |
| 9. | 14th August 2025 | The Sixth Program in C: Function - Swap | Class notes |
| 10. | 18th August 2025 | The Sixth Program in C: Pointers - Call by Reference, Introduction to Pinters | Class notes |
| 11. | 19th August 2025 | The Seventh Program in C: Pointers and Arrays | Class notes |
| 12. | 22nd August 2025 | The Eighth Program in C: Character Strings | Class notes |
| 13. | 23rd August 2025 | The Eighth Program in C: More on Pointers | Class notes |
| 14. | 25th August 2025 | Practice makes perfect | Class notes |
| 15. | 26th August 2025 | Practice makes perfect | Class notes |
| 16. | 27th August 2025 | Types, Operators and Expressions | Ritchie, Ch 2 |
| 17. | 28th August 2025 | Quiz 1 | |
| 18. | 1st September 2025 | Discussion on Quiz 1 Solution and return the copies | |
| 19. | 2nd September 2025 | Types, Operators and Expressions | Ritchie, Ch 2 |
| 20. | 8th September 2025 | Control Flow | Ritchie, Ch 3 |
| 21. | 9th September 2025 | Practice session for Mid-Sem | |
| 22. | 12th September 2025 | Practice session for Mid-Sem | |
| 23. | 22th September 2025 | Discussion on Mid-Sem Paper | |
| 24. | 26th September 2025 | Multi-dimentional Array | |
| 25. | 8th October 2025 | Structure | Ritchie, Ch 6 |
| 26. | 8th October 2025 | Structure and Pointer | Ritchie, Ch 6 |
| 27. | 10th October 2025 | Structure vs Union | Ritchie, Ch 6 |
| 28. | 13th October 2025 | Dynamic Memory Allocation | Classnotes |
| 29. | 14th October 2025 | Linked List with Dynamic Memory Allocation | Classnotes |
| 30. | 17th October 2025 | Insert, Delete in Linked List | Classnotes |
| 31. | 21st October 2025 | Doubly Linked List, Typedef, define | Classnotes |
| 32. | 24th October 2025 | Input-Output | Ritchie, Ch 7 |
| 33. | 25th October 2025 | File in C | Ritchie, Ch 7 |
| 34. | 27th October 2025 | Binary File Access in C and Command Line Argument | Ritchie, Ch 7 |
| 35. | 28th October 2025 | Recursive function in C | Ritchie, Ch 4 |
| 36. | 31st October 2025 | Recursive function in C | Ritchie, Ch 4 |
| 37. | 3rd November 2025 | Pointers in C | Ritchie, Ch 5 |
| 38. | 4rd November 2025 | Pointers and Arrays | Ritchie, Ch 5, Class notes |
| 39. | 7th November 2025 | Pointers and Arrays | Ritchie, Ch 5, Class notes |
| 40. | 10th November 2025 | Pointers, Multi dimentional arrays and Strings | Ritchie, Ch 5, Class notes |
| 41. | 11th November 2025 | Library Functions in C | |
| 42. | 14th November 2025 | Discussions | |
|
|
Evaluation Schedule
| Date | Time | Examination | Topic |
| 29th August 2025 | 3PM to 4PM | Quiz 1 | Topic covered till 22nd August 2025 |
| 14th September 2025 | 9 AM to 11 AM | Mid-Sem | Topic covered till 12th September 2025 |
| 29th October 2025 | 3PM to 4PM | Quiz 2 | Topic covered till 25th October 2025 |
| 16th November 2025 | 9 AM to 12 PM | Mid-Sem | All |
|
|
|