Course Description
In this course we intend to teach the fundamentals of computer programming to the undergraduate students in the Computer Science department.
Instructor : Dr. Smruti R. Sarangi
Credits : 4 [3-0-2] (L-T-P)
L - Two
lectures of 1 hour 15 minutes
each will be conducted every
week. Venue for the lectures is
LHC 108.
P - The
practical component of the
course involves lab work.
TextBook:
Programming
with C, Byron
Gottfried, Third
Edition.
(McGrawHill)
Slides:
(Thanks to Prof. Partha Pratim
Das from IIT Kharagpur for his
original slides)
1. Introduction to Computers and Programming (link)
Notes: Proof of the result for
converting from binary to hex, and binary to
octal (link)
My first C program (link)
printf
and scanf (link)
2. Conditional operators and Loops.
Slides (conditional
operators, loops)
Programs: continue:example,
exponentials,
Fibonacci, Floyd's triangle, Floyd's
Triangle (single loop), Loops, Primes
3. Functions and Recursion: slides (functions, recursion)
Programs: Factorial,
Fibonacci, General
functions, GCD,
Integer
Reverse, Primes
4. Arrays: slides (1D arrays) (2D arrays)
Programs: Simple arrays,
max-min,
palindrome,
array
concepts, screen
decorator
5. Pointers (Basic Pointers,
Pointers and
Arrays, Parameters and
Strings)
Programs: Pointer
basics, Swap
Integers, Arrays-Pointers,
Pointer
Arithmetic,
String
Handling
6. Sorting and Searching: (Sorting)
Programs: Insertion
Sort, Selection
Sort, Merge Sort,
Partition,
Quick
Sort
7. Structures, Unions, and
Enumerations (slides)
Programs: Example
with structures, Unions, Structure
union comparison, Enums
8. File Handling and the Command Line
(slides) : File reading,
File writing
9. Examples: String Swaps, Reading a
paragraph, Calculating
the day of the week,
String swap
advanced
10. Bitwise operations: Swapping with
bitwise operators
11. Minor 2: Sample solutions: 19 bits, array
reversal, current time,
ip address parsing,
raising m^n
12. Linked Lists (slides): heap-stack
(intro. to malloc), train-bogey, stack paranthesis
matching
13. Stacks:
link (with header files, classes, and
with inheritance)
14. Miscellaneous:
Floating-point anomaly, Macros
15. Object-oriented Programming: Rectangle
object, Example
with shapes, Inheritance
and virtual functions