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%