Problem Solving Techniques F
Problem Solving Techniques F
Semester: I L T P C
3 0 0 3
Course Objectives:
To understand the various steps in program development.
To learn the syntax and semantics of programming languages.
To learn the uses of structured programming approach in solving programs.
Unit Content Hours
Computer Problem Solving: Evolution of programming, languages – Introduction to
machine level language, Assembly language and Higher level languages.
1 Programing Life Cycle , Understanding the Problem Statement, Planning Program design 8
using Hierarchy charts, Expressing Program logic using flowcharts /Pseudocode, Coding
using a programing language such as ‘C’/’Python’, Documenting, Compiling, Debugging
and Executing.
Algorithm Development: Definition, Algorithm: a solution to a problem, Input-Output
Statements, Decision Making Statements, Looping Statements, Examples.
Flowcharting: Definition, Input-Output Statements, Decision Making Statements,
2 Looping Statements, Module representation, Drawing conventions and standards, 8
Example.
Debugging: Bug, errors : syntax ,semantics and runtime, Compilation, Interoperation,
Program debugging.
Logic Building and Problem Solving Based on Number:
Addition/ Subtraction/ Multiplication/ Division of two numbers, Power of a Number,
3 Prime Number, Reversing a Number, HCF of two numbers, LCM of two numbers. Perfect 8
No, Factor of a number, Strong number, Perfect number, Auto-morphic number, Harshad
number, Abundant number, Friendly pair.
Logic Building and Problem Solving Based on Arrays:
4 Largest element in an array, Smallest Element in an Array, Smallest and largest element 8
in an array, Second Smallest Element in an Array, sum of elements in an array, Reverse
an Array.
Logic Building and Problem Solving Based on Series and patterns:
5 Fibonacci Series, Triangular number series, Square number series, Cube number series, 8
Alphabet Triangle, Number Triangle, Fibonacci Triangle
Course Outcome:
At the end of this course students will demonstrate the ability:
To write algorithms and to draw flowcharts for solving problems.
To code and test a given logic.
To be able to clearly define a problem.
To develop a consistent problem-solving approach