CS101 Introduction to Computing (3-0-0-6)
Prerequisite: Nil
Introduction to Computers: the von Neumann architecture, low/high level language, compiler, interpreter, loader, linker, operating system, flowchart, programming environment.
Concepts of programming (using C): Data types, variables, operators, expressions, statements, control structures, functions, parameter passing, recursion, arrays and pointers, records (structures), memory management, files.
Program development lifecycle. Algorithms, efficiency, correctness, implementation, verification, assertions, pre/post conditions, invariants, testing.
Fundamental data structures: arrays, stacks, queues, linked lists. Searching and sorting. Introduction to object-oriented programming.
Texts:
[1] A. Kelly and I. Pohl, A Book on C, 4th Edition, Pearson Education, 1999.
References:
[1] Y. N. Patt and S. J. Patel, Introduction to Computing Systems: From Bits and Gates to C and Beyond, 2nd Edition, McGraw Hill, 2004.
[2] B. Kernighan and D. Ritchie, The C Programming Language, 4th Edition, Prentice Hall of India, 1988.
[3] M. A. Weiss, Data Structures and Algorithm Analysis in C, 2nd Edition, Pearson, 2002.
[4] R. G. Dromey, How to Solve it by Computer, 1st Edition, Pearson Education, 2008.