Ujjain Engineering College, Ujjain
B.Tech I/II Semester W.e.f. July, 2018
COURSE CONTENTS
CS 1301 Programming for Problem Solving L T P C Max. Marks Min. Marks
Duration 3 Hours 2 1 4 5 70 22
Unit 1
Introduction to Programming :
Introduction to components of a computer system (disks, memory, processor, where a program is stored
and executed, operating system, compilers etc.)
Idea of Algorithm: steps to solve logical and numerical problems. Representation of Algorithm:
Flowchart/Pseudocode with examples.
From algorithms to programs; source code, variables (with data types) variables and memory locations,
Syntax and Logical Errors in compilation, object and executable code.
Unit 2
Arithmetic expressions and precedence
Conditional Branching and Loops
Writing and evaluation of conditionals and consequent branching
Unit 3
Arrays : Arrays (1-D, 2-D), Character arrays and Strings
Basic Algorithms: Searching, Basic Sorting Algorithms (Bubble, Insertion and Selection), Finding roots
of equations, notion of order of complexity through example programs (no formal definition required)
Unit 4
Iteration and loops
Function: Functions (including using built in libraries), Parameter passing in functions, call by value,
Passing arrays to functions: idea of call by reference
Recursion: Recursion, as a different way of solving problems. Example programs, such as Finding
Factorial, Fibonacci series, Ackerman function etc. Quick sort or Merge sort.
Unit 5
Structure: Structures, Defining structures and Array of Structures
Pointers: Idea of pointers, Defining pointers, Use of Pointers in self-referential structures, notion of
linked list (no implementation)
File handling.
Course Outcomes :
The student will learn :
1. To formulate simple algorithms for arithmetic and logical problems.
2. To translate the algorithms to programs (in C language).
3. To test and execute the programs and correct syntax and logical errors.
4. To implement conditional branching, iteration and recursion.
5. To decompose a problem into functions and synthesize a complete program using divide and
conquer approach.
6. To use arrays, pointers and structures to formulate algorithms and programs.
7. To apply programming to solve matrix addition and multiplication problems and searching and
sorting problems.
8. To apply programming to solve simple numerical method problems, namely rot finding of
function, differentiation of function and simple integration.
Contd….2…