GUJARAT TECHNOLOGICAL UNIVERSITY (GTU)

Competency-focused Outcome-based Green Curriculum-2021 (COGC-2021)

Course Title: Programming In C

Course Code: 4331105
Semester: III

Diploma programme in which this course is offeredSemester in which offered
Electronics and Communication EngineeringThird

1. RATIONALE

C forms the basics of C++, C#, Visual C/C++ etc. which is current requirement in the information technology (IT) and computer science (CS). It is one of the most commonly used programming language in industry by engineers. It is a middle level language which combines features of both the high level and low level language. It is widely used to develop system programming, operating systems, embedded systems. Also, C is used for creating computer applications that are used in writing embedded software/firmware for various micro-controllers based products in electronics, industrial and communications. C is also used in developing verification software, test code and simulators for various applications and hardware products. It is therefore very important for electronic engineers to develop mastery over C language.

2. COMPETENCY

The course should be taught and implemented with the aim to develop different types of skills leading to the achievement of the following competencies:

  • Develop programs in C language.

3. COURSE OUTCOMES (COs)

The practical exercises, the underpinning knowledge and the relevant soft skills associated with this competency are to be developed in the student to display the following COs:

  • Develop algorithm and flowchart for simple problems.

  • Use operators and I/O functions to write C programs.

  • Develop C programs using decision and control statement.

  • Develop C programs using pointer and array operation.

  • Develop C programs using library function and structure.

4. TEACHING AND EXAMINATION SCHEME

Teaching SchemeTeaching SchemeTeaching SchemeTotal CreditsExamination SchemeExamination SchemeExamination SchemeExamination SchemeExamination Scheme
(In Hours)(In Hours)(In Hours)(L+T+P/2)Theory MarksTheory MarksPractical MarksPractical MarksTotal
LTPCCAESECAESEMarks
2023307025*25150

(*): For this practical only course, 25 marks under the practical CA have two components i.e. the assessment of micro-project, which will be done out of 10 marks and the remaining 15 marks are for the assessment of practical

Legends: L -Lecture; T - Tutorial/Teacher Guided Theory Practice; P -Practical; C - Credit, CA -Continuous Assessment; ESE -End Semester Examination.

5. SUGGESTED PRACTICAL EXERCISES

The following practical outcomes (PrOs) that are the sub-components of the COs. Some of the PrOs marked '*' are compulsory, as they are crucial for that particular CO at the 'Precision Level' of Dave's Taxonomy related to 'Psychomotor Domain' .

S. No.Practical Outcomes (PrOs)Unit No.Approx. Hrs. required
1Develop and test a C program to input data and output data using printf() and scanf() functions.I,II2*
2Develop and test minimum 3 C programs using constants, variables and datatypes.I2*
3Develop and test minimum 4 C programs using the enlisted operators: (1) Arithmetic, (2) Logical, (3) Relational, (4) Assignment.II2
4Develop and test minimum 3 C programs using the enlisted operators: Increment , Decrement and Conditional.II2
5Develop and test minimum 3 C programs using the enlisted decision-making statements: (1) Simple if (2) if…else, (3) Nested if.III2*
6Develop and test minimum 3 C programs using the enlisted decision making statements: (1) if…else ladder (2) switch, (3) goto.III2*
7Develop and test minimum 3 C programs using the while loop, do- while loop and for loop.III2*
8Develop and test minimum 3 pattern programs using loop structures.III2*
9Develop and test minimum 2 C programs using break and continue statements.III2
10Develop and test minimum 3 C programs using one dimensional array.IV2*
11Develop and test minimum 2 C programs using two dimensional arrays.IV2*
12Develop and test minimum 2 C programs using Pointers.IV2*
13Develop and test a C program of various inbuilt string functions.V2
14Develop and test a C program to test various library functions.V2
15Develop and test minimum 2 C programs on Structures.V2*
16Develop and test a C program to compute surface area of solar panel and to evaluate power generated from it. Also evaluate the electric bill charge saved by installing solar panel.2*
17Develop a C program to compute cost of installing given solar panel from its surface area.2*
TotalTotalTotal34

Note

  • i. More Practical Exercises can be designed and offered by the respective course teacher to develop the industry relevant skills/outcomes to match the COs. The above table is only a suggestive list .
  • ii. The following are some sample 'Process' and 'Product' related skills(more may be added/deleted depending on the course) that occur in the above listed Practical

Exercises of this course required which are embedded in the COs and ultimately the competency.

S. No.Sample Performance Indicators for the PrOsWeightage in %
1Correctness of algorithm/flowchart/program15
2Readability and documentation of the program/Quality of input and output displayed (messaging and formatting)15
3Code efficiency25
4Debugging ability/Identify coding error in program and interpret the result25
5Program execution/answer to sample questions20
TotalTotal100

6. MAJOR EQUIPMENT/ INSTRUMENTS REQUIRED

This major equipment with broad specifications for the PrOs is a guide to procure them by the administrators to user in uniformity of practicals in all institutions across the state.

S. No.Equipment Name with Broad SpecificationsPrO.No.
1Computer with basic configuration with windows 7 or unix or linux operating systemAll
2C Complier (Borland Turbo C, Tiny C Compiler,CodeBlocks etc.)All

7. AFFECTIVE DOMAIN OUTCOMES

The following sample Affective Domain Outcomes (ADOs) are embedded in many of the above mentioned COs and PrOs. More could be added to fulfill the development of this competency.

  • a) Work as a leader/a team member.
  • b) Follow safety practices while using electrical appliances and computer.
  • c) Practice environmentally friendly methods and processes. (Environment related)
  • d) Follow ethical practices.

The ADOs are best developed through the laboratory/field based exercises. Moreover, the level of achievement of the ADOs according to Krathwohl's 'Affective Domain Taxonomy' should gradually increase as planned below:

  • i. 'Valuing Level' in 1st year
  • ii. 'Organization Level' in 2nd year
  • iii. 'Characterization Level' in 3rd year

8. UNDERPINNING THEORY

Only the major Underpinning Theory is formulated as higher level UOs of Revised Bloom's taxonomy in order development of the COs and competency is not missed out by the studentsand teachers. If required, more such higher level UOs could be included by the course teacher to focus on attainment of COs and competency.

UnitUnit TitleLearning OutcomesContent
IBasics of C1a. Prepare flowcharts
1b. Develop algorithms
1c. Learn concept of constants and variables
1d. Distinguish different data types
1e. Learn C structure format
1f. Learn to write simple C programming
1.1 Definition and importance of flowchart
1.2 Symbols of flowchart, flowchart structure
1.3 Developing and writing algorithm
1.4 General structure of 'C' program and standard directories
1.5 Write a simple 'C' program
1.6 Character set, 'C' tokens
1.7 Keywords and identifiers
1.8 Constants, data types in 'C'
1.9 Variables, declaration and initialization of variables
IIOperators, Expressions and Input/Output Functions2a. Learn concepts of different types of operators
2b. Evaluate arithmetic and logical expressions
2c. Operate input and output functions
2d. Write programs using arithmetic and logical operators
2.1 Arithmetic operators, relational operators
2.2 Logical operators, assignment operators
2.3 Increment and decrement operators
2.4 Conditional operators
2.5 Operator precedence and their associativity
2.6 Evaluation of arithmetic and logical expressions
2.7 I/O Functions: scanf(), printf(), getch(), putch(), gets(), puts()
2.8 Programming exercises based on arithmetic and logical expressions
IIIDecision statements and Control statements3a. Develop decision making subroutines
3b. Implement conditional branching in programs
3c. Implement unconditional branching in programs
3d. Implement looping in programs
Decision statements:
3.1 Conditional branching statements:
3.1.1 Simple if statement
3.1.2 If-else statement
3.1.3 Nested If-else statement
3.1.4 If-else-If Ladder statement
3.1.5 Switch statement
3.2 Unconditional branching statement:
3.2.1 goto statement
3.3 Programming based on decision making

Control statements:
3.4 While statement
3.5 Do and Do-while statement
3.6 For statement
3.7 Break and continue statements
IVArrays and Pointers4a. Create ability of handling large size data of similar nature
4b. Implement one dimensional array concept in programming
4c. Learn two dimensional array concept for large data handling
4d. Learn concept of pointer
Array:
4.1 Introduction to an Array
4.2 One dimensional arrays of int, float & characters: Declaration, initialization and accessing
4.3 Two dimensional array of int: Declaration and initialization
4.4 Programming exercises based on One Dimensional array

Pointer:
4.5 Introduction to Pointers
VFunctions and Structures5a. Learn concept of various library functions
5b. Implement available library functions in programming
5c. Learn concept of structure
5d. Develop ability to operate real world projects
Functions:
5.1 Introduction to Functions
5.2 Types of Functions: Library Functions and user defined Functions
5.3 Library Functions: clrscr(), abs(), sqrt(), log(), pow(), int(), isdigit(), isalpha(), toupper(), tolower(), strlen(), strcat(), strcpy(), strcmp()

Structures:
5.4 Introduction to Structures
5.5 Declaration, Initialization and accessing of Structures

9. SUGGESTED SPECIFICATION TABLE FOR QUESTIONPAPER DESIGN

Legends: R=Remember, U=Understand, A=Apply and above (Revised Bloom's taxonomy)

Unit No.Unit TitleTeaching HoursDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory Marks
Unit No.Unit TitleTeaching HoursR LevelU LevelA LevelTotal Marks
IBasics of C435614
IIOperators, Expressions and Input/Output Functions5241016
IIIDecision statements and Control statements8461020
IVArrays and Pointers634512
VFunctions and Structures52248
TotalTotal2814213570

Note: This specification table provides general guidelines to assist students for their learning and to teachers to teach and question paper designers/setters to formulate test items/questions to assess the attainment of the UOs. The actual distribution of marks at different taxonomy levels (of R, U and A) in the question paper may vary slightly from above table.

10. SUGGESTED STUDENT ACTIVITIES

Other than the classroom and laboratory learning, following are the suggested student-related co-curricular activities which can be undertaken to accelerate the attainment of the various outcomes in this course: Students should conduct following activities in group and prepare reports of about 5 pages for each activity, also collect/record physical evidences for their (student's) portfolio which will be useful for their placement interviews:

  • a) Rapid code development and debugging competition
  • b) Technical Quiz, Multiple Choice Questions Test etc. may be used.
  • c) Mini Project using Programming in C Language

11. SUGGESTED SPECIAL INSTRUCTIONAL STRATEGIES (if any)

These are sample strategies, which the teacher can use to accelerate the attainment of the various outcomes in this course:

  • a) Massive open online courses (MOOCs) may be used to teach various topics/sub topics.
  • b) 'L' in section No. 4 means different types of teaching methods that are to be employed by teachers to develop the outcomes.
  • c) About 20% of the topics/sub-topics which are relatively simpler or descriptive in nature is to be given to the students for self-learning, but to be assessed using different assessment methods.
  • d) With respect to section No.11, teachers need to ensure to create opportunities and provisions for co-curricular activities.
  • e) Guide students on how to address issues on environment and sustainability using Programming.

12. SUGGESTED MICRO-PROJECTS

Other than the classroom and laboratory learning, following are the suggested student-related co-curricular activities which can be undertaken to accelerate the attainment of the various outcomes in this course: Students should perform following activities in group and prepare reports of about 5 pages for each activity. They should also collect/record physical evidences for their (student's) portfolio which may be useful for their placement interviews:

  • a) Design algorithm and construct a flowchart for at least 4 problems
  • b) Prepare charts to explain use/process of the identified topic.
  • c) Students are encouraged to register themselves in various MOOCs such as: Swayam, edx, Coursera, Udemy etc to further enhance their learning.
  • d) Encourage students to participate in different coding competitions like hackathon, online competitions on codechef etc.

13. SUGGESTED LEARNING RESOURCES

Sr. No.Title of BookAuthorPublication with place, year and ISBN
1Programming in CBalaguruswamy (Eighth Edition)Tata McGraw-Hill, New Delhi, 2019, ISBN: 935316513X · 9789353165130
2Programming in CGottfried Byron (Fourth Edition)Tata McGraw-Hill, New Delhi, 2012, ISBN: 9353160278 · 9789353160272
3Programming In CReema TharejaOxford University Press, New Delhi, 2018, ISBN: 978-0199492282
4Programming in CAshok N Kamthane (Third Edition)Pearson Education India, New Delhi, ISBN-10: 9332543550, ISBN-13: 978-9332543553
5Let Us 'C'Kanetkar Yashvant (Seventeenth Edition)BPB Publications, ISBN: 9789389845686
6Programming in CKernighan Brian and Ritchie Dennis (Second Edition)Prentice Hall of India Pvt. Ltd., New Delhi, 2021

14. SOFTWARE/LEARNING WEBSITES

15. PO-COMPETENCY-CO MAPPING

Semester IIIPROGRAMMING IN C(Course Code: ………………… ) POsPROGRAMMING IN C(Course Code: ………………… ) POsPROGRAMMING IN C(Course Code: ………………… ) POsPROGRAMMING IN C(Course Code: ………………… ) POsPROGRAMMING IN C(Course Code: ………………… ) POsPROGRAMMING IN C(Course Code: ………………… ) POsPROGRAMMING IN C(Course Code: ………………… ) POs
Competency & Course OutcomesPO 1 Basic & Discipline specific knowledgePO 2 Problem AnalysisPO 3 Design/ development of solutionsPO 4 Engineering Tools, Experimentation &TestingPO 5 Engineering practices for society, sustainability & environmentPO 6 Project ManagementPO 7 Life-long learning
Competency 'Create Customized Solution of real life Problems using Software.'
CO a) Develop algorithm and flowchart for simple problems21-1122
CO b) Use operators and I/O functions to write C programs.3--2112
CO c) Develop C programs using Decision and Control statement3323212
CO d) Develop C programs using pointer and array operation.3323222
CO e) Develop C programs using library function and structure.2223223

Legend: ' 3' for high, ' 2 ' for medium, '1' for low or '-' for the relevant correlation of each competency, CO, with PO

16. COURSE CURRICULUM DEVELOPMENT COMMITTEE

GTU Resource Persons

S. No.Name and DesignationInstituteContact No.Email
1Smt. L.J.VoraGovernment Polytechnic, Ahmedabad9408803778ljvora@gpahmedabad.ac.in
2Smt. P.N.PatelGovernment Polytechnic For Girls, Surat9537520543gpgsecpgp@gmail.com
3Mr. A.V.PatilGovernment Polytechnic, Vadnagar9978062622ajaypatil82@gmail.com
4Mr. D.M.ModiGovernment Polytechnic, Ahmedabad9429613765dmmodi@gpahmedabad.ac.in
5Mr. M.R.PanchalGovernment Polytechnic for Girls, Ahmedabad9723340568Panchalmihir031@gmail.com

BoS Resource Persons

Sr. No.Name and DesignationInstituteContact No. Email
1Dr. A S Pandya, Principal BoS Chairman Electrical & Allied BranchesAVPTI, Rajkot9426201171 aspandya22@rediffmail.com
2Dr. S N Sampat i/c Principal, BoS Member-ECGGP, Surat9033777389 snsampat@gmail.com
3Shri U V Buch, LEC, BoS Member-ECGP Ahmedabad9825346922 uvbuch@gmail.com