Structured Programming Language

This course introduces the fundamental concepts of structured programming using the C programming language. Students will develop programming logic and problem-solving skills through the study of data types, operators, control statements, functions, arrays, strings, pointers, dynamic memory allocation, structures, file handling, and competitive programming techniques.

Instructor: Md. Shakil Ahmed

Term: Fall

Structured Programming Language

CSE 101 · Core Engineering Course · 3.0 Credit Hours

This course introduces the fundamental concepts of structured programming using the C programming language. Students develop programming logic, computational thinking, and problem-solving skills through practical study of programming constructs, functions, arrays, strings, pointers, dynamic memory allocation, structures, file handling, and competitive programming.
C Programming Structured Programming Problem Solving Algorithms Functions Arrays Strings Pointers Data Structures File Handling Competitive Programming

Course Overview

This course introduces the fundamental concepts of structured programming using the C programming language. Students will develop programming logic and learn to create programs and applications using C. The course covers data types, operators, flow control, functions, arrays, strings, pointers, dynamic memory allocation, structures, file operations, and competitive programming problem solving.

The course emphasizes logical and algorithmic thinking through programming exercises, case studies, problem-solving activities, and programming contest-style problems. Students will learn to analyze computational problems and implement efficient solutions using appropriate programming constructs.

Course Learning Outcomes

CLO1 — Programming Fundamentals

Understand the fundamental programming concepts, terminology, syntax, and constructs related to structured programming.

CLO2 — Programming Concepts

Explain and apply programming concepts including flow control, functions, arrays, strings, pointers, structures, and file handling.

CLO3 — Problem Analysis

Analyze computational problems and determine suitable programming strategies and solutions.

CLO4 — Program Development

Apply C programming syntax and structures to develop programs that solve different types of computational problems.

Prerequisites

  • No formal prerequisite.
  • Basic computer literacy.
  • Basic mathematical and problem-solving skills.

Textbooks

  • Primary: Teach Yourself C, 3rd Edition, by Herbert Schildt.
  • Primary: C Programming Easily Concisely by M.A.H. Newton, M.M. Akbar, and M. Kaykobad.

Reference Books

  • Programming with C, 2nd Edition, by Byron Gottfried.
  • Introduction to C Programming, 2nd Edition, by Reema Thareja.
  • Programming in ANSI C, 8th Edition, by E. Balagurusamy.
  • Let Us C, 16th Edition, by Yashavant Kanetkar.

Tools and Platforms

Programming Environment

C Programming Language, GCC Compiler, Visual Studio Code, and Code::Blocks.

Competitive Programming

Online Judge systems, UVA Online Judge, and ACM-ICPC-style programming platforms.

Online Resources

Course Schedule

Week Topic Description
1 Introduction to C Programming Character sets, C tokens, keywords, identifiers, data types, variables, constants, and type casting.
2 Operators and Expressions Arithmetic, relational, logical, assignment, and conditional operators, precedence, associativity, type conversion, library functions, and input-output functions.
3 Control Statements Decision-making and looping structures including if-else, if ladders, nested if-else, for, while, and do-while loops.
4 Nested Loops and Problem Solving Nested loops and iterative techniques for solving programming problems.
5 Break, Continue, GOTO, and Functions Break, continue, GOTO, comma operator, function prototypes, function calls, arguments, and return statements.
6 Functions, Parameters, and Recursion Function parameters, argument passing, recursive functions, and direct recursion.
7 Midterm Review and Case Study Review, case studies, problem solving, questions and answers, and examination preparation.
8 Arrays Array declaration, initialization, traversal, array operations, passing arrays to functions, and multidimensional arrays.
9 Strings and Character Processing Character arrays, strings, ASCII values, character frequency, character counting, and binary strings.
10 String Manipulation String copying, comparison, reversal, concatenation, and standard string library functions.
11 Pointers Pointer declarations, pointer arithmetic, functions with pointers, arrays, strings, and pointer-based operations.
12 Dynamic Memory Allocation and Structures malloc, calloc, realloc, arrays of pointers, structures, member access, structure processing, and initialization.
13 File Handling File declaration, opening, processing, reading, writing, closing, fscanf(), fgets(), fread(), and related operations.
14 ACM-ICPC and Online Judge Systems Programming contest judging systems and problem solving using online judges such as UVA.
15 Competitive Programming Problem Solving ACM-ICPC-style and UVA programming problems with emphasis on algorithmic thinking and efficient solution development.
16 Brainstorming and Problem-Solving Week Brainstorming, discussion, problem solving, and preparation for the semester final examination.
17 Final Review and Case Study Comprehensive review, case studies, questions and answers, problem solving, and viva voce preparation.