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 offered | Semester in which offered |
|---|---|
| Electronics and Communication Engineering | Third |
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 Scheme | Teaching Scheme | Teaching Scheme | Total Credits | Examination Scheme | Examination Scheme | Examination Scheme | Examination Scheme | Examination Scheme |
|---|---|---|---|---|---|---|---|---|
| (In Hours) | (In Hours) | (In Hours) | (L+T+P/2) | Theory Marks | Theory Marks | Practical Marks | Practical Marks | Total |
| L | T | P | C | CA | ESE | CA | ESE | Marks |
| 2 | 0 | 2 | 3 | 30 | 70 | 25* | 25 | 150 |
(*): 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 |
|---|---|---|---|
| 1 | Develop and test a C program to input data and output data using printf() and scanf() functions. | I,II | 2* |
| 2 | Develop and test minimum 3 C programs using constants, variables and datatypes. | I | 2* |
| 3 | Develop and test minimum 4 C programs using the enlisted operators: (1) Arithmetic, (2) Logical, (3) Relational, (4) Assignment. | II | 2 |
| 4 | Develop and test minimum 3 C programs using the enlisted operators: Increment , Decrement and Conditional. | II | 2 |
| 5 | Develop and test minimum 3 C programs using the enlisted decision-making statements: (1) Simple if (2) if…else, (3) Nested if. | III | 2* |
| 6 | Develop and test minimum 3 C programs using the enlisted decision making statements: (1) if…else ladder (2) switch, (3) goto. | III | 2* |
| 7 | Develop and test minimum 3 C programs using the while loop, do- while loop and for loop. | III | 2* |
| 8 | Develop and test minimum 3 pattern programs using loop structures. | III | 2* |
| 9 | Develop and test minimum 2 C programs using break and continue statements. | III | 2 |
| 10 | Develop and test minimum 3 C programs using one dimensional array. | IV | 2* |
| 11 | Develop and test minimum 2 C programs using two dimensional arrays. | IV | 2* |
| 12 | Develop and test minimum 2 C programs using Pointers. | IV | 2* |
| 13 | Develop and test a C program of various inbuilt string functions. | V | 2 |
| 14 | Develop and test a C program to test various library functions. | V | 2 |
| 15 | Develop and test minimum 2 C programs on Structures. | V | 2* |
| 16 | Develop 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* | |
| 17 | Develop a C program to compute cost of installing given solar panel from its surface area. | 2* | |
| Total | Total | Total | 34 |
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 PrOs | Weightage in % |
|---|---|---|
| 1 | Correctness of algorithm/flowchart/program | 15 |
| 2 | Readability and documentation of the program/Quality of input and output displayed (messaging and formatting) | 15 |
| 3 | Code efficiency | 25 |
| 4 | Debugging ability/Identify coding error in program and interpret the result | 25 |
| 5 | Program execution/answer to sample questions | 20 |
| Total | Total | 100 |
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 Specifications | PrO.No. |
|---|---|---|
| 1 | Computer with basic configuration with windows 7 or unix or linux operating system | All |
| 2 | C 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 C | 1a. 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 c | 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 |
|---|---|---|
| Unit - II Operators, Expressions and Input/ Output Functions | programming 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 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 |
| Unit- III Decision statements and Control statements | 3a. Develop Decision making sub routines 3b. Implementing Conditional branching in programs 3c. Implementing Un Conditional branching in programs. 3d. Implementing looping in programs | Decision 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 Pointers | 4a. 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 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 |
| Unit- V Functions and Structures | 5a. 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 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(), 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 Title | Teaching Hours | Distribution of Theory Marks | Distribution of Theory Marks | Distribution of Theory Marks | Distribution of Theory Marks |
|---|---|---|---|---|---|---|
| Unit No. | Unit Title | Teaching Hours | R Level | U Level | A Level | Total Marks |
| I | Basics of C | 4 | 3 | 5 | 6 | 14 |
| II | Operators, Expressions and Input/Output Functions | 5 | 2 | 4 | 10 | 16 |
| III | Decision statements and Control statements | 8 | 4 | 6 | 10 | 20 |
| IV | Arrays and Pointers | 6 | 3 | 4 | 5 | 12 |
| V | Functions and Structures | 5 | 2 | 2 | 4 | 8 |
| Total | Total | 28 | 14 | 21 | 35 | 70 |
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 Book | Author | Publication with place, year and ISBN |
|---|---|---|---|
| 1 | Programming in C | Balaguruswamy, (Eight Edition) | Tata McGraw-Hill, New Delhi, 2019 ISBN: 935316513X · 9789353165130 |
| 2 | Programming in C | Gottfried Byron (fourth Edition) | Tata McGraw-Hill, New Delhi, 2012 ISBN:9353160278 · 9789353160272 |
| Sr. No. | Title of Book | Author | Publication with place, year and ISBN |
|---|---|---|---|
| 3 | Programming In C | Reema Thareja | Oxford University Press, New Delhi; 2018; ISBN: 978- 0199492282 |
| 4 | Programming in C | Ashok N Kamthane (Third Edition) | Pearson Education India ,New Delhi ISBN-10 : 9332543550, ISBN-13 : 978- 9332543553 |
| 5 | Let Us ‘C’ | KanetkarYashvant (Seventeen Edition) | ISBN: 9789389845686 |
| 6 | Programming in C | Kernighan Brian and Ritchie Dennis (Second Edition) | Prentice Hall of India Pvt. Ltd., New Delhi, 2021 |
14. SOFTWARE/LEARNING WEBSITES#
- Software/tools : Turbo C or Borland C, Visual Studio
- Theory and programming concepts: www.nptel.iitm.ac.in
- www.nptelvideos.com/programming/c_programming_videos.php
- www.ocw.mit.edu (Practical Programming in C - MIT Open Course Ware)
- http://www2.its.strath.ac.uk/courses/c/
- http://www.iu.hio.no/~mark/CTutorial/C-Tut-4.02.pdf
- https://www.programiz.com/c-programming
- https://www.tutorialspoint.com/cprogramming
15. PO-COMPETENCY-CO MAPPING#
| Semester III | PROGRAMMING IN C(Course Code: ………………… ) POs | PROGRAMMING IN C(Course Code: ………………… ) POs | PROGRAMMING IN C(Course Code: ………………… ) POs | PROGRAMMING IN C(Course Code: ………………… ) POs | PROGRAMMING IN C(Course Code: ………………… ) POs | PROGRAMMING IN C(Course Code: ………………… ) POs | PROGRAMMING IN C(Course Code: ………………… ) POs |
|---|---|---|---|---|---|---|---|
| Competency & Course Outcomes | PO 1 Basic & Discipline specific knowledge | PO 2 Problem Analysis | PO 3 Design/ development of solutions | PO 4 Engineering Tools, Experimentation &Testing | PO 5 Engineering practices for society, sustainability & environment | PO 6 Project Management | PO 7 Life-long learning |
| Competency ‘Create Customized Solution of real life Problems using Software.’ | |||||||
| CO a) Develop algorithm and flowchart for simple problems | 2 | 1 | - | 1 | 1 | 2 | 2 |
| CO b) Use operators and I/O functions to write C programs. | 3 | - | - | 2 | 1 | 1 | 2 |
| CO c) Develop C programs using Decision and Control statement | 3 | 3 | 2 | 3 | 2 | 1 | 2 |
| CO d) Develop C programs using pointer and array operation. | 3 | 3 | 2 | 3 | 2 | 2 | 2 |
| CO e) Develop C programs using library function and structure. | 2 | 2 | 2 | 3 | 2 | 2 | 3 |
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 Designation | Institute | Contact No. | |
|---|---|---|---|---|
| 1 | Smt. L.J.Vora | Government Polytechnic, Ahmedabad | 9408803778 | ljvora@gpahmedabad.ac.in |
| 2 | Smt. P.N.Patel | Government Polytechnic For Girls, Surat | 9537520543 | gpgsecpgp@gmail.com |
| 3 | Mr. A.V.Patil | Government Polytechnic,Vadnagar | 9978062622 | ajaypatil82@gmail.com |
| 4 | Mr. D.M.Modi | Government Polytechnic, Ahmedabad | 9429613765 | dmmodi@gpahmedabad.ac.i n |
| 5 | Mr. M.R.Panchal | Government Polytechnic for Girls , Ahmedabad | 9723340568 | Panchalmihir031@gmail.co m |
BoS Resource Persons#
| Sr. No. | Name and Designation | Institute | Contact No. Email |
|---|---|---|---|
| 1 | Dr. A S Pandya, Principal BoS Chairman Electrical & Allied Branches | AVPTI, Rajkot | 9426201171 aspandya22@rediffmail.com |
| 2 | Dr. S N Sampat i/c Principal, BoS Member-EC | GGP, Surat | 9033777389 snsampat@gmail.com |
| 3 | Shri U V Buch, LEC ,BoS Member-EC | GP Ahmedabad | 9825346922 uvbuch@gmail.com |

