The course “Art of C Programming” , deals with the fundamental concepts and terminology of computer programming. We provide you with an easy step-by-step guidance to systematically learn programming in C. This course starts with a proper introduction to the programming methodology and algorithm design. This will enable students to develop the skill to logically solve the assignments using C languages.Overall Objectives: • To develop a strong foundation for the fundamental principles of Problem Solving using computers • To learn the concept of programming • To study C Programming language • To equip the students to write programs for solving simple computing problems using C language as a tool.Expected Learning Outcomes:At the end of the course student will be able to: • Explain the fundamental process of problem solving using computers • Design algorithmic solutions for simple computing problems • Write reliable C programs for given algorithms. • Design, implement, test and debug programs that use different data types, such as simple variables, strings, arrays, pointers and structures • Write C programs for simple applications using files
Syllabus
WEEK 01: THE ART OF PROGAMMING METHODOLOGY
Part A: Problem Solving – Flow Chart for Structured Programming – Program Charts – System Charts – Variables, data names, programming statements – Flow Chart Symbols – Terminal Symbols – I/O – Comments – Connectors – Process – Decision - Loops – Flow Charts of Fundamental Algorithms (mentioned in Part B) Part B: Algorithm Design – Problem Solving Aspect – Top Down Design – Formal Conventions – Writing Algorithms – Fundamental Algorithms (Discuss the Design of Algorithms only). WEEK 02: THE ART OF PROGAMMING METHODOLOGY Part C: Program, Characteristics of a good program - Modular Approach - Programming style - Documentation and Program Maintenance - Compilers and Interpreters - Running and Debugging Programs - Syntax Errors - Run-Time Errors - Logical Errors - Concept of Structured Programming. C-FUNDAMENTALSFundamental facts about computer and computer languages - Machine language, symbolic languages, high level languages - keywords in C - basic data types - variables, constants, statements and the scope of variables in C programmes etc.
WEEK 03 MANIPULATING DATA OPERATORS AND EXPRESSIONS Expressions and operators - Binary arithmetical operators, unary arithmetical operators, assignment operators, relational and logical operators, conditional operators - Hierarchy or the order in which operators work when many of them are in use simultaneously. Library functions and their uses INPUT AND OUTPUT IN C PART –1 Standard input and output library - C input functions like getchar, gets, getch, scanf, etc - The header file ‘stdio.h’. Week 04: INPUT AND OUTPUT IN C PART –2 Standard input and output library (STDIO) - Console input/output library (CONIO) - The function printf – Function ‘puts’ - sprintf and sscanf functions - The conio library functions such as clreol, clrscr, delline, gettext, gotoxy, textbackground, textcolor etc WEEK-04 CONTROL STRUCTURES IN C PART – IStructured programming language - Control instructions - Flow of control - Conditional and Unconditional control structures - selective constructs such as Conditional expression, if – else, switch-case etc.Week 05: CONTROL STRUCTURES IN C PART – II Loop control statements - Entry controlled loop (pre-test loop) - Exit controlled loop (post-test loop) - while - do while - for - Break, continue, goto, label statements WEEK -05 C PROGRAMMING WITH ARRAYSScalar data types - Derived data types - Arrays - one-dimensional array – two-dimensional array – Multidimensional array - Character arrays. FUNCTIONS IN ‘C’ Modular Programming Approach - Built-in functions or user-defined functions – main () - formal parameters and actual parameters - Function Call - passing by value, passing by reference (address) - void – recursion - Recursive Functions WEEK-06 STORAGE CLASSES OF VARIABLES IN C Storage class - auto, static, extern, register and typedef - scope of variables - Static variables – extern variables – Register variables – typedef variables WEEK -07 POINTERS IN C PART – IPointer variables - & operator - * operator - Arrays and pointers - Array of pointers - Pointer to an array - Character arrays. POINTERS IN C PART – IIDeclaration of the pointer variable - Static and dynamic memory allocation - malloc (), calloc () functions – free () - main () - Standard parameters argc and *argv[ ].Week 08: STRUCTURE AND UNION IN C Structure data type - ‘struct’ data type - Prototype of the structure - Structure variable. dot (.) operator, Nested structure - Array of structures operator -> Union WEEK-08 FILE MANAGEMENT IN C PART -1 File - fopen() - read ( r ) , write ( w) , and append (a) - fprintf() - putc() - fclose()
WEEK-09 FILE MANAGEMENT IN C PART – 2fscanf() function - end of file character (EOF ) - Fgets() function - NULL character - Database files - fseek() , feof(), fread() COMPILATION AND EXECUTIONCompilation and execution of a programme - Editor used to write the source code - Pre-processor - Compiler - Assembler - Linker - Library object files - Executable code – Integrated development environments (IDE) - Turbo C - The concept of prototyping - syntax errors
WEEK-10 LOW LEVEL PROGRAMMING AND SOME ADDITIONAL FEATURES OF C # define statement - C pre-processor - facts related to macros in C, Wrong macros, register variables, bit fields and bitwise operations, enumeration and enum type variables - Command line arguments - Bitwise operations - Enumeration constants in C - Command line parametersWeek 10: TERM END ASSESSMENT:Interaction & Online Evaluation Term end assessment:Will provide the video answers to the most asked questions received from the students.