X

Art of C Programming

By Dr. Lajish V.L   |   Department of Computer Science, University of Calicut.
Learners enrolled: 16410
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
Summary
Course Status : Completed
Course Type : Core
Duration : 12 weeks
Category :
  • Computer Science and Engineering
Credit Points : 4
Level : Undergraduate
Start Date : 11 Jan 2021
End Date : 30 Apr 2021
Enrollment Ends : 28 Feb 2021
Exam Date :

Page Visits



Course layout

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-FUNDAMENTALS
Fundamental 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 – I
Structured 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 ARRAYS  
Scalar 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 – I  
Pointer variables -   & operator - * operator - Arrays and pointers - Array of pointers - Pointer to an array - Character arrays. 

POINTERS IN C PART – II 
Declaration 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 – 2
fscanf() function  - end of file character (EOF )  - Fgets() function -  NULL character - Database files - fseek() , feof(),  fread()  

COMPILATION AND EXECUTION  
Compilation 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 parameters  
Week 10: TERM END ASSESSMENT:
Interaction & Online Evaluation     
Term end assessment:
Will provide the video answers to the most asked questions received from the students. 

Books and references

B. W. Kernighan and D. M. Ritchie, The C Programming Language, Prentice-Hall
Yashavant Kanetkar; Let us C, BPB Publications, New Delhi. 
Greg Perry, Absolute Beginners' guide to C, SAMS Publishing

Instructor bio





Dr. Lajish V.L

Department of Computer Science, University of Calicut.
Since 17th January 2011, Dr.Lajish VL has been associated with Department of Computer Science, University of Calicut, Kerala. Presently he is acting as the Head, Department of Computer Science and the Director, Calicut University Computer Centre. His prime areas of research interest are Computational Intelligence,   Data Analytics, Digital Signal/Image Processing, Pattern Recognition Algorithms. 
His other research interest areas include Indian Language Speech\Script Technology Solutions, Affective computing & Social Emotion Discovery, Multi-Device Technology Solutions for e-Learning and GIS based DSS for Sustainable Development.  
He has worked as Scientist R&D in the TCS Innovation Labs Mumbai, Tata Consultancy Services Ltd, during May 2007 – Jan 2011. Dr.Lajish has one US patent granted and more than 80 research publications in peer-reviewed International Journals, International\Ntional conferences to his credit. He has successfully guided three doctoral students and presently working with 5 PhD scholars.

Course certificate

30% weightage internal assessment and 70% weightage main examination


MHRD logo Swayam logo

DOWNLOAD APP

Goto google play store

FOLLOW US