Syllabus

CS0.101 Computer Programming Syllabus #

Prerequisite Course / Knowledge: #

Basic high school mathematics.

Course Outcomes (COs): #

After completion of this course successfully, the students will be able to…

  • CO-1: Demonstrate an understanding of computer programming language concepts like variables, data types, conditional, loop, print statements and functions.

  • CO-2: Ability to use pointers, arrays, initialization, dynamic memory allocation and use gdb to debug issues with the code.

  • CO-3: Design and implement algorithms using recursing, iteration with specific use cases like sorting.

  • CO-4: Design structured data storage using structs, and read/write them to hard disk using file I/O

  • CO-5: Ability to analyze the complexity of the solution offered in terms of memory and runtime and choose efficient alternatives.

  • CO-6: Develop large scale programs using multiple files, header files and make.

Detailed Syllabus: #

  • Unit 1: Basic computer organization, High level programming languages, assemble code, binary instructions, compilers. Program editing, compilation and execution cycle. Basic data types and their representation, Expressions, Operators and precedence levels, Basic I/O functions, Writing straight-line sequence of code, Conditional Statements (if-then-else, switch case). Functions

  • Unit 2: Loops (for, while etc.), Arrays, Multidimensional Arrays, Parameter passing mechanisms, Pointers, Strings, Pointer Arithmetic.

  • Unit 3: Recursion, Program stack, scope and lifetime of variables., heap memory, dynamic memory management, linked lists and memory leaks.

  • Unit 4: Structures, and Enumerations, Standard libraries for string manipulation, disk file access etc. Preprocessor directives, multi-file programming and Make files.

Reference Books: #

  • Computer Science: A Structured Programming Approach Using C, 3rd Edition
    by Behrouz A. Forouzan, Richard F. Gilberg.

  • The C Programming Language -Brian Kernighan and Dennis Ritchie.

  • Let Us C by Kanetkar Yashavant P.

Assessment methods and weightages #

  • Labs: 20%
  • Assignments: 20%
  • Quiz I, II: 10%
  • Mid Sem: 20%
  • End Exam: 30%