C-Programming Syallabus
Pokhara University
Faculty of Science and Technology
Course No.: xxx xxx Full marks: 100
Course Title: Computer Programming (3-1-2) Pass Marks: 45
Nature of the Course: Theory & Practical Time per Period: 1 hour
Level: Undergraduate Total Periods: 45
Program: BE Civil/ELE/ELX
1. Course Description
This course is designed to encompass the fundamental concepts of structured programming and object-oriented programming. It deals with functions, structures, and file handling to develop the software systems. The course will be delivered through the uses of lectures, self-learning by students, exercises, and tests.
2. General Objectives
To provide the students with the concepts and implement structured and object-oriented programming languages.
3. Methods of Instruction
3.1. General Instructional Techniques:
Lecture, discussion, readings.
3.2. Specific Instructional Techniques:
Lab works, Project works
4. Contents in Detail
Unit I: Introduction to Programming Languages (4 hrs)
Specific Objectives
- State various types of programming languages
Contents
- 1.1 Programming Languages- machine-level language, assembly language, and high-level language.
- 1.2 Software and its types
- 1.3 Generations of programming languages
- 1.4 Structured programming language
Unit II: Problem Solving Using Computer (5 hrs)
Specific Objectives
- Explain use of computer in solving problems
Contents
- 2.1 Problems Analysis (understanding of the problem, feasibility and requirement analysis)
- 2.2 Design (Algorithm and flowchart)
- 2.3 Coding (compilation and execution)
- 2.4 Testing and debugging
- 2.5 Implementation, Evaluation and Maintenance of computer programs
- 2.6 Program documentation
Unit III: The C Language and its Basic Constructs (8 hrs)
3.1 History of C language
3.2 Features of C
3.3 The C character set
3.4 Keywords and Identifiers
3.5 Data types
3.6 Constants, variables and their declaration
>3.7 Formatted input/output functions
3.8 The C Operators
3.9 Control structures- branching statements (if, if-else and switch statements), looping statements (for, while and do-while loop)
Unit IV: Arrays and Structures in C (5 hrs)
4.1 Arrays (one dimensional and multi-dimensional arrays
4.2 Initialization of arrays and accessing the elements of array
4.3 Character arrays (strings)
4.4 Structure and union
Unit V: Functions and Pointers in C (9 hrs)
5.1 Functions and their importance
5.2 Declaration of a function
5.3 Structure of a function and return statement
5.4 Library and user-defined functions
5.5 Function arguments and return types
>5.6 Local and global variables
5.7 Calling a function- call by value
5.8 Pointers, pointer operators and pointer arithmetic
5.9 Returning multiple values from functions using pointers
Unit VI: Introduction to C++ (6 hrs)
6.1 Procedure-oriented vs object-oriented programming
>6.2 Concepts of object-oriented programming (object, class, abstraction, encapsulation, inheritance and polymorphism)
6.3 Origin of C++
6.4 Features of C++
>6.5 C++ program structure
6.6 Input/output streams
6.7 Access specifiers
6.8 Objects and accessing data members and member functions
6.9 Constructors (default and parameterized) and destructors
Unit VII: Object-oriented Programming Concepts (8 hrs)
7.1 Inline function
7.2 Friend function
7.3 Function overloading
7.4 Inheritance and its types (single, multiple and multi-level)
7.5 Function overriding
7.6 Template function
7.7 Exception handling
List of Experiments/Laboratories /Assignments
Laboratory work should cover all the concepts of C and C++ languages from all chapters studied in the lectures. Students should develop the algorithm, flowchart, and coding to solve the following problems in the laboratory:
- Temperature conversion between degree Celsius and Fahrenheit.
- Solve quadratic equation.
- Find factorial of n numbers.
- Find the Fibonacci series and its terms.
- Multiplication, addition, and product of two-dimensional matrices and find the transpose and inverse of a two-dimensional matrix.
- Use structure to keep the records of books or any other item and access them.
- Using the concept of class, create the objects to keep the records of books or any other items.
- Implement single, multiple and multilevel inheritance to solve real-world problems.
- Implement the template function that works for all data types to perform a certain task.
- Implement exception handling in C++ with a simple example.
Students should submit a final project that uses the concepts of C or C++ studied in this course. The marks for the practical will be based on the project work.
List of Tutorials
The various tutorial activities that suit your course should cover all the content of the course to give students space to engage more actively with the course content in the presence of the instructor. Students should submit tutorials as assignments or class works to the instructor for evaluation. The following tutorial activities of 15 hrs should be conducted to cover the content of this course:
A. Discussion-based Tutorials: (2 hrs)
- Evolution of Programming languages and its generations (Class discussion)
- Structured programming and Object-oriented programming paradigms (Class discussion).
- Purpose and benefits of generic programming (Oral Presentation).
B. Problem-solving-based Tutorials: (8 hrs)
- Develop algorithms and flowcharts to find simple interest, the largest number among three numbers, factorial of a number, Fibonacci series, prime numbers, temperature conversion, product of matrices.
- Develop the C programs of the above-stated algorithms.
- Develop the C++ programs to illustrate the concept of inline functions, friend functions, template function and exception handling with simple examples.
C. Review and Question/Answer-based Tutorials: (5 hrs)
- Case study of “Development of C with the UNIX operating system and origin of C++ languages” followed by Oral Presentation in class.
- Students ask questions within the course content and assignments and review key course content in preparation for tests or exams.
Evaluation System and Students’ Responsibilities
The internal evaluation of a student may consist of assignments, attendance, test-exams, term-exams, lab reports, and projects 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% | Term exam | 60% |
Practical | 20 | Attendance & Class Participation | 10% |
Project Report | 10% | Viva | 20% |
Exam | 60% | Total Internal | 50 |
Full Marks: 50 + 50 = 100
Student Responsibilities
Each student must secure at least 45% marks in internal evaluation with 80% attendance in the class to appear in the Semester End Examination. Failing to get such a score will be given NOT QUALIFIED (NQ) and the student will not be eligible to appear for 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 course.
Prescribed Books and References
Text Books
- Gottfried, B. Programming with C. New Delhi: McGraw-Hill.
- Lafore, R. Object Oriented Programming in C++. USA: SAMS Publication.
References
- Kernighan, B. W. & Ritchie, D. M. The C Programming Language. USA: Prentice Hall Publication.
- Balagurusamy, E. C programming. New Delhi: McGraw-Hill.
- Balagurusamy, E. Object-oriented programming with C++. New Delhi: McGraw-Hill