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 |
3. | 1st August 2025 | The Second Program in C: Fahrenheit to Celsius - V-1 | Ritchie |
4. | 4th August 2025 | The Second Program in C: Fahrenheit to Celsius - V-2, V-2, V-4 | Ritchie |
5. | 5th August 2025 | The Third Program in C: Managing text stream | Ritchie |
6. | 8th August 2025 | The Third Program in C: Word count, character count, line count | Ritchie |
7. | 11th August 2025 | The Fourth Program in C: Arrays | Ritchie |
8. | 12th August 2025 | The Fifth Program in C: Function - Power | Ritchie |
9. | 14th August 2025 | The Sixth Program in C: Function - Swap | Ritchie |
|
Evaluation Schedule
Date | Time | Examination | Topic |
29th August 2025 | 3PM to 4PM | Quiz 1 | Topic covered till 22nd August 2025 |
|
|