Skip to main content
  1. Resources/
  2. Study Materials/
  3. Electronics & Communication Engineering/
  4. ECE Semester 3/
  5. Programming in C (4331105)/

·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Table of Contents

GUJARAT TECHNOLOGICAL UNIVERSITY (GTU)
#

Competency-focused Outcome-based Green Curriculum-2021 (COGC-2021) Semester-III
#

Course Title: Programming In C
#

(Course Code: 4331105)

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

Exercisesof 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 1 st year
  • ii. ‘Organization Level’ in 2 nd year.
  • iii. ‘Characterization Level’ in 3 rd 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.

Unit - I Basics of C1a. Prepare flowcharts 1b. Develop algorithms 1c. Learns concept of constants and Variables 1d. Distinguishes different data types 1e.Learn C Structure format 1f. Learn to write simple c1.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
Unit - II Operators, Expressions and Input/ Output Functionsprogramming using 2a. Learn concepts of different types of operators 2b. Evaluate arithmetic and logical expressions 2c. Operates input and output Functions 2d. Programs using arithmetic and logical operators2.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
Unit- III Decision statements and Control statements3a. Develop Decision making sub routines 3b. Implementing Conditional branching in programs 3c. Implementing Un Conditional branching in programs. 3d. Implementing looping in programsDecision statements 3.1 Conditional branching statements: 3.1.1Simple 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.3 While statement 3.4 Do and Do-while statement 3.5 For statement 3.6 Break and continue statements
Statements
Unit- IV Arrays and Pointers4a. Creates ability of handling large size data of similar nature 4b. Implementing One dimensional array concept in programming 4c. Learn two dimensional array concept for large data handling 4d. Learn concept of PointerArray 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
Unit- V Functions and Structures5a. Learn concept of various Library Functions 5b. Implementing available library functions in programming 5c. Learn concept of Structure 5d. Develops ability to operate real world projectsFunctions 5.1 Introduction to Functions 5.2 Types of Functions: Library Functions and user defined Functions 5.3 Library Functions: clrscr(), abs(), sqrt(), og(), 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 student for their learning and to teachers to teach and question paper designers/setters to formulate test items/questions assess the attainment of theUOs. The actual distribution of marks at different taxonomy levels (of R, U and A) in the question paper may varyslightly from above table.

10. SUGGESTED STUDENT ACTIVITIES
#

Other than the classroom and laboratory learning, following are the suggested studentrelated 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 studentrelated 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, (Eight 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
Sr. No.Title of BookAuthorPublication with place, year and ISBN
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’KanetkarYashvant (Seventeen Edition)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.i n
5Mr. M.R.PanchalGovernment Polytechnic for Girls , Ahmedabad9723340568Panchalmihir031@gmail.co m

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