# PROGRAMMING AND PROBLEM SOLVING

```NU BCA First Year Syllabus 1st Semester (PPC:104)
Paper Code
: PPC:104
Paper name
: PROGRAMMING AND PROBLEM SOLVING THROUGH ‘C’ LANGUAGE
Objective of the Course
The objectives of this course are to make the student understand programming language,
programming, concepts of Loops, reading a set of Data, stepwise refinement, Functions, Control
structure, Arrays. After completion of this course the student is expected to analyze the real life
problem and write a program in ‘C’ language to solve the problem. The main emphasis of the course
will be on problem solving aspect i.e. developing proper algorithms.
After completion of the course the student will be able to
• Develop efficient algorithms for solving a problem.
• Use the various constructs of a programming language viz. conditional, iteration and recursion.
• Implement the algorithms in “C” language.
• Use simple data structures like arrays, stacks and linked list in solving problems.
• Handling File in “C”.
Teaching Hours (Per
Week)
TH.
(hours)
Pr. (hours)
4
Examination Scheme
Internal
External
Th. (marks)
Th. (marks)
30
70
Lectures
Total
100 (marks)
=
68 Hours
Detailed Syllabus
UNIT I
Introduction to Programming
04 Hrs.
How to develop a program, Algorithms, Flow-charts, Types of Programming Languages,Compiler and
Linker, Testing and Debugging a program, Documentation.
Constants, Variables &amp; Data Types
04 Hrs.
Character set, C Tokens, Identifiers and Keywords, Constants, Variables, Data types,Declaration of
variables, declaration of storage class, assigning values to variables, defining symbolic constants,
declaring a variable as constant, declaring a variable as volatile, overflow and underflow of data.
Operators &amp; Expressions
07 Hrs
Page 1 of 3
NU BCA First Year Syllabus 1st Semester (PPC:104)
Arithmetic operators, Relational, Logical operators, Assignment, increment and decrement
operators, conditional operators, bitwise operators, special operators, arithmetic expressions,
evaluation of arithmetic expressions, precedence of arithmetic expressions, some computational
problems, type conversion in expressions, operator precedence and associativity, mathematical
functions.
Managing Input &amp; output operations
02 Hrs
Reading a character, writing a character, formatted input, formatted output.
UNIT II
Decision Making – Branching &amp; Looping
06 Hrs.
Decision making with IF statement, switch statement, ? : operator, goto statement.
While statement, do-while statement, for statement, Jumps in loops,
Arrays
05 Hrs.
One dimensional array: Array Manipulation, Different operations on one dimensional arrays, two
dimensional array, operations on two dimensional arrays, multi-dimensional array, dynamic arrays.
Handling of Character Strings
05Hrs
Declaring and initializing string variables, reading string from terminal, writing string to screen,
putting strings together, comparison of two strings, string handling functions, table of strings.
UNIT III
Functions
08 Hrs.
Top down approach of problem solving, standard library functions, passing values between
functions, scope rules of functions, calling convention, return type of functions, call by value and call
by reference, recursive functions.
Storage Classes
Scope and extent, Storage Classes in a single source file: auto, extern and static, register,
Structures and Unions
07 Hrs.
Defining a structure, Declaring Structure variables, accessing structure members, structure
initialisation, copying and comparing structure variables, operation on individual members, arrays of
structures, arrays within structures, structures and functions, union, size of structure, bit fields.
UNIT IV
Pointers
09 Hrs.
Understanding pointers, accessing the address of a variable, declaring pointer variables, initialisation
of pointer variables, accessing a variable through its pointer, chain of pointers, pointer expression,
Page 2 of 3
NU BCA First Year Syllabus 1st Semester (PPC:104)
pointer increment and scale factor, pointer and arrays, pointers and character strings, array of
pointers, pointers as function arguments, functions returning pointers, pointers to functions,
pointers and structures.
Dynamic Memory Allocation and Link List
06 Hrs.
Dynamic Memory Allocation, Allocation a Block of memory: malloc, allocating multiple blcoks of
memory: calloc, releasing the used space: free, Altering the size of a block: realloc.
inserting an item, deleting an item, application of linked lists.
UNIT V
File Processing
05 Hrs.
Defining and Opening a file, closing a file, input/output operations on files, error handling during I/O
RECOMMENDED BOOKS
1. E. Balagurusamy, “Programming with ANSI-C”, Fourth Edition,2008, Tata McGraw Hill.
2. R.G. Dromey, “How to solve it by Computer”, Pearson Education, 2008.
3. Kanetkar Y, “Let us C”, BPB Publications, 2007.
4. Hanly J R &amp;Koffman E.B, “Problem Solving and Programm design in C”, PearsonEducation, 2009.