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

  • Dr. Chandan Karfa

Class Timing and Venue:

  • Slot F in timetable

  • Monday: 12PM-12:55PM, Tuesday: 12PM-12:55PM, Friday: 11AM-11:55AM

  • Venue: 5305, Core 5

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;

  • Pointers and Functions: Passing & returning by pointers, function pointers;

  • 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;

  • Introduction to Problem Solving and Flowchart;

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

  • Attendance: Mandetory

  • Quizzes: 20% (There will be two quizzes)

  • Mid-Sem: 30%

  • End-Sem: 50%

Teaching Assistants

Classes

Lecture No Date Topic Resources

Project Presentation Schedule

Date Time Groups

Evaluation Schedule