Learning Objectives:

No prior programming experience is assumed. The main objective is to develop the skill to solve simple computational problems by designing step by step logical solutions and converting them to computer programs. Standard programming constructs like conditional execution, iteration, arrays and functions will be introduced. Basics of organization of a computing unit and computer representation of numbers will also be covered. Towards the last part of the course students will be introduced to data abstraction. This course will provide students with sufficient coding skills for any course with a programming component like Programming and Data Structures, Computational methods and CAD Laboratory.

Learning Outcomes:

By the end of the course, students will be able to design and code simple moderate sized (100 to 200 lines) programs for solving simple computational tasks. Students will also be able to understand and debug moderate sized programs written by others. Through the lab exercises, students will be able to write modular and maintainable programs, following one of the standard coding conventions.

Syllabus:

Basic organization of a computer: ALU, input-output units, memory, program counter - variables and addresses - instructions: store, arithmetic, input and output, different data types and their computer epresentation, ranges and overflow,

Simple sequential programs, conditional instruction: if then else, control flow diagrams, nested conditions, Iterations: while loop and its control fow,

Arrays indexing, memory model, programs with array of integers, two dimensional arrays, variants of conditional and iterative instructions

Functions, modularity, declaration and definition, function call and return and associated control flow, functions with parameters, returning a value, multiple parameters, data flow during function call, modifying parameters inside functions using pointers, arrays as parameters.

User-defined data types, pointers, dereferencing and address operators, pointer and address arithmetic, array manipulation using pointers.

C programming language will be used for instruction.

Textbook(s)

  1. The C Programming Language
    Brian W. Kernighan and Dennis M. Ritchie (2nd Edition, 1988), Prentice Hall (ISBN:978-0131103627)
  2. Schaum’s Outline of Programming with C by Byron S Gottfried (1996), McGraw-Hill Education (ISBN:978-0070240353)

Metadata (to be verified)

  • Proposing Faculty : Dr. Jasine Babu.
  • Department / Centre : Computer Science and Engineering
  • Programme : B.Tech (all branches)
  • Proposal Type: Replacement course for CS1100 Computational Engineering