6 Hours/Week, 3 Credits

Students should be able to solve different easy problems with their analysis using pen and papers and then doing code on computers just like expressing their speech using a language; they should also be able to calculate outputs for different inputs on papers before running the code that will prove their understanding of the logics behind the code. Introduction: Introductory outputs using C. Data Types and Operator: Declaring variables of different data types and doing different types of operations on them, facing problems when internal result of calculation crosses the boundary of a data type. Data Input/Output: Variation and formats of getting input and giving output. Control Statement: Implementation of all types of control statement structures, odd/even test, find max/min from 2/3 numbers, generate grades from marks, floor, ceiling, absolute value, sum of n numbers using loop and calculate average, test prime, generate Fibonacci sequence. Array, String and Nested Looping: Finding the number of students getting marks above average, finding vowel and consonant from a given string, detecting palindrome, counting words of a string, reversing each words of a sentence, using different functions of string.h library, bubble sort, matrix multiplication, Using Library Functions: Functions from stdio.h, math.h, stdlib.h and ctype.h library. Functions: Doing some previous problems using function, implement call by value and call by reference, prime factorization. Recursion: Find Greatest Common Divisor, Fibonacci, Factorial, Tower of Hanoi. Program Structure: Use static and global variable. Pointers: Passing pointer to a function, dynamic memory allocation, arrays of pointers. Structure and Union: Sorting points (first according to x, then according to y), using line segment structure (point structure inside line), using union. File: Opening, closing, creating and processing data files.