0% found this document useful (0 votes)
16 views10 pages

C Cho

The document outlines the course plan for 'Fundamentals of C Programming' at Chitkara University, detailing objectives, learning outcomes, recommended books, and instructional resources. The course aims to impart knowledge of C programming, covering topics such as variables, control statements, functions, and pointers, with a mix of theory and lab sessions. It is designed for Bachelor of Engineering students in Computer Science & Engineering, scheduled from January 2025 to June 2025.

Uploaded by

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

C Cho

The document outlines the course plan for 'Fundamentals of C Programming' at Chitkara University, detailing objectives, learning outcomes, recommended books, and instructional resources. The course aims to impart knowledge of C programming, covering topics such as variables, control statements, functions, and pointers, with a mix of theory and lab sessions. It is designed for Bachelor of Engineering students in Computer Science & Engineering, scheduled from January 2025 to June 2025.

Uploaded by

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

Course Plan: Fundamentals of C Programming

Course Handout
Institute/School Name Chitkara University Institute of Engineering and Technology
Department Name Department of Computer Science & Engineering
Programme Name Bachelor of Engineering (B.E.), Computer Science & Engineering
Fundamentals of C Programming Session Jan 2025- Jun-2025
Course Name

Course Code 24CSE0107 Semester/Batch 2nd/ 2024


L-T-P(Per Week) 2-0-4 Course Credits 4
Pre-requisite N/A NHEQF Level 4.5
Course Coordinator Dr. Gaganpreet Kaur SDG Number 4, 9

1. Objectives of the Course

C programming is a powerful, general-purpose, high-performance programming language. It is a compiled, statically-typed


language known for its efficiency and close interaction with hardware. C is widely used in system programming, embedded
systems, and application development. Its portability allows code to run on various platforms, making it a preferred choice for
building operating systems and other performance-critical applications. This course provides a wide scope of learning &
understanding of C programming. The main objectives of the course are:
• To impart knowledge about the different problem solving aspects including general problem solvingstrategies
and working backwards from solution.
• To expose students to the concepts like variables, identifiers, data types, basic input/output, operatorsetc. for
C-Language
• To provide skills to use different control statement (sequential, conditional and iterative), the conceptsof
pointers and functions for logic building.
• To enable learners to assess the lifecycles of different identifiers by providing the knowledge aboutdifferent
storage structures and array implementations.
• To create efficient programming solutions in common engineering design situations.

2. Course Learning Outcomes (CLOs)

CLOs Program Outcomes (PO) NHEQF Level No. of


Descriptor Lectures
CLO01 Understand C-Language features and basics PO1, PO2, PO3, PO5, PO12 Q1, Q3, Q6 7
of problem solving aspects for logic building.
CLO02 Use of variables, data types, identifiers, PO1, PO3, PO4, PO5 Q1, Q2 13
different operators and expressions
CLO03 Apply conditional statements, switch case PO1, PO2, PO3, PO4, PO5, PO7, Q3, Q6 22
statements and iterative statementsas flow PO11
controls in C-Language to solve complex
problems.
CLO04 Implement functions, recursion to solve PO3, PO4, PO5, P12 Q3 13
complex problems and observe the use of
storage classes in C-language.
CLO05 Use pointers and one/two dimensionalarrays PO4, PO5 Q1, Q2 26
to store and retreive data items in C-
language.
CLO06 Develop real-world applications using the C PO1, PO2, PO3, PO4, PO5, PO7, Q3, Q6 9
(Only for Programming concepts. PO11, P12
lab
component)
Total Contact Hours 90

CLO-PO Mapping

Page 1 of 10
<<24CSE0107/Fundamentals of C Programming>>
Course Plan: Fundamentals of C Programming

CLO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Type of
Assessment’s
CLO01 H M M H M Formative,Summative

CLO02 M M H M Formative,Summative

CLO03 L M H M M L L Formative,Summative
CLO04 L M H M Formative,Summative
CLO05 L H Formative,Summative

CLO06 L M H M M L H M Formative

H=High, M=Medium, L=Low


3. Recommended Books:

B01: Kanetkar, Yashwant, "Let us C", New Delhi BPB Publication 2019. 17th Edition.
B02: E. Balagurusamy,"Programming in ANSI C", McGraw Hill Education India, 2019, Edition-8
B03: Reema Thareja, " Computer Fundamentals and Programming in C", Oxford University Press, 2016, 2nd Edition
B04: Schildt, Herbert, "C: The Complete Reference", McGraw Hill Education (New Delhi), 2018, 4th Edition
B05: Kernighan,Brian W.and Ritchie,Dennis M, "The C Programming Language", Pearson Education (New Delhi), 2007, 2nd Edition
B06: E. Balagurusamy,"Fundamentals of Computers", McGraw Hill Education India, 2011, Edition-6

4. Other readings and relevant websites:

Serial No Link of Journals, Magazines, websites and Research Papers


1. https://nptel.ac.in/courses/106106210
2. https://www.coursera.org/specializations/c-programming
3. https://www.coursera.org/learn/c-for-everyone
4. https://ocw.mit.edu/courses/6-087-practical-programming-in-c-january-iap-2010/
5. https://ocw.mit.edu/courses/6-s096-introduction-to-c-and-c-january-iap-2013/
6. https://catalogue.library.cern/literature/t50vw-6at59

5. Recommended Tools and Platforms

Code Blocks, GCC Compiler

6. Course Plan: Theory+ Lab Plan


Theory Plan

Lect. No. Topic(s)


1-4 The Problem Solving Aspect: Problem definition phase, Getting started on a problem, The use of
specific examples Similarities among problems, General Problem solvingstrategies.
5-8 Introduction to programming in C: First Program in C, Variables and Identifiers, Data types, Basic
Input Output in C: Characters, Basic Input Output in C: Formatted IO
9-10 Operators in C:Arithmetic Operators, Relational and Logical Operators, More Operators, Precedence
and Associativity of operators
11-15 Conditional Statements: If statement, if-else statement, if statement mistakes, nested ifstatements
Conditional Operator, Switch statement
16-18 Loops in C: While loop, Looping - For loop, Control with break and continue, Variants of for
loop
ST1( Lect No. 1-18)
19-20 More on Loops: Nested for loops , Printing patterns with loops, do-while loop
21-22 Introduction to recursion: Recursion basic programs like:factorial, Fibonacci, sum of digits
23-25 Functions in C: Definition and declaration of a function, Scope of a function
26-27 Storage Classes in C: Auto storage class, extern storage class, static storage class, register storage
class
28-30 Pointer in C: Introduction to Pointers in C, Parameter passing techniques,Pointer Arithmetic in C,
Pointer Arithmetic with Pointers
31-33 Array in C: Arrays, Searching an Element, Arrays and Memory in C
ST2( Lect No. 19-33)

Page 2 of 10
<<24CSE0107/Fundamentals of C Programming>>
Course Plan: Fundamentals of C Programming

34-38 Array & Pointer: Pointers with Arrays, Functions and Arrays, 2D Arrays, Understand memory
allocation using memory management functions.
39-40 Strings in C: Declaring and Initializing String Variables, Reading and Writing Strings to Screen,
Arithmetic Operations on Characters, String-handling Functions, Example Programs (with and without
using built-in string functions)
ST3 (Lect No. 1-40)
41-45 Structures in C:Introduction, Defining a structure, Declaring structure variables, Accessing structure
members, Structure initialization, Array of structures, Array within structure

Lab Plan

Lab No. Topic(s)


Install C compiler (GCC/Code::Blocks), set up IDE, compile and run the first "Hello, World!"
1-2
program, and understand the process of compiling and debugging a C program
Work with variables, identifiers, and data types in C. Learn how to declare and initialize different types
3-4
of variables (int, float, char). Practice using basic input and output functions (scanf, printf).
Practice formatted input/output in C: Focus on using various format specifiers with printf and scanf for
5-6
different data types. Understand how to handle simple user inputs and outputs in real-world scenarios.
Understand and apply arithmetic, relational, and logical operators in C. Focus on using operators to
7-8 manipulate data and make decisions based on conditions. Practice with different types of expressions
and operator precedence.
Explore more operators in C, such as bitwise operators, increment/decrement operators. Focus on
9-10 solving problems involving complex expressions, ensuring the proper use of operator precedence and
associativity.
Work with conditional statements in C: if, else, else if. Solve problems that involve simple decision-
11-12
making based on conditions, with multiple branches and nested conditions.
Use the conditional operator (?:) to write concise conditional expressions. Understand the syntax and
13-14 when to use switch statements effectively. Explore real-world use cases like menu selection or simple
decision trees.
Work with while, for, and do-while loops. Focus on using loops to repeat tasks and solve problems
15-16
involving iterative calculations.
Focus on nested loops and use them to solve problems that involve multiple iterations or iterations
17-18
within iterations (e.g., printing patterns). Practice controlling loop execution with break and continue.
Solve problems using do-while loops. Explore scenarios where a loop needs to execute at least once
19-20
before checking a condition (e.g., menu-driven programs).
Explore recursion in C. Understand the concept of recursion and how to write recursive functions.
21-22 Practice solving problems using recursion, and explore how recursion works with function calls and
base cases.
Learn to define and call functions in C. Understand function parameters, return values, and scope.
23-24 Practice using functions for modularizing code and organizing programs logically. Solve problems that
require multiple function calls.
Understand and implement storage classes (auto, extern, static, register). Focus on how storage classes
25-26 affect variable scope, lifetime, and visibility. Practice writing programs that demonstrate the use of
different storage classes.
Understand the basics of pointers in C. Practice using pointers to reference variables, manipulate
27-28 memory, and perform address-based operations. Focus on pointer initialization, dereferencing, and
pointer arithmetic.
Learn to use pointers with arrays to access and manipulate array elements. Explore pointer arithmetic
29-30
for array indexing and solving problems involving arrays and memory.
Implement functions that accept and return pointers. Focus on passing arrays to functions via pointers,
31-32
modifying data using pointers, and understanding pointer-to-pointer operations.
Work with 2D arrays in C. Learn how to declare, initialize, and access 2D arrays. Practice
33-34
manipulating 2D arrays using loops and implement problems that require working with matrices.
Understand memory allocation using memory management functions. Practice allocating and
35-36
deallocating memory during runtime, and solve problems.
Learn to write example programs using strings in C, both with and without built-in string functions.
Practice declaring and initializing string variables, reading strings, and performing operations like
37-40
concatenation and comparison. Explore string-handling functions for efficiency and implement custom
logic for tasks like reversing strings or counting characters.
40-45 Learn the fundamentals of structures in C, starting with their introduction and how to define a structure.

Page 3 of 10
<<24CSE0107/Fundamentals of C Programming>>
Course Plan: Fundamentals of C Programming

Focus on declaring structure variables, accessing structure members, and initializing structures.
Practice creating arrays of structures and explore advanced concepts like arrays within structures.
Implement real-world examples to understand their applications in data organization.

7. Delivery/Instructional Resources Theory


Plan:
Lect. Topics CLO Book No, CH TLM7 ALM8 Web References Audio-Video
No. No, Page No
1-4 The Problem Solving CLO01 B06, CH 13, Lecture Quiz https://www.coursera. https://archive.nptel.ac
Aspect, Problem Page no 332- org/specializations/c- .in/courses/106/106/10
definition phase, 351 programming 6106210/
Getting started on a
problem, The use of
specific examples
Similarities among
problems, General
Problem solving
strategies
5 Introduction to CLO01 B01, CH 1, Page Lecture Test https://www.coursera. https://nptel.ac.in/c
programming in C, no 10-15 questions org/learn/c-for- ourses/106106210
First Program in C everyone
6-8 Variables and CLO02 B01, CH 1, Page Lecture Quiz, Brain https://www.coursera. https://archive.nptel.ac
Identifiers, Data types, no 6-12 storming org/learn/c-for- .in/courses/106/106/10
Basic Input Output in sessions everyone 6106210/
B01, CH 11,
C - Characters, Basic Page no 351-362 https://ocw.mit.edu/co
Input Output in C - urses/6-087-practical-
Formatted IO programming-in-c-
january-iap-
2010/pages/calendar/
9-10 Arithmetic Operators, CLO02 B01, CH 2, Page Lecture Quiz, Test https://www.coursera. https://archive.nptel.ac
Relational and Logical no 21-32 questions org/learn/c-for- .in/courses/106/106/10
Operators, More everyone 6106210/
Operators, Precedence https://ocw.mit.edu/co
and Associativity of urses/6-087-practical-
operators programming-in-c-
january-iap-
2010/pages/calendar/
11-13 If statement, if-else CLO03 B01, CH 3, Page Lecture Peer review, https://www.coursera. https://archive.nptel.ac
statement, if statement no 39-50 quiz org/learn/c-for- .in/courses/106/106/10
mistakes, nested if everyone 6106210/
statements
14-15 Conditional Operator, CLO03 B01, CH 4, Page Lecture Quiz, https://www.coursera. https://archive.nptel.ac
Switch statement no 57-66 Puzzles org/learn/c-for- .in/courses/106/106/10
everyone 6106210/
B01, CH 7, Page
no 117-126

16-18 While loop, Looping - CLO03 B01, CH 5, Page Lecture Brain https://www.coursera. https://archive.nptel.ac
For loop, Control with no 81-88 storming org/learn/c-for- .in/courses/106/106/10
break and continue, sessions, everyone 6106210/
B01, CH 6, Page
Variants of for loop no 95-104 Tests

19-20 Nested for loops , CLO03 B01, CH 6, Page Lecture Test https://www.coursera. https://archive.nptel.ac
Printing patterns with no 102-107 questions, org/learn/c-for- .in/courses/106/106/10
loops, do-while loop Quiz everyone 6106210/
https://archive.nptel.ac
.in/courses/106/104/10
6104128/
21-22 Introduction to CLO03 B01, CH 10, Lecture Brain https://www.coursera. https://archive.nptel.ac
recursion, Recursion Page no 173-181 storming org/specializations/c- .in/courses/106/106/10
basic programs like: sessions, programming 6106210/
factorial, Fibonacci, Peer review https://www.coursera. https://archive.nptel.ac
sum of digits org/learn/c-for- .in/courses/106/104/10
everyone 6104128/

Page 4 of 10
<<24CSE0107/Fundamentals of C Programming>>
Course Plan: Fundamentals of C Programming

23-25 Functions in C, CLO04 B01, CH 7, Page Lecture Test https://www.coursera. https://archive.nptel.ac


Definition and no 135-149 questions org/learn/c-for- .in/courses/106/106/10
declaration of a everyone 6106210/
function, Scope of a https://archive.nptel.ac
function .in/courses/106/104/10
6104128/
26-27 Auto storage class, CLO04 B01, CH 11, Lecture Puzzles, https://www.coursera. https://archive.nptel.ac
extern storage class, Page no 192-198 Test org/learn/c-for- .in/courses/106/104/10
static storage class, questions everyone 6104128/
register storage class
28-30 Introduction to CLO05 B01, CH 9, Page Lecture Quiz, Brain https://www.coursera. https://archive.nptel.ac
Pointers in C, no 157-167 storming org/specializations/c- .in/courses/106/104/10
Parameter passing sessions programming 6104128/
techniques, Pointer https://www.coursera.
Arithmetic in C, org/learn/c-for-
Pointer Arithmetic everyone
with Pointers

31-33 Arrays, Searching an CLO05 B01, CH 13, Lecture Test https://www.coursera. https://archive.nptel.ac
Element, Arrays and Page no 239-245 questions org/specializations/c- .in/courses/106/106/10
Memory in C programming 6106210/
https://www.coursera. https://archive.nptel.ac
org/learn/c-for- .in/courses/106/104/10
everyone 6104128/
34-37 Pointers with Arrays, CLO05 B01, CH 13, Lecture Quiz, Test https://www.coursera. https://archive.nptel.ac
Functions and Arrays Page no 247-255 questions org/specializations/c- .in/courses/106/104/10
programming 6104128/
https://www.coursera.
org/learn/c-for-
everyone
38 2D Arrays CLO05 B01, CH 14, Lecture Quiz https://www.coursera. https://archive.nptel.ac
Page no 267-274 org/learn/c-for- .in/courses/106/106/10
everyone 6106210/
39-40 Declaring and CLO05 B01, CH 15, Lecture Test https://ocw.mit.edu/co https://archive.nptel.ac
Initializing String Page no 296-310 questions urses/ .in/c
Variables, Reading and 6-087-practical- ours
Writing Strings to programming-in-c- es/106/105/106105171
Screen, Arithmetic january- /Lecture-35
Operations on iap-2010/
Characters, String-
handling Functions
41-45 Introduction, Defining CLO05 B01, Ch. 16, Pg. Lecture Test https://ocw.mit.edu/co https://archive.nptel.ac
a structure, Declaring 334-348 questions urses/ .in/cour
structure variables, 6-087-practical- ses/106/105/10610523
Accessing structure programming-in-c- 4/
members, Structure january-
initialization, Array of iap-
structures, Array 2010/resources/mit6_0
within structure 87ia
p10_lec06/
Lab Plan:

Lab Experiment CLO TLM7 ALM8 Web References Audio-Video


No.
Install C compiler CLO01 Demonstration Quiz, Group https://www.geeksfor https://archive.nptel.ac.
(GCC/Code:Blocks), set up method using a discussion geeks.org/compiling- in/courses/106/106/106
IDE, compile and run the first simulation tool a-c-program-behind- 106210/
"Hello, World!" program, and the-scenes/
1-2
understand the process of
compiling and debugging a C
program. Introduction to basic
problem-solving strategies.
Work with variables, identifiers, CLO02 Demonstration Quiz, Group https://unstop.com/blo https://nptel.ac.in/c
and data types in C. Learn how method using a discussion g/variables-in-c ourses/106106210
3-4 to declare and initialize different simulation tool https://www.coursera.
types of variables (int, float, org/learn/c-for-
char). Practice using basic input everyone

Page 5 of 10
<<24CSE0107/Fundamentals of C Programming>>
Course Plan: Fundamentals of C Programming

and output functions (scanf,


printf).
Practice formatted input/output CLO02 Discussion Quiz, Flowcharts, https://www.coursera. https://nptel.ac.in/c
in C. Focus on using various PPTs org/specializations/c- ourses/106106210
format specifiers with printf and programming
5-6 scanf for different data types.
Understand how to handle
simple user inputs and outputs
in real-world scenarios.
Understand and apply CLO02 Lecture Test questions https://www.coursera. https://nptel.ac.in/c
arithmetic, relational, and org/learn/c-for- ourses/106106210
logical operators in C. Focus on everyone
using operators to manipulate
7-8
data and make decisions based
on conditions. Practice with
different types of expressions
and operator precedence.
Explore more operators in C, CLO02 Lecture Test questions https://www.geeksfor https://nptel.ac.in/c
such as bitwise operators, geeks.org/operator- ourses/106106210
increment/decrement operators. precedence-and-
Focus on solving problems associativity-in-c/
9-10
involving complex expressions,
ensuring the proper use of
operator precedence and
associativity.
Work with conditional CLO03 Demonstration Quiz, Group https://www.coursera. https://nptel.ac.in/c
statements in C: if, else, else if. method using a discussion org/learn/c-for- ourses/106106210
Solve problems that involve simulation tool everyone
11-12
simple decision-making based
on conditions, with multiple
branches and nested conditions.
Use the conditional operator (?:) CLO03 Discussion Quiz, PPTs https://www.geeksfor https://nptel.ac.in/c
to write concise conditional geeks.org/conditional- ourses/106106210
expressions. Understand the statements-in-
syntax and when to use switch programming/
13-14
statements effectively. Explore
real-world use cases like menu
selection or simple decision
trees.
CLO03 Demonstration Quiz, Group https://www.coursera. https://nptel.ac.in/c
method using a discussion org/learn/c-for- ourses/106106210
Work with while, for, and do- simulation tool everyone
while loops. Focus on using https://openclassroom
15-16 loops to repeat tasks and solve s.com/en/courses/690
problems involving iterative 2811-learn-python-
calculations. basics/7090826-
easily-repeat-tasks-
using-loops
CLO03 Lecture Test questions https://www.coursera. https://nptel.ac.in/c
Focus on nested loops and use org/learn/c-for- ourses/106106210
them to solve problems that everyone
involve multiple iterations or https://openclassroom
17-18 iterations within iterations (e.g., s.com/en/courses/690
printing patterns). Practice 2811-learn-python-
controlling loop execution with basics/7090826-
break and continue. easily-repeat-tasks-
using-loops
Solve problems using do-while CLO03 Demonstration Quiz, Test https://www.coursera. https://nptel.ac.in/c
loops. Explore scenarios where method using a questions org/learn/c-for- ourses/106106210
a loop needs to execute at least simulation tool everyone
19-20
once before checking a
condition (e.g., menu-driven
programs).
Solve problems using recursion. CLO06 Lecture Test questions https://www.coursera. https://nptel.ac.in/c
Focus on recursive problem- org/learn/c-for- ourses/106106210
21-22
solving techniques, such as everyone
breaking problems into smaller

Page 6 of 10
<<24CSE0107/Fundamentals of C Programming>>
Course Plan: Fundamentals of C Programming

sub-problems. Understand how


recursive calls work in the call
stack and learn to optimize
recursive solutions.
Learn to define and call CLO04 Lecture Test questions https://www.coursera. https://nptel.ac.in/c
functions in C. Understand org/learn/c-for- ourses/106106210
function parameters, return everyone
values, and scope. Practice using
23-24
functions for modularizing code
and organizing programs
logically. Solve problems that
require multiple function calls.
Explore recursion in C. CLO04 Demonstration Test questions, https://www.coursera. https://nptel.ac.in/c
Understand the concept of method using a Brain storming org/learn/c-for- ourses/106106210
recursion and how to write simulation tool sessions everyone
recursive functions. Practice https://www.javatpoin
25-26
solving problems using t.com/recursion-in-c
recursion, and explore how
recursion works with function
calls and base cases.
Understand and implement CLO04 Lecture Test questions https://www.coursera. https://nptel.ac.in/c
storage classes (auto, extern, org/learn/c-for- ourses/106106210
static, register). Focus on how everyone
storage classes affect variable
27-28
scope, lifetime, and visibility.
Practice writing programs that
demonstrate the use of different
storage classes.
Understand the basics of pointers CLO05 Lecture Test questions, https://www.coursera. https://archive.nptel.ac.
in C. Practice using pointers to Quiz org/learn/c-for- in/courses/106/104/106
reference variables, manipulate everyone 104128/
memory, and perform address-
29-30
based operations. Focus on
pointer initialization,
dereferencing, and pointer
arithmetic.
CLO05 Discussion Test questions https://www.coursera. https://archive.nptel.ac.
Learn to use pointers with arrays org/learn/c-for- in/courses/106/104/106
to access and manipulate array everyone 104128/
elements. Explore pointer https://www.oreilly.co
31-32
arithmetic for array indexing and m/library/view/unders
solving problems involving tanding-and-
arrays and memory. using/9781449344535
/ch04.html
Implement functions that accept CLO04 Demonstration Quiz, Group https://www.coursera. https://nptel.ac.in/cours
and return pointers. Focus on method using a discussion org/learn/c-for- es/106106210
passing arrays to functions via simulation tool everyone
33-34
pointers, modifying data using
pointers, and understanding
pointer-to-pointer operations.
CLO05 Demonstration Quiz, Group https://www.coursera. https://nptel.ac.in/cours
Work with 2D arrays in C. Learn
method using a discussion org/learn/c-for- es/106106210
how to declare, initialize, and
simulation tool everyone
access 2D arrays. Practice
https://www.oreilly.co
35-38 manipulating 2D arrays using
m/library/view/unders
loops and implement problems
tanding-and-
that require working with
using/9781449344535
matrices.
/ch04.html
Learn to write example programs CLO06 Discussion Test questions https://ocw.mit.edu/co https://archive.nptel.ac.
using strings in C, both with and urses/6-087-practical- in/courses/106/105/106
without built-in string functions. programming-in-c- 105171/
Practice declaring and january-iap-
39-40 initializing string variables, 2010/resources/mit6_0
reading strings, and performing 87iap10_lec07/
operations like concatenation
and comparison. Explore string-
handling functions for efficiency

Page 7 of 10
<<24CSE0107/Fundamentals of C Programming>>
Course Plan: Fundamentals of C Programming

and implement custom logic for


tasks like reversing strings or
counting characters.
Learn the fundamentals of CLO06 Discussion Test questions https://ocw.mit.edu/co https://archive.nptel.ac.
structures in C, starting with their urses/6-087-practical- in/courses/106/105/106
introduction and how to define a programming-in-c- 105171/
structure. Focus on declaring january-iap-
structure variables, accessing 2010/resources/mit6_0
structure members, and 87iap10_lec06/
41-45 initializing structures. Practice
creating arrays of structures and
explore advanced concepts like
arrays within structures.
Implement real-world examples
to understand their applications
in data organization.

8. Remedial Classes

After every Sessional Test, different types of learners will be identified and special discussions will be planned and scheduled
accordingly.

Action Plan for different types of learners:

Learner Type-I Learner Type- II Learner Type- III


Remedial Classes, Doubt Sessions, Guided Workshop, Doubt Session Coding Competitions, Project
Tutorials

9. Self-Learning
Assignments to promote self-learning, survey of contents from multiple sources.

S.No Topics CLO ALM8 References/MOOCS


1. Data types in C, Basic CLO01, CLO02 Think – Pair- Share, https://archive.nptel.ac.in/cour
input/ output functions. Peer Review ses/106/106/106106210/

https://www.coursera.org/lear
n/c-for-everyone
https://ocw.mit.edu/courses/6-
087-practical-programming-in-
c-january-iap-
2010/pages/calendar/
2. Conditional CLO03, CLO04 Think – Pair- Share, Brain https://archive.nptel.ac.in/cour
Statements, Iterations and Storming sessions ses/106/106/106106210/
Functions
https://www.coursera.org/learn
/c-for-everyone

10. Delivery Details of Content Beyond Syllabus


Content beyond syllabus covered (if any) should be delivered to all students that would be planned, and schedule notified accordingly.

Advanced Topics,
S.No
Additional Reading, CLO POs ALM8 References/MOOCS
Research papers and
any
1 Learn file handling in C. CLO06 PO1, PO3, PO4, PO5, Think – Pair- Share, https://archive.nptel.ac.i
Focus on opening, PO11 Peer Review n/courses/106/104/1061
reading from, writing to, 04128/
and closing files.

Page 8 of 10
<<24CSE0107/Fundamentals of C Programming>>
Course Plan: Fundamentals of C Programming

11. Evaluation Scheme & Components:

Assessment Evaluation No. of % Weightage of Max. Mode of CLO


Type12 Component9 Type of Assessments11 Component Marks Assessment
Component10
Formative Component 1 Continuous Lab 01* 20% 20 Viva Voce, CLO01- CLO06
Evaluations Practical, and
File
03** 30 Computer CLO01- CLO06
Summative Component 2 Sessional 30%
Tests Based Test
(STs) (CBT)
Summative Component 3 End Term 01*** 50% 50 CBT CLO01- CLO06
Examination
Total 100%

Note: * Continues Evaluation (CE) is a mandatory evaluation taken once in a semester.


** Best two out of three ST will be considered and average marks will be taken for further processing.
***As per academic guidelines, a minimum of 75% attendance is required to appear in the end-of-semester examination.
.
12. Syllabus of the Course:

Subject: Fundamentals of C Programming


No. of
S.No. Topic (s) Weightage %
Sessions
1 The Problem Solving Aspect, Problem definition phase, Getting 18 40%
started on a problem, The use of specific examples Similarities
among problems, General Problem solving strategies. Introduction
to programming in C, First Program in C, Variables and Identifiers,
Data types, Basic Input Output in C - Characters,Basic Input Output
in C - Formatted IO. Arithmetic Operators, Relational and Logical
Operators, More Operators, Precedence and Associativity of
operators. If statement, if-else statement, if statement mistakes,
nested if statements. Conditional Operator, Switch statement, While
loop, Looping - For loop, Control with break and continue, Variants
of for loop.
ST-1 (Covering 40% syllabus, Lect. No. 1-18)
2 Nested for loops, Printing patterns with loops, do-while loop, 15 33%
Introduction to recursion: Recursion basic programs like:factorial,
Fibonacci, sum of digits, Functions in c, Definition and declaration
of a function, Scope of a function. Auto storage class, extern storage
class, static storage class, register storage class. Introduction to
Pointers in C, Parameter passing techniques, Pointer Arithmetic in
C,Pointer Arithmetic with Pointers. Arrays, Searching an Element,
Arrays and Memory in C.
ST-2 (Covering 33% syllabus, Lect. No. 19-33))
3 Pointers with Arrays, Functions and Arrays, 2D Arrays, memory 07 16%
allocation using memory management functions, Declaring and
Initializing String Variables, Reading and Writing Strings to Screen,
Arithmetic Operations on Characters, String-handling Functions,
Example Programs (with and without using built-in string functions),
ST-3 (Covering 89% syllabus, Lect. No. 1- 40))
4 Introduction, Defining a structure, Declaring structure variables, 05 11%
Accessing structure members, Structure initialization, Array of
structures, Array within structure.
End Term (Covering (40%+33 %+16 %+ 11%)=100% syllabus)

13. Academic Integrity Policy:

Education at Chitkara University builds on the principle that excellence requires freedom where Honesty and integrity are its prerequisites. Academic
honesty in the advancement of knowledge requires that all students and Faculty respect the integrity of one another' s work and recognize the importance
of acknowledging and safeguarding intellectual property. Any breach of the same will be tantamount to severe academic penalties.

Page 9 of 10
<<24CSE0107/Fundamentals of C Programming>>

You might also like