1. Course Description
This course is designed to provide students with a comprehensive understanding of computer programming using the C language. Students will develop essential programming skills, ranging from foundational concepts to advanced techniques, enabling them to create efficient, reliable, and maintainable software applications. Through hands-on exercises, coding projects, and problemsolving activities, students will gain practical experience in writing, debugging, and optimizing C programs. The course includes developing the ability to analyze, design, implement, debug, and comprehensively document code within the C programming language. Likewise attaining mastery over pivotal programming concepts in C, encompassing data manipulation and conditional logic.
Proficiently employ statements and logical structures for decision-making and program control. Elevate C programming prowess by effectively manipulating arrays and strings, harnessing library functions, crafting custom functions, managing prototypes, and controlling variable scope. Achieving mastery in essential data management skills within C programming, spanning diverse structures, memory optimization, and adept utilization of pointers to enhance efficiency.
2. General Objectives
- To understand the basic principles and concepts of computer programming.
- To gain proficiency in writing C programs and applying programming constructs.
- To develop problem-solving and logic building skills through programming exercises.
- To acquire knowledge of fundamental data structures and their implementation in C.
- To learn how to design and implement algorithms using C programming.
- To apply programming concepts and C programming skills to solve real-world problems.
3. Method of Instructions
General Instructional Technique: Lecture, Discussion, Readings, Question Answer
Specific Instructional Technique: Practical works, Project Based Learning, Self-Directed Learning, Industry Insights and Case Study.
4. Content in Detail with Specific Objectives
| Specific Objectives | Content |
|---|---|
| Unit 1: Problem Solving with Computer [6 Hrs.]
|
| Unit 2: Elements of C [2 Hrs.]
|
| Specific Objectives | Content |
| Unit 3: Input and Output [2 Hrs.]
|
| Specific Objectives | Content |
| Unit 4: Operators and Expression [4 Hrs.]
|
| Specific Objectives | Content |
| Unit 5: Control Statement [8 Hrs.]
|
| Specific Objectives | Content |
| Unit 6: Arrays and string [6 Hrs.]
|
| Specific Objectives | Content |
| Unit 7: Functions [6 Hrs.]
|
| Specific Objectives | Content |
| Unit 8: Pointers[4hrs]
|
| Specific Objectives | Content |
| Unit 9: Structure and Union [4 Hrs.]
|
| Specific Objectives | Content |
| Unit 10: File Handling[6hrs]
|
5. Laboratory Work
It builds the foundation on how to write a program using any high-level language. Hence, this course requires a lot of programming practice so that students will be able to develop good logic building and program developing capability which is essential throughout the course.
Some important contents that should be included in lab exercises are as follows:
- Introduction to C Programming – basic structure of C program.
- To illustrate the use of Input, Output, Variable and Constants.
- To illustrate the different operators-Arithmetic, Relational and Logical Operators in C.
- To illustration of Control Structures (decision making) and processor directives.
- To illustration of Control Structures (looping).
- To illustrate the function programming- simple and recursive functions.
- To illustrate the concept of Pointer and String.
- To illustrate the function programming- Call by value vs. call by reference.
- To illustrate the concept of Structure.
- To illustrate the different file operations.
Note:
- Motivate students to create small project work integrating all of the above concepts.
- Each of the above lab session should cover more than 4 hours of practical work.
6. Evaluation system and Student’s Responsibilities
Evaluation System
In addition to the formal exam(s), the internal evaluation of a student may consist of quizzes, assignments, lab reports, projects, class participation, etc. The tabular presentation of the internal evaluation is as follows.
| External Evaluation | Marks | Internal Evaluation | Weight | Marks |
|---|---|---|---|---|
Semester-End examination |
50 | Theory |
30 | |
| Attendance & Class Participation | 10% | |||
| Assignments | 20% | |||
| Presentations/Quizzes | 10% | |||
| Internal Assessment | 60% | |||
| Practical | ||||
| Attendance & Class Participation | 10% |
20 | ||
| Lab Report/Project Report | 20% | |||
| Practical Exam/Project Work | 40% | |||
| Viva | 30% | |||
| Total External | 50 | Total Internal | 50 | |
| Full Marks: 50 + 50 = 100 | ||||
7. Student’s Requirements
Each student must secure at least 45% marks separately in both internal assessment and practical evaluation with 80% attendance in the class in order to appear in the Semester End Examination. Failing to get such a score will be given NOT QUALIFIED (NQ) to appear in the Semester-End Examinations. Students are advised to attend all the classes, formal exams, tests, etc., and complete all the assignments within the specified time period.
Students are required to complete all the requirements defined for the completion of the courses.
8. Prescribed Books and References
Prescribed Text Books:
- Srivastava. (2009). C - In Depth - 2Nd Revised Edition. BPB Publications.
- Kanetkar, Y. P. (2006). Let us c. BPB Publications.
Reference Books:
- Balagurusamy, E. (2019). Programming In Ansi C, 8Th Edition. MC Graw Hill India.
- Gottfried, B. S. (1996). Programming with C Ind Adap ed. Tata McGraw-Hill Education.
- Deitel, P. J., & Deitel, H. M. (2016). C: How to Program. Prentice Hall.
- Kelley, A., & Pohl, I. (1998). A book on c: Programming in C. Addison-Wesley Professional.
- Mittal, A. (2010). Programming In C: A Practical Approach. Pearson Education India.