Course Objectives:
The course will enable the students to
1. Incorporate strong foundation of logic building & concept of programming in a student.
2. Develop programming skills in C.
Course Outcomes (COs):
Course Outcome (at course level) | Learning and teaching strategies | Assessment Strategies |
---|---|---|
The students will: CO11. Identify situations where computational methods and computers would be useful. CO12. Develop logic building and programming skills CO13. Solve programming tasks using logic-building techniques learned. CO14. Design, implement, test, debug and document programs. CO15. Create programs to solve problems by applying different techniques and hence use computers effectively to solve the task. | Approach in teaching: Interactive Lectures, Discussion, Tutorials, Reading assignments, Demonstration,
Learning activities for the students: Self-learning assignments, Effective questions, Simulation, Seminar presentation, Giving tasks | Class test, Semester end examinations, Quiz, Solving problems in tutorials, Assignments, Presentation. |
Computer languages: Analogy with Natural Languages, Machine Language, Assembly Language, Assembler, High-Level Language, Compiler, Interpreter, Object-Oriented Programming Languages, Fundamental Concepts of OOP, Procedure-oriented versus Object- oriented Programming, Advantages of OOP, Evolution of OOP Languages, Characteristics of a Good Programming Language, selecting a Language for Coding an Application, Subprogram, Preprocessor, Scripting Languages, Fourth-Generation Languages(4GLs), 5 GLs.
Planning the computer program: Purpose of Program Planning; Algorithms, Quality of Algorithms, Representation of Algorithms.
Flowcharts, Symbols, Flowcharting Rules, Advantages and Limitations of Flowcharts, Flowchart based on simple computations, iterations, series problems. Execution Trace.Pseudo code, Pseudo code for Basic Logic (Control) Structures, Advantage and Limitations of Pseudo code.
System implementation and operation: Testing and Debugging, Definition of Testing and Debugging, Types of Program Errors, testing a Program, debugginga Program for Syntax Errors,debugging a Program for Logic Errors, Difference between Testing and Debugging, Documentation, Need for Documentation, Forms of Documentation.
C Programming Language, History of C, The C standard library.
C program Development Environment: Character set, C Tokens, Keywords, Identifiers, Variables, Constant, Comments, Structure of Simple C program.Data Types, Operators & Expressions: Types of operators, Precedence and Associatively, Expression, Statement and types of statements.
C Formatted Input/Output: Streams, formatting output with printf, Printing: Integers, Floating point numbers, Strings, Characters. Field Widths and Precisions, Flags in print format control string, Escape sequences, formatted input with scanf. Built-in I/O functions: getch( ), getchar( ), putchar( ).
Introductory Concept of header files, Preprocessor directives: #include, #define. Control structures: if selection structure, if/else selection structure.
Control Structures: Switch-case, while repetition structure, Counter Controlled Repetition, Sentinel Controlled Repetition, do/while repetition structure, for repetition structure, Nested control structures. goto, break and continue statements.
1. P.K. Sinha, Preeti Sinha, “Foundations of Computing”, BPB Publications, 2003.
2. Raj K. Jain, “Insight into Flowcharting”, S.Chand Publications, 2000.
3. E. Balagurusami, “Programming in ‘ANSI C’”, TMH Publications.
4. Yashwant Kanetkar, “Working with C”, BPB Publications.
Suggested READINGS:
1. H.M.Deitel & P.J.Deitel, “How to program in ‘C’”, 5rd Edition, Pearson Education, 2005.
2. S. Lipschutz, “C Programming”, Schaum’s outline series, Tata McGraw Hill Edition.
3. Vikas Thada “C Programming Simplified” ashirwad publication.
E-RESOURCES:
1. https://www.programiz.com/c-programming
2. https://www.learn-c.org/
3. http://ee.hawaii.edu/~tep/EE160/Book/PDF/Book.html
4. https://spoken-tutorial.org/tutorial-search/?search_foss=C+and+Cpp&search_language=English