UES103

UES103: Programming for Problem Solving

Course Objectives: This course is designed to solve and explore the problems using the art of computer programming with the help of C Language. Students will be able to apply these problem-solving concepts in real life applications.

Syllabus (Blue text is tentative syllabus for MST – mid semester test)

Introduction to Computer Fundamentals- Computer Memory Hierarchy, Types of Software Binary number system, Algorithm, Flowchart, Formulate simple algorithms for logical and arithmetic problems.

Basics of C Programming: Structure and Life cycle of a C Program, Data types, Identifiers, Variables, Keywords, Constants, input/output statements, Operators, Type conversion and type casting. Translate the algorithms to code snippets.

Decision Making and Iterative Statements- Decision making- if, if-else, Nested if- else, Multiple if, else if, switch, Ternary Operator, Loops- (while, do-while, for), Nesting of Loops, break, continue and goto. Implement the switch () to solve the basic functions of scientific calculator.

Functions: Function prototype, Definition and Call, Type of Functions, Scope of variables in (Block, Function, Program, File), Storage classes (Auto, Register, Static and Extern), Recursion (with the introduction of Stack), Implementation of recursion to solve the problem of Tower of Hanoi.

Arrays and Strings- One-dimensional array its operations (Traversal, Linear Search, Insertion, Deletion, Bubble Sort), Two-dimensional and its operations (Addition, Transpose and Multiplication), Passing of array into a function (row and entire array), Input and output of a string, string inbuilt functions, 2-D Character array.

Pointers: Introduction to Pointers, Pointer arithmetic, Passing arguments to a function using pointer (understanding of call by value and call by reference), Accessing arrays using pointers Dynamic memory allocation (malloc(), calloc(), realloc() and free()), Pointer and Functions.

Structures and Union: Structure declaration, Initialization of structures, Structure variables, Accessing structure elements using (.) operator, Array of structure variables, Passing structure variable to a function (individual and entire structure), Structure pointer, Comparison of Structure and Union.

File Handling: Introduction of Files (streams in C), using File (Declaring, Opening and Closing), Operations on File (Reading, Writing and appending), and Random Access of a file, command line argument.

Laboratory Work

To implement programs for various kinds of real life applications in C Language.

Course Learning Outcomes (CLOs) /Course Objectives (COs):

On completion of this course, the students will be able to:

1. Analyse the control and iterative statements to solve the problems with C language source codes.

2. Design and create programs for problem solving involving arrays and strings.

3. Comprehend the concept of function involving function prototype, function call and function definition.

4. Evaluate and analyse the programming concepts based on user defined data types and file handling using C language.

 

Text Books

(i) C Programming Language, Brian W. Kernighan Dennis M. Ritchie, 2nd ed, 2012. (ii)  Programming in ANSI C, Balagurusamy G., 8th ed., 2019

Reference Books

(i) Let Us C, Kanetkar Y., 16th ed., 2017 (ii)  Programming with C, Byron S Gottfried, McGraw Hill Education, Forth edition, 2018


Evaluation Scheme:

S. No.             Evaluation Elements                                                                         Weightage (%)

1                      MST                                                                                                               30

2                      EST                                                                                                                 40

3                      Sessional (Two lab evaluations)                                            15+15 = 30