0% found this document useful (0 votes)
108 views5 pages

C Programming PDF

The document outlines a course curriculum for 'Problem Solving Technique using C', aimed at undergraduate students, covering fundamental and advanced programming concepts in C. It includes course objectives, contents, learning outcomes, and assessment methods, emphasizing hands-on coding exercises and problem-solving skills. The course is designed to provide a solid foundation in C programming, preparing students for further studies in data structures and algorithms.

Uploaded by

krohit64266
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
108 views5 pages

C Programming PDF

The document outlines a course curriculum for 'Problem Solving Technique using C', aimed at undergraduate students, covering fundamental and advanced programming concepts in C. It includes course objectives, contents, learning outcomes, and assessment methods, emphasizing hands-on coding exercises and problem-solving skills. The course is designed to provide a solid foundation in C programming, preparing students for further studies in data structures and algorithms.

Uploaded by

krohit64266
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Course Curriculum

Course Title: Problem Solving Technique using C L T P/S SW No. of Total


PSDA Credit
Programming Unit
Course Code: TBD 3 0 4 0 0 5

Course Unit: 5
Course Level: UG
Syllabus version: I

Course Description:
This course introduces students to the fundamentals of programming using the C language — one of the
most powerful and widely-used programming languages in software development and system
programming. The course covers core programming concepts such as variables, data types, control
structures, functions, arrays, pointers, and structures. It also explores more advanced topics including
file handling, dynamic memory allocation, and modular programming. Through a combination of
lectures, hands-on coding exercises, and projects, students will develop problem-solving skills and the
ability to design, implement, and debug C programs. Emphasis is placed on developing logical thinking,
writing efficient code, and understanding the inner workings of computer programs. By the end of the
course, students will have a solid foundation in C programming and be well-prepared for further studies
in data structures, algorithms, and system-level programming.

Course Objectives:
CO1: Understand Computer System Fundamentals: Introduce the basic components,
software like compilers, linkers, and loaders, data types, operators, control structures (if,
switch, loops), arrays, and strings & file handling in C, preprocessor directives, macros,
and command-line arguments.
CO2: create Algorithmic Thinking: Build problem-solving skills through the creation of
algorithms, flowcharts, and pseudocode, and translate them into structured C programs.
CO3: Apply Advanced Programming Concepts: Introduce functions, recursion, user-
defined data types, pointers, dynamic memory allocation, and basic searching and sorting
algorithms.
CO4: Evaluate: To examine the solution from specification of a problem and write pseudo
code of the algorithm using basic building blocks or structured programming constructs
(Sequence, Selection and Repetition statement).

Pre-Requisites: This is an introductory programming course and hence no prerequisites

Course Contents / Syllabus:


Module-I Fundamentals of Computer Systems and C Programming Weightage Lecture Hours
Basics (%)
Introduction to Components of a Computer System: 15 8
Memory, Processor, I/O Devices, Storage, Operating System,
Concept of Assembler, Compiler, Interpreter, Loader and
Linker.
Idea of Algorithm: Representation of Algorithm, Flowchart,
Pseudo Code with Examples, From Algorithms to Programs,
Source Code.
Programming Basics: Structure of C Program, Writing and
Executing the First C Program, Syntax and Logical Errors in
Compilation, Object and Executable Code. Components of C
Language. Standard I/O in C, Fundamental Data types, Variables
and Memory Locations, Storage Classes
Module-II Data Types Conditional Branching in C 15 7
Arithmetic Expressions and Precedence: Operators and
Expression Using Numeric and Relational Operators, Mixed
Operands, Type Conversion, Logical Operators, Bit Operations,
Assignment Operator, Operator precedence and associatively.
Conditional Branching: Applying if and Switch Statements,
Nesting if and Else and Switch.
Module-III Looping, Arrays in C 25 10
Iteration and Loops: Use of While, do While and for Loops,
Multiple Loop Variables, Use of Break, Goto and Continue
Statements. Arrays: Array Notation and Representation,
Manipulating Array Elements, using Multi-Dimensional Arrays.
Character Arrays and Strings, Structure, union, Enumerated Data
types, Array of Structures, Passing Arrays to Functions.
Module-IV Functions, Recursion, searching and sorting 25 10

Functions: Introduction, Types of Functions, Functions with Array,


Passing Parameters to Functions, Call by Value, Call by Reference,
Recursive Functions. Basic of searching and Sorting Algorithms:
Searching & Sorting Algorithms (Linear Search, Binary search,
Bubble Sort, Insertion and Selection Sort)
. Module-V Pointers, Dynamic Memory, and File Handling in 20 10
C
Pointers: Introduction, Declaration, Applications, Introduction
to Dynamic Memory Allocation (Malloc, Calloc, Realloc, Free),
String and String functions, Use of Pointers in Self-Referential
Structures, Notion of Linked List (No Implementation) File
Handling: File I/O Functions, Standard C Preprocessors,
Defining and Calling Macros and Command-Line Arguments

Course Learning Outcomes (CLOs):


After successful completion of this course, the student will be able to

CLO1: Understand the components of a computer system (memory, processor, I/O devices),
and explain the roles of system software such as compiler, assembler, loader, and linker
CLO2: Apply C programming constructs such as loops, functions, arrays, pointers, and structures
to develop modular and efficient solutions to basic computational problems.
CLO3: Analyze the logic and flow of C programs to identify errors, optimize performance,
and enhance code efficiency and readability
CLO4: Evaluate: To examine the solution from specification of a problem and write pseudo
code of the algorithm using basic building blocks or structured programming
constructs (Sequence, Selection and Repetition statement).

Pedagogy for Course Delivery:


The session will be taught using blended mode, flipped class and practical based methods. In
addition to assigning different programs, the course instructor will spend considerable time in
understanding the concept of innovation assign small projects to students in groups for
implementing the learned concepts.

Assessment/ Examination Scheme:

Theory L/T (%) Lab/Practical/Studio (%) Total

60 40 100

Theory Assessment (L&T):

Continuous Assessment/Internal Assessment End Term


(40 %) Examination
(60%)
Components Viva Class Test Home Attendance
(Drop down) Assignment

Weightage (%) 5 20 10 5 60

Lab/ Practical/ Studio Assessment:

Continuous Assessment/Internal Assessment End Term


(40 %) Examination
(60 %)
Components Class Lab Continuous Internal Attendance Practical Viva
(Drop down Test Record Performance Viva Evaluation
(Practical
based)
Weightage 10 10 10 5 5 40 20
(%)

Problem Solving Techniques: Lab Problems [60 Hr.]

S.No. Experiment Practical Hours


1 Converting degrees Celsius to Fahrenheit and vice versa? 1 hr
2 Display three input numbers in sorted (non-decreasing) order? 2 hr
3 Given a positive integer value n (>= 0) display number, square and cube 2 hr
of numbers from 1 to n in a tabular format?
4 Given an input positive integer number, display odd numbers from in 2 hr
the range [1, n]?
5 Display following patterns of n rows (n > 0), For the below examples n = 3 hr
5? For each pattern write a separate algorithm/program?

1 $ 12345 *****
12 $$ 1234 ****
123 $$$ 123 ***
1234 $$$$ 12 **
12345 $$$$$ 1 *
6 Given the first term (a), difference/multiplier (d) and number of terms (n 2 hr
> 0), display the first n terms of the arithmetic/geometric progression?

7 Compute approximate value of ex considering first n (n > 0) terms of 2 hr


the Taylor series for ex
8 Display the first n (n > 0) terms of the Tribonacci sequence? 2 hr
9 Given two positive integer numbers n1 and n2 check if the numbers 2 hr
are consecutive numbers of the Fibonacci sequence?
10 Compute approximate value of π considering first n (n > 0) terms of 2hr
the Taylor series for π?
11 Display the first n (n > 0) terms of the Fibonacci sequence? 2hr
12 Compute approximate value of sin(x)/cos(x) considering first n (n > 0) 2hr
terms of the Taylor series for sin(x)/cos(x)?
13 Extract digits of an integer number (left to right and right to left)? 2hr
14 Given a sequence of digits form the number composed of the digits. Use 2hr
sentinel-controlled repetition to read the digits followed by -1. For example,
for the input 2 7 3 2 9 -1 the output number is 27329?
15 Check if a given positive integer number is a palindrome or not? 2 hr
16 Compute the sum of a sequence of numbers entered using sentinel- 2 hr
controlled repetition?
17 Compute character grade from the marks (0 ≤ marks ≤ 100) of a subject. 2 hr
Grading Scheme: 80-100: A, 60 - 79: B, 50 - 59: C, 40-49: D, 0-39: F? Solve
this using both else-if ladder and switch case?
18 Check if a given positive integer number is a prime number or not? 2 hr
19 Compute prime factors of a positive integer number? 2 hr
20 Converting a positive integer number (n > 0) from one base (input Base) to 2 hr
another base (output Base) (2 <= input Base, output Base <= 10). Input
number should be validated before converting to make sure the number uses
only digits allowed in the input base?
21 Check if a given positive integer number Armstrong number or not? 1 hr
22 Check if a given positive integer number is a perfect number or not? 1 hr
23 Write a program to display a number in text form. For example, If the 2hr
number is 5432 the output should be “FIVE FOUR THREE TWO”?
24 Check if two positive integer numbers are amicable numbers or not? 2hr
25 Compute b o d y mass index, BMI =weight in KGs/(Height in Meters*Height 2hr
in Meters), Both weight and height values are positive real numbers.
Your program should display BMI value followed by whether the person is
Underweight, Normal, Overweight or Obese using the below ranges:
BMI Values
Underweight: less than 18.5 Normal: >=18.5 and <25
Overweight: >=25 and < 30
Obese: >= 30
26 Design a modular algorithm/program which reads an array of n integer 2hr
elements and outputs mean (average), range (max-min) and mode (most
frequent elements)?
27 Write a recursive program to count the number of digits of a positive 1 hr
integer number?
28 Recursive solutions for the following problems: 4 hr
Factorial of a number?
Display digits of a number from left to right (and right to left)?
Compute xy using only multiplication?
To print a sequence of numbers entered using sentinel-controlled repetition
in reverse order?
29 Design a modular algorithm/program which reads an array of n integer 2hr
elements and outputs median?
30 Write a program for dynamic memory allocation. 3 hr
Mapping Continuous Evaluation components/PSDA with CLOs
SN Bloom’s Level Course Learning Outcomes Class Home Viva
Test Assignment
1 Understand Understand the components of a   
computer system (memory,
processor, I/O devices), and
explain the roles of system
software such as compiler,
assembler, loader, and linker

2 Apply Apply C programming constructs   


such as loops, functions, arrays,
pointers, and structures to develop
modular and efficient solutions to
basic computational problems.

3 Analyze Analyze the logic and flow of C   


programs to identify errors,
optimize performance, and
enhance code efficiency and
readability
4 Evaluate Examine the solution from   
specification of a problem and
write pseudo code of the
algorithm using basic building
blocks or structured programming
constructs (Sequence, Selection
and Repetition statement).
(Create)

Text Book:

 E. Balagurusamy, “Problem Solving through C language”, TMH publication, Fourth Edition,


2008.
 Peter Nortons, “Introduction to Computers”, TMH, Sixth Edition,2006.
 Brian W. Kernighan, Dennis M. Ritchie, “C Programming Language”, 2nd Edition,1988.
 Venkatesh, Nagaraju Y, Practical C Programming for Problem Solving, Khanna
Book Publishing Company, 2024.
 Harvey Deitel and Paul Deitel, C How to Program, 9th edition, Pearson India, 2015.
References Book:

 Brian W. Kernighan and Dennis Ritchie, The C Programming Language, 2nd edition, Pearson,
2015.
 Jeri Hanly and Elliot Koffman, Problem Solving and Program Design in C, 8th edition, Pearson,
2015.

You might also like