n

Programming Foundations Laboratory

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 

shape