Programming For Problem Solving Syllabus
Programming For Problem Solving Syllabus
Course Learning Rationale (CLR): The purpose of learning this course is to: Learning Program Learning Outcomes (PLO)
CLR-1 : Think and evolve a logically to construct an algorithm into a flowchart and a pseudocode that can be programmed 1 2 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CLR-2 : Utilize the logical operators and expressions to solve problems in engineering and real-time
Communication
PSO – 3
PSO - 1
PSO - 2
Ethics
Course Learning Outcomes (CLO): At the end of this course, learners will be able to:
CLO-1 : Identify methods to solve a problem through computer programming. List the basic data types and variables in C 2 85 80 L H H H H - - M M L - H - - -
CLO-2 : Apply the logic operators and expressions. Use loop constructs and recursion. Use array to store and retrieve data 3 85 80 L H H H H - - M M L - H - - -
CLO-3 : Analyze programs that need storage and form single and multi-dimensional arrays. Use preprocessor constructs in C 3 85 80 L H H H H - - M M L - H - - -
CLO-4 : Create user defined functions for mathematical and other logical operations. Use pointer to address memory and data 3 85 80 L H H H H - - M M L - H - - -
CLO-5 : Create structures and unions to represent data constructs. Use files to store and retrieve data 3 85 80 L H H H H - - M M L - H - - -
CLO-6 : Apply programming concepts to solve problems. Learn about how C programming can be effectively used for solutions 3 85 80 L H H H H - - M M L - H - - -
Duration
21 21 21 21 21
(hour)
Initializing Structure, Declaring structure
SLO-1 Evolution of Programming & Languages Relational and logical Operators Initializing and Accessing 2D Array Passing Array Element to Function
variable
S-1
Structure using typedef, Accessing
SLO-2 Problem solving through programming Condition Operators, Operator Precedence Initializing Multidimensional Array Formal and Actual Parameters
members
Expressions with pre / post increment Nested structure
SLO-1 Creating algorithms Array Programs – 2D Advantages of using Functions
operator Accessing elements in a structure array
S-2
Expression with conditional and Array of structure
SLO-2 Drawing flowcharts Array Contiguous Memory Processor Directives and #define Directives
assignment operators Accessing elements in a structure array
SLO-1 Writing pseudocode If statement in expression Array Advantages and Limitations Nested Preprocessor Macro Passing Array of structure to function
S-3
Array construction for real-time application
SLO-2 Evolution of C language, its usage history L value and R value in expression Advantages of using Functions Array of pointers to structures
Common Programming errors
S SLO-1
Lab 1: Algorithm, Flow Chart, Pseudocode Lab 4: Operators and Expressions Lab 7: Arrays - Multidimensional Lab 10: Functions Lab 13: Structures & Unions
4-7 SLO-2
Bit Manipulation to structure and Pointer
SLO-1 Input and output functions: Printf and scanf Control Statements – if and else String Basics Pointers and address operator
to structure
S-8
Size of Pointer Variable and Pointer
SLO-2 Variables and identifiers else if and nested if, switch case String Declaration and Initialization Union Basic and declaration
Operator
Iterations, Conditional and Unconditional String Functions: gets(), puts(), getchar(), Pointer Declaration and dereferencing Accessing Union Members Pointers to
SLO-1 Expressions
branching putchar(), printf() pointers Union
S-9
Dynamic memory allocation, mallaoc,
SLO-2 Single line and multiline comments For loop String Functions: atoi, strlen, strcat, strcmp Void Pointers and size of Void Pointers
realloc, free
String Functions: sprint, sscanf, strrev,
S-10 SLO-1 Constants, Keywords While loop Arithmetic Operations Allocating Dynamic Array
strcpy, strstr, strtok
Learning 1. Zed A Shaw, Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C), Addison Wesley, 2015 3. Bharat Kinariwala, Tep Dobry, Programming in C, eBook
Resources 2. W. Kernighan, Dennis M. Ritchie, The C Programming Language, 2nd ed. Prentice Hall, 1996 4. http://www.c4learn.com/learn-c-programming-language/
Learning Assessment
Continuous Learning Assessment (50% weightage)
Bloom’s Final Examination (50% weightage)
CLA – 1 (10%) CLA – 2 (15%) CLA – 3 (15%) CLA – 4 (10%)#
Level of Thinking
Theory Practice Theory Practice Theory Practice Theory Practice Theory Practice
Remember
Level 1 20% 20% 15% 15% 15% 15% 15% 15% 15% 15%
Understand
Apply
Level 2 20% 20% 20% 20% 20% 20% 20% 20% 20% 20%
Analyze
Evaluate
Level 3 10% 10% 15% 15% 15% 15% 15% 15% 15% 15%
Create
Total 100 % 100 % 100 % 100 % 100 %
# CLA – 4 can be from any combination of these: Assignments, Seminars, Tech Talks, Mini-Projects, Case-Studies, Self-Study, MOOCs, Certifications, Conf. Paper etc.,
Course Designers
Experts from Industry Experts from Higher Technical Institutions Internal Experts
1. Dr. Sainarayanan Gopalakrishnan, HCL Technologies, sai.jgk@gmail.com 1. Prof. Janakiram D, IIT Madras, djram@iitm.ac.in 1. Dr. Christhu Raj M R, SRMIST
2. Dr. Sricharan Srinivasan, Wipro Technologies, sricharanms@gmail.com 2. Dr. Rajeev Sukumaran, IIT Madras, rajeev@wmail.iitm.ac.in 2. Dr. B. Amutha, SRMIST