Syllabus
Unit I
Review of Physical Computing, Understanding Arduino Hardware and Software Architecture – Verifying Hardware and Software – Loading and Running your First Program
Introduction to C – Structure of C programs – Data types – I/O – control structures.
Unit II
Arrays – Functions – Storage Classes and Scope – Recursion – Pointers: Introduction, pointer arithmetic, arrays and pointers, pointer to functions, dynamic memory allocation.
Unit III
Structures, Unions and Data Storage – Strings: fixed length and variable length strings, strings and characters, string manipulation functions – Files and Streams – C Preprocessor – Command line arguments.
Objectives and Outcomes
Course Objectives
This course aims to provide the procedural/imperative programming principles to the students through C programming language. The language will be taught in the context of Physical Computing using Arduino.
Course Outcomes
CO1: Understand the typical programming constructs: data (primitive and compound), control, modularity, recursion etc.
thereby to understand a given program.
CO2: Analyse a given program by tracing, identify coding errors and debug them.
CO3: Apply the programming constructs appropriately and effectively while developing computer program.
CO4: Develop computer programs that implement suitable algorithms for problem scenarios and applications.
CO-PO Mapping
PO/PSO |
PO1 |
PO2 |
PO3 |
PO4 |
PO5 |
PO6 |
PO7 |
PO8 |
PO9 |
PO10 |
PO11 |
PO12 |
PSO1 |
PSO2 |
CO |
CO1 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
2 |
2 |
CO2 |
2 |
1 |
1 |
|
2 |
|
|
|
|
|
|
|
2 |
2 |
CO3 |
2 |
2 |
2 |
|
2 |
|
|
|
|
|
|
|
2 |
2 |
CO4 |
3 |
2 |
3 |
|
3 |
|
|
|
|
|
|
|
2 |
2 |
Evaluation Pattern
Evaluation Pattern: 70:30
Assessment |
Internal |
External |
Mid Term Examination |
30 |
|
Continuous Assessment – Theory (CAT) |
30 |
|
Continuous Assessment – Lab (CAL) |
40 |
|
End Semester |
|
30 (50 Marks – 2 hours) |
*CAT includes Quizzes and Tutorials
*CAL – Can be Lab Assessments, Project, Case Study and Report
**End Semester can be theory examination/ lab-based examination
Text Books / References
Textbook(s)
Jack Purdum, “Beginning C for Arduino”, Second Edition, APress, 2015.
Reference(s)
Peter Linz and Tony Crawford, “C in a Nutshell: The Definitive Reference”, Second Edition, O’Reily Media, 2016.
Jens Gustedt, “Modern C”, Manning Publications, 2019.
Robert C. Seacord, Effective C – “An Introduction to Professional C Programming”, No Starch Press, 2020.
Daniel Gookin, “Tiny C Projects”, Manning Publications, 2022.