PAPER CODE – 100104 || 100204
ESC PROGRAMMING FOR PROBLEM SOLVING
CREDIT:5
MODULE 1: INTRODUCTION TO PROGRAMMING
INTRODUCTION TO COMPONENTS OF A COMPUTER SYSTEM (DISKS, MEMORY, PROCESSOR, WHERE A PROGRAM IS STORED AND EXECUTED, OPERATING SYSTEM, COMPILERS ETC). IDEA OF ALGORITHM: STEPS TO SOLVE LOGICAL AND NUMERICAL PROBLEMS. REPRESENTATION OF ALGORITHM: FLOWCHART/PSEUDO CODE WITH EXAMPLES. FROM ALGORITHMS TO PROGRAMS; SOURCE CODE, VARIABLES (WITH DATA TYPES) VARIABLES AND MEMORY LOCATIONS, TYPE CASTING/TYPE CONVERSION, RUN TIME ENVIRONMENT (STATIC, DYNAMIC LOCATION), STORAGE CLASSES (AUTO, REGISTER, STATIC, EXTERN), SYNTAX AND LOGICAL ERRORS IN COMPILATION, OBJECT AND EXECUTABLE CODE.
MODULE 2: OPERATORS
ARITHMETIC EXPRESSIONS/ARITHMETIC OPERATORS/RELATIONAL OPERATORS/LOGICAL OPERATORS/BITWISE OPERATORS AND PRECEDENCE
MODULE 3: CONDITIONAL BRANCHING AND LOOPS
WRITING AND EVALUATION OF CONDITIONALS AND CONSEQUENT BRANCHING, ITERATION AND LOOPS
MODULE 4: ARRAYS
ARRAY DECLARATION & INITIALIZATION, BOUND CHECKING ARRAYS (1-D, 2-D), CHARACTER ARRAYS AND STRINGS.
MODULE 5: BASIC ALGORITHMS
SEARCHING (LINEAR SEARCH, BINARY SEARCH ETC.), BASIC SORTING ALGORITHMS (BUBBLE, INSERTION AND SELECTION), FINDING ROOTS OF EQUATIONS, NOTION OF ORDER OF COMPLEXITY THROUGH EXAMPLE PROGRAMS (NO FORMAL DEFINITION REQUIRED)
MODULE 6: FUNCTION
INTRODUCTION & WRITING FUNCTIONS, SCOPE OF VARIABLES FUNCTIONS (INCLUDING USING BUILT IN LIBRARIES), PARAMETER PASSING IN FUNCTIONS, CALL BY VALUE, PASSING ARRAYS TO FUNCTIONS: IDEA OF CALL BY REFERENCE
MODULE 7: RECURSION
RECURSION, AS A DIFFERENT WAY OF SOLVING PROBLEMS. EXAMPLE PROGRAMS, SUCH AS FINDING FACTORIAL, FIBONACCI SERIES, REVERSE A STRING USING RECURSION, AND GCD OF TWO NUMBERS, ACKERMAN FUNCTION ETC. QUICK SORT OR MERGE SORT.
MODULE 8: STRUCTURE/UNION
STRUCTURES, ACCESSING STRUCTURE ELEMENTS, WAY OF STORAGE OF STRUCTURE ELEMENT, DEFINING STRUCTURES AND ARRAY OF STRUCTURES, BASIC DEFINITION OF UNION, COMPARISON B/W STRUCTURE & UNION WITH EXAMPLE
MODULE 9: POINTERS
IDEA OF POINTERS, DEFINING POINTERS, USE OF POINTERS IN SELF-REFERENTIAL STRUCTURES, NOTION OF LINKED LIST (NO IMPLEMENTATION), POINTER TO POINTER, POINTER TO ARRAY, POINTER TO STRINGS, ARRAY OF POINTER, POINTER TO FUNCTION, POINTER TO STRUCTURE.
MODULE 10: FILE HANDLING
(ONLY IF TIME IS AVAILABLE, OTHERWISE SHOULD BE DONE AS PART OF THE LAB)
SUGGESTED TEXT BOOKS
SUGGESTED REFERENCE BOOKS