COURSE OUTCOMES
On successful completion of the course, the students will be able to
CO1: Understand the programming environment, implementation and execution procedures. PO2,PO3,PO5
CO2: Develop simple programs using basic C Programing constructs. PO2,PO3,PO5
CO3: Apply programming concepts such as Arrays, Functions, Pointers and Structures for the implementation of solutions to real world problems. PO2,PO3,PO4,PO5
CO4: Examine the Control Flow and Data Flow in the Program, Test and Debug the occurrence of possible errors for bringing out a better solution. PO2,PO3,PO4,PO5
List of Experiments:
Lab 1:
Introduction on Linux OS and its File Systems
Working with basic Linux Commands
Linux Tool Chains
Lab 2:
Introduction to Linux Tool Chains
Compilation, Linking, Executing the code in various stages
Lab 3:
Practice with Bits, Bitwise Operators and Bitmasks
Read and Analyze C code that manipulates bits/ints
Further practice with the Edit-Compile-Test-Debug Cycle in the Linux environment
Lab 4:
Experiment with Float/Double types and their operational behavior
Observe the limitations of Floating Point representation/Arithmetic
Explore Code that manipulates Floats
Lab 5:
Read and Analyze C code that operates on Chars and C-Strings
Use gdb to debug Programs
Lab 6:
Investigate how Arrays and Pointers work in C
Get further practice with gdb
Experiment with code that dynamically allocates memory on the heap
Lab 7:
Become more familiar with useful GDB commands and tricks when working with assembly
Observe and understand the correct operation of the runtime stack
Diagnose symptoms of Stack mismanagement
Lab 8:
Experiment with different mechanisms for execution timing
Run a profiler to get dynamic instruction counts
Lab 9:
Experiment with File Handling
Experiment with command line arguments