### Instructor's Site

In this website, Dr. Sarangi will be posting his class notes and slides. The main site for the course is at this link.

Credits : 4   [3-0-2] (L-T-P)

L - Two lectures of 1 hour 15 minutes each will be conducted every week. The venue for the lectures is LHC 111.

P - The practical component of the course involves lab work.

Thanks to Prof. Partha Pratim Das from IIT Kharagpur for the PPT slides.

 Date Topics Covered Slides/Notes 25th July Course Policies Go to the main site 28th July Introduction to Computers Slides (slides 1..20) Video 1st Aug Representing +ve Binary Numbers Slides (slides 1 .. 43) Video Notes 5th Aug Representing -ve Binary Numbers Notes Video , Converting from binary to               octal/hex (method and proof) 8th Aug Floating point numbers, Simple C programs Slides (slides 48 ... 59), Notes Programs: basic I/O (prog 1, prog 2) Rounding numbers: prog 11th Aug Declaring and initializing variables Scanf, Printf, Types Notes , Programs (printf, scanf) , Slides (slides 21 .... 68) 20th Aug Character type, type conversion, if statements Programs (print char, three cases, rounding, rounding to the next even number)  Slides (expressions, conditionals) 22nd Aug Loops --> for loop and while loop test if a number is prime, find kth prime number , Slides (loops) 1st Sept Minor 1 solutions, Loops, Continue statement, Definite integral of a curve. curve, integral, instructions Minor1 solution: Powers of 2 8th Sept Pre-increment, post increment operators, Operators  of the form: +=, *= , /=. Precision in floating point numbers (.3f), arrays and strings. hacker earth example, input file pre and post increment operators Strings 15th Sept 1D arrays, 2D arrays, Making shapes on the screen Arrays, Draw a Circle, Draw an ellipse Slides: Arrays, 2D Arrays 19th Sept Selection sort, continue statement, switch case, char to int conversion Selection sort, continue stmt. example, break with nested loops, char to int, gets function, switch case Slides: Sorting 22nd Sept Functions Basic Functions, Funcs - II, Prime num. function, find prime and reverse, different types of arguments Slides on functions: link 26th Sept Recursion, and passing arrays by reference pass by value/reference, palindrome, rec. factorial, Fibonacci numbers, gcd Slides on recursion: link 29th Sept Binary search and recursion Binary Search, Print all permutations, Reverse a string 1st Oct Merge sort Merge sort, Selection sort 3rd Oct Pointers Pointer arithmetic, Swapping values, Arrays and pointers Slides on pointers: link 6th Oct Pointers char pointers, integer points, variable addresses (local vs global), string comparison 15th Oct String functions string functions, search a string, tokenize a string 20th Oct Function pointers, void * pointers Function pointers, String sort, Selection  sort with void * pointers: main.c selsort.c selsort.h (gcc main.c selsort.c; ./a.out) 3rd Nov More about pointers ptrmore.c 5th Nov Structures Static vs dynamic allocation (code) Structures Structures (pointers) Slides (structures) Slides (dynamic allocation) 6th Nov Unions and Applications of Structures Unions, Unions (pointers) Code for finding a path through a maze: code 7th Nov Expression Parsing Stack of integers Using a stack for evaluating expressions 10th Nov Linked lists, stack using linked lists, enumerations Stack with arrays (used for evaluating expressi -ons with brackets): code Stack with linked lists: code Slides (stacks, queues) Slides (linked lists) 12th Nov Queues, Shortest path problems with queues, File handling Queue with integers: code Shortest path through a maze with queues: code Slides: file handling 17th Nov Review