Course Archives Theoretical Statistics and Mathematics Unit | ||||||||||
Course: Fundamentals of Computing and Programming Instructor: Jishnu Biswas Room: CCC Level: Undergraduate Time: Currently offered |
||||||||||
Syllabus Past Exams Syllabus: BASICS: i) Elementary complexity motivation, concrete complexity, big O notation. ii) Integer representation, swtisions, values and variables, types, lvalue, rvalue, unary, binary, ternary operations. iii) Numerical errors due to data representations and machine precision. Approximation and error analysis. Illustration through examples. iv) Linux tools. Introduction to shell programming. COMPUTING: i) Fundamentals of Computing, Historical perspective, Early computers. Computing machine. Problems, Pseudo-code and flowcharts. Memory, Variables, Values, Instructions, Programs. INTRODUCTION TO C: i) The language of C: Phases of developing a running computer program in C ii) Data concepts in C: Constants, Variables, Expressions, Operators, and operator precedence in C iii) Statements: Declarations, Input-Output Statements, Compound statements, Selection Statements. Conditions, Logical operators, Precedences. Repetitive statements, While construct, Do-while Construct, For construct. iv) Conditionals, if-then, if-then-else, nested conditionals, switch-case. Loops, for, while, repeat, loop invariants, precondition, postcondition. v) Data types, size and values. Char, Unsigned and Signed data types. Number systems and representations. Constants, Overflow. vi) Arrays. Strings. Multidimensional arrays and matrices. FUNCTIONS, RECURSIONS, SORTING AND SEARCH: i) The prototype declaration, Function definition ii) Function call: Passing arguments to a function, by value, by reference. Scope of variable names. Recursive function calls, Tail recursion. Analysing recursion, Tree of recursion, linear recursion iii) Sorting problem: Selection Sort, Insertion Sort, Comparison between sorting algorithms. Sorting in multidimensional arrays. Sorting in strings. IV) Search problem: Linear search and binary search. Comparison between search procedures. Recursive and Iterative formulations. DATA TYPES IN C: i) Pointers: Pointer variables. Declaring and dereferencing pointer variables. Pointer Arithmetic. Examples. Accessing arrays through pointers. Pointer types, Pointers and strings. String operations in C. ii) Structures in C: Motivation, examples, declaration, and use. Operations on structures. Passing structures as function arguments. type defining structures. iii) Self-referential structures. Dynamic Data Structures. Linked Lists. Examples iv) File input-output in C. Streams. Input, output and error streams. Opening, closing and reading from files. Programming for command line arguments Reference Texts: (a) O J Dahl, E W Dijkstra, C A R Hoare: Structured Programming (b) David Gries: The Science of Programming (c) E W Dijkstra: A Short Introduction to the Art of Programming (d) Dromey: How to solve it by Computer (e) Goodrich: Data Structures and Algorithms in Java (f) Thomas A Standish: Data Structures in Java. Evaluation:
Top of the page Past Exams | ||||||||||
Top of the page | ||||||||||
[ Semester Schedule ][ Statmath Unit ] [Indian Statistical Institute] |