Course Objectives:
To introduce students to the fundamentals of computer programming.
To provide hands-on experience with coding and debugging.
To foster logical thinking and problem-solving skills using programming.
To familiarize students with programming concepts such as data types, control structures, functions, and arrays. To encourage collaborative learning and teamwork in coding projects.
Course Outcomes:
CO1: Understand basics of computers, concept of algorithms and flowcharts. (Understand)
CO2: Understand the features of C language. (Understand)
CO3: Interpret the problem and develop an algorithm to solve it. (Apply)
CO4: Implement various algorithms using the C programming language. (Apply)
CO5: Develop skills required for problem-solving and optimizing the code (Apply)
UNIT I
Introduction to Programming and Problem Solving History of Computers, Basic organization of a computer: ALU, input-output units, memory, program counter, Introduction to Programming Languages, Basics of a Computer Program- Algorithms, flowcharts (Using Dia Tool), pseudo code. Introduction to Compilation and Execution, Primitive Data Types, Variables, and Constants, Basic Input and Output, Operations, Type Conversion, and Casting.
Problem solving techniques: Algorithmic approach, characteristics of algorithm, Problem solving strategies: Top-down approach, Bottom-up approach, Time and space complexities of algorithms.
UNIT–II
Control Structures Simple sequential programs Conditional Statements (if, if-else, switch), Loops (for, while, do while) Break and Continue.