Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Course Plan

A. Course Handout (Student & Faculty)


Institute/School/College Name Chitkara University Institute of Engineering & Technology
Department/Centre Name Department of Computer Science & Engineering
Programme Name Bachelor of Engineering (B.E.)-Computer Science & Engineering
Course Name Advanced C Programming Session 2019-20
Course Code CS 103 Semester/Batch 3rd/2018
Lecture/Tutorial (Per Week) 0-0-10 Course Credit 05
Course Coordinator Name Ms. Navashish Kaur

1. Scope & Objective of the Course:


The course provides understanding of the advanced C programming constructs and after completion
of the subject the student will have the ability to the develop programs using these constructs.

The main objectives of the courses are:


 Understand and implement advanced C Programming concepts
 Understand the memory model of C program
 Understand and implement different searching and sorting techniques
 To impart basic concepts of data structures

2. Course Learning Outcome:


CLO01:Formulate problem solutions by incorporating advanced C programming constructs.
CLO02:Choose the appropriate searching and sorting technique.
CLO03: Demonstrate the advantages and disadvantages of specific techniques to be used.
CLO04: Develop programs using basic data structures like stack and queue.
CLO05: Formulate new solutions for programming problems or improve existing code to program
effectively.

3. Recommended Books (Reference Books/Text Books):


B01:‘The C Programming Language’ by Dennis Ritchie and Brian. W. Kernighan, 2nd edition,
Prentice Hall
B02: ‘C: The Complete Reference ‘by Herbert Schildt, 4th edition, McGraw-Hill Education
B03:‘Programming with C ‘by Byron S. Gottfried, 2nd edition, McGraw-Hill Education
B04: ‘Data Structures’, by Seymour LipSchutz, McGraw-Hill Education

4. Other readings & relevant websites:

S.N. Link of Journals, Magazines, websites and Research Papers


1. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-087-
practical-programming-in-c-january-iap-2010/index.htm
2. www.its.strath.ac.uk/courses/c
3. http://www.tutorialspoint.com/cprogramming/index.htm
4. https://nptel.ac.in/courses/106104128/1
5. https://nptel.ac.in/courses/106102064/

5. Course Plan:
a. Lecture Plan

Lecture Number Topics Details

1-4 Warm up Revision of the programs


5-6 Complexity of Programs

Page 1 of 7 Advanced C Programming/CS103


Course Plan

7-14 Function and Pointers > Recap of Functions and Pointers


> Pointer to Pointer
> Function calling and Program memory
> NULL Pointers
> Local variables and Stack

15-24 Recursion > Recap of Recursion


> Recursion Examples
> Order of Execution
> Direct & Indirect Recursion
> Stack Overflow
> Tail & Non-tail Recursion
25-27 C Memory Model > Memory layout of C Program

Formative Assessment-1(1-27 Lectures)


28-34 Dynamic Memory > Void Pointers
Allocation > Dynamic Memory in C - malloc()
> Dynamic Memory in C - malloc() examples
> Dynamic Memory in C - calloc()
> Dynamic Memory in C - realloc() and free()
> Dynamic Memory in C - Memory Leak in C
35-48 Sorting and Searching > Recap of Arrays, Pointers and Linear Search
> Binary Search ( Recursive and Non recursive )
> Bubble, Selection and Insertion Sort
> Divide & Conquer - Merge Sort
> Divide & Conquer - Quick Sort

Formative Assessment-2(28-48 Lectures)


49-54 Two Dimensional Arrays > Recap of 2D Arrays
> Pointers and 2D Arrays
ST-1 (1-54 Lectures)
55-66 Strings > Recap of strings and library Functions
> Strings and Functions
> Strings and Pointers
> Array of pointers

67-74 Bit Manipulation > C - Bitwise Operators

75-76 C and OS Interface > Command Line Arguments

77-80 C Preprocessor
Formative Assessment-3(55-80 Lectures)

81-92 Structures and Unions > Introduction to Structures, typedef


> Structure Pointers and Nesting Structures
> Structures and Functions
> Structure Assignments and Arrays
> Structure Members Alignment, Padding and Packing, Bit
Fields in C
> Unions
> Enumeration
93-94 Compilation process > Compiling a Program in gcc

95-104 File Handling

Page 2 of 7 Advanced C Programming/CS103


Course Plan

ST-2 (55-104 Lectures)

105-110 Advance Concepts > Pointer with const keyword


> Inline functions
> Function Pointers
> Sorting using Function Pointers , Sorting using qsort() in C
> Variable number of parameters in functions
111-122 Stacks > Stacks using Arrays
> Reverse String using Stacks
> Balanced Brackets
> Postfix Evaluation, Prefix Evaluation and Infix to Postfix
Conversion
Formative Assessment-4(105-122 Lectures)

123-130 Queues > Queues using Arrays


> Circular Queues
ST-3 (105-130 Lectures)

6. Evaluation Scheme & Components:

Evaluation Type of Component No. of Weightage of Mode of


Component Assessment Component Assessment
s
Formative Assessments
Component 1 04* 20% Online
(FAs)
Subjective Test/Sessional
Component 2 03** 30% Online
Tests (STs)

Component 3 End Term Examinations 01 50% Online

Total 100%
*Out of 04 FAs, the ERP system automatically picks the best 03FAs marks for evaluation of the FAs as final marks.
**Out of 03 STs, the ERP system automatically picks the best 02 STs marks for evaluation of the STs as final marks.

Details of Evaluation Components:

Evaluation Description Syllabus Timeline of Examination Weightage


Component Covered (%) (%)
Formative Assessment
Upto20% 4th Week of Semester
01
Formative Assessment
21-35% 6th Week of Semester
Component 02
20%
01 Formative Assessment
41-60% 11th Week of Semester
03
Formative Assessment
81-90% 15th Week of Semester
04
As defined in Academic
ST 01 Upto 40%
Component Calendar
30%
02 As defined in Academic
ST 02 41% - 80%
Calendar

Page 3 of 7 Advanced C Programming/CS103


Course Plan

As defined in Academic
ST 03 81-100%
Calendar

Component At the end of the


End Term Examination* 100% 50%
03 semester
Total 100%
*As per Academic Guidelines minimum 75% attendance is required to become eligible for appearing in the End Semester
Examination.

7. Syllabus of the Course:

Subject: Advanced C Programming Subject Code: CS 103

No. of Weightage
S.N. Topic (s)
Lectures %
1 Warm up
Revision of the programs
Complexity of Programs
Function and Pointers
> Recap of Functions and Pointers
> Pointer to Pointer
> Function calling and Program memory
> NULL Pointers
24 18
> Local variables and Stack
Recursion
> Recap of Recursion
> Recursion Examples
> Order of Execution
> Direct & Indirect Recursion
> Stack Overflow
> Tail & Non-tail Recursion
2 C Memory Model
> Memory layout of C Program
Dynamic Memory Allocation
> Void Pointers
> Dynamic Memory in C - malloc() 10 8
> Dynamic Memory in C - malloc() examples
> Dynamic Memory in C - calloc()
> Dynamic Memory in C - realloc() and free()
> Dynamic Memory in C - Memory Leak in C
3 Sorting and Searching
> Recap of Arrays, Pointers and Linear Search
> Binary Search ( Recursive and Non recursive )
14 11
> Bubble, Selection and Insertion Sort
> Divide & Conquer - Merge Sort
> Divide & Conquer - Quick Sort
4 Two Dimensional Arrays 18 14
> Recap of 2D Arrays
> Pointers and 2D Arrays
Strings
> Recap of strings and library Functions
> Strings and Functions
> Strings and Pointers

Page 4 of 7 Advanced C Programming/CS103


Course Plan

> Array of pointers


5 Bit Manipulation
> C - Bitwise Operators
C and OS Interface 14 10
> Command Line Arguments
C Preprocessor
6 Structures and Unions
> Introduction to Structures, typedef
> Structure Pointers and Nesting Structures
> Structures and Functions
> Structure Assignments and Arrays
> Structure Members Alignment, Padding and Packing, Bit Fields 14 11
in C
>Unions
> Enumeration
Compilation process
> Compiling a Program in gcc
7 File Handling 10 8
8 Advance Concepts
> Pointer with const keyword
> Inline functions
> Function Pointers
> Sorting using Function Pointers , Sorting using qsort() in C
> Variable number of parameters in functions
Stacks
> Stacks using Arrays 26 20
> Reverse String using Stacks
> Balanced Brackets
> Postfix Evaluation, Prefix Evaluation and Infix to Postfix
Conversion
Queues
> Queues using Arrays
> Circular Queues

This Document is approved by:

Designation Name Signature


Course Coordinator Navashish Kaur
Associate Dean Rishu Chhabra
Dean Dr.Meenu Khurana
Date (DD/MM/YYYY) 4th July 2019

Page 5 of 7 Advanced C Programming/CS103


Course Plan

B. Course Execution Plan (Faculty)


Lecture Topics Date of delivery Remarks (if any)
No.
1-4 Warm up

5-6 Complexity of Programs

7-14 Function and Pointers


> Recap of Functions and Pointers
> Pointer to Pointer
> Function calling and Program memory
> NULL Pointers
> Local variables and Stack
15-24 Recursion
> Recap of Recursion
> Recursion Examples
> Order of Execution
> Direct & Indirect Recursion
> Stack Overflow
> Tail & Non-tail Recursion
25-27 C Memory Model
> Memory layout of C Program

28-34 Dynamic Memory Allocation


> Void Pointers
> Dynamic Memory in C - malloc()
> Dynamic Memory in C - malloc() examples
> Dynamic Memory in C - calloc()
> Dynamic Memory in C - realloc() and free()
> Dynamic Memory in C - Memory Leak in C
35-48 Sorting and Searching
> Recap of Arrays, Pointers and Linear Search
> Binary Search ( Recursive and Non recursive )
> Bubble, Selection and Insertion Sort
> Divide & Conquer - Merge Sort
> Divide & Conquer - Quick Sort
49-54 Two Dimensional Arrays
> Recap of 2D Arrays
> Pointers and 2D Arrays

55-66 Strings
> Recap of strings and library Functions
> Strings and Functions
> Strings and Pointers
> Array of pointers
67-74 Bit Manipulation
> C - Bitwise Operators

75-76 C and OS Interface

Page 6 of 7 Advanced C Programming/CS103


Course Plan

> Command Line Arguments

77-80 C Preprocessor

81-92 Structures and Unions


> Introduction to Structures, typedef
> Structure Pointers and Nesting Structures
> Structures and Functions
> Structure Assignments and Arrays
> Structure Members Alignment, Padding and Packing,
Bit Fields in C
>Unions
> Enumeration

93-94 Compilation process


> Compiling a Program in gcc

95-104 File Handling

105-110 Advance Concepts


> Pointer with const keyword
> Inline functions
> Function Pointers
> Sorting using Function Pointers , Sorting using
qsort() in C
> Variable number of parameters in functions
111-122 Stacks
> Stacks using Arrays
> Reverse String using Stacks
> Balanced Brackets
> Postfix Evaluation, Prefix Evaluation and Infix to
Postfix Conversion
123-130 Queues
> Queues using Arrays
> Circular Queues

Signature with Name Counter Signed by


Faculty In-charge Associate Dean/Dean

Page 7 of 7 Advanced C Programming/CS103

You might also like