Structured Programming Language Lab
This laboratory course provides hands-on experience in structured programming using the C programming language. Students will develop practical skills in programming fundamentals, conditional statements, loops, functions, arrays, recursion, strings, pointers, structures, file handling, and programming problem-solving techniques.
Instructor: Md. Shakil Ahmed
Term: Spring
Structured Programming Language Lab
CSE 102 · Laboratory Course · 1.5 Credit Hours
Course Overview
This laboratory course provides students with practical experience in structured programming using the C programming language. The course is designed to complement CSE 101: Structured Programming Language by providing hands-on implementation of fundamental programming concepts through laboratory exercises and programming problems.
Laboratory activities cover programming fundamentals, conditional statements, loops, functions, arrays, recursion, strings, pointers, structures, file handling, and computational problem solving. Students will implement, test, debug, and analyze C programs while developing systematic and algorithmic approaches to programming problems.
Course Learning Outcomes
CLO1 — Programming Fundamentals
Apply fundamental programming concepts, operators, conditional statements, and control structures to develop C programs.
CLO2 — Functions and Control Structures
Implement loops, nested control structures, functions, and recursion to solve computational and programming problems.
CLO3 — Data Structures and Memory
Apply arrays, strings, pointers, and structures to organize, manipulate, and process data in C programs.
CLO4 — Problem Solving and Implementation
Develop, test, debug, and implement C programs for computational problems, including file-handling and programming practice tasks.
Prerequisites
- CSE 101: Structured Programming Language.
- Basic computer literacy.
- Basic understanding of programming concepts.
Textbooks
- Primary: Teach Yourself C, 3rd Edition, by Herbert Schildt.
Reference Books
- Programming in ANSI C, 8th Edition, by E. Balagurusamy.
- The C Programming Language, 2nd Edition, by Brian W. Kernighan and Dennis M. Ritchie.
- Let Us C by Yashavant Kanetkar.
Tools and Platforms
C Programming Environment
GCC compiler, Code::Blocks, Visual Studio Code, and other development environments for writing, compiling, testing, and debugging C programs.
Programming Practice
Online judges and programming practice platforms for solving algorithmic problems and developing programming problem-solving skills.
Online Resources
Grading
| Assessment | Weight |
|---|---|
| Class Participation and Activity | 5% |
| Continuous Lab Evaluation & Assignments | 25% |
| Lab Midterm Examination | 30% |
| Final Lab Evaluation | 40% |
| Total | 100% |
Course Schedule
| Week | Topic | Description |
|---|---|---|
| 1 | Introduction to Programming Tools and Basic C Programs | Introduction to the C programming environment, compiler and IDE setup, and writing, compiling, and executing basic C programs. |
| 2 | Conditional Statements and Operators | Practical implementation of arithmetic, relational, logical, and assignment operators, along with if, if-else, and nested if-else statements. |
| 3 | Looping Statements | Practical implementation of for, while, and do-while loops for iterative problem solving. |
| 4 | Nested Loops and Loop-Based Problem Solving | Implementation of nested loops, pattern printing, series, summation, and other loop-based programming problems. |
| 5 | Switch-Case, Break, and Continue | Practical implementation of switch-case structures, menu-driven programs, and break and continue statements. |
| 6 | Functions and Argument Passing | Implementation of function declaration, definition, calling, argument passing, return values, and modular programming. |
| 7 | One-Dimensional and Two-Dimensional Arrays | Practical implementation of array declaration, initialization, traversal, searching, basic array operations, two-dimensional arrays, and matrix operations. |
| 8 | Midterm Laboratory Examination | Midterm laboratory examination covering programming fundamentals, conditional statements, loops, functions, and arrays. |
| 9 | Recursive Functions | Introduction to recursion and implementation of recursive functions for factorial, Fibonacci, summation, and other problem-solving tasks. |
| 10 | Strings and String Functions | Practical implementation of character arrays, strings, string input and output, common string library functions, and string processing problems. |
| 11 | String Manipulation | Implementation of string copying, comparison, reversal, concatenation, and other string manipulation operations. |
| 12 | Pointers and Pointer-Based Programming | Introduction to pointers and practical implementation of pointers with arrays, strings, and functions. |
| 13 | File Handling and Structures | Practical implementation of file creation, reading, writing, copying, and deletion, along with structures, typedef, and structure-based problem solving. |
| 14 | Online Judges and Competitive Programming | Introduction to online judges, problem submission, verdicts, input and output specifications, time and memory limits, and basic competitive programming techniques. |
| 15 | Practice with Online Judge Problems | Practice and discussion of programming problems from online judges, with emphasis on problem-solving and efficient implementation. |
| 16 | Final Laboratory Examination | Final laboratory examination assessing programming implementation and problem-solving skills. |