0% found this document useful (0 votes)
17 views4 pages

Structured Programming Language Syllabus

The document outlines the course structure for 'Structured Programming Language' (PROG 101) at Gazipur Digital University, detailing its importance, content, objectives, and outcomes. It emphasizes foundational programming skills using C, covering topics such as data types, control structures, functions, and file management. Additionally, it includes a lab component (PROG 102) for practical application of the concepts learned in the course.

Uploaded by

gobarhindu
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views4 pages

Structured Programming Language Syllabus

The document outlines the course structure for 'Structured Programming Language' (PROG 101) at Gazipur Digital University, detailing its importance, content, objectives, and outcomes. It emphasizes foundational programming skills using C, covering topics such as data types, control structures, functions, and file management. Additionally, it includes a lab component (PROG 102) for practical application of the concepts learned in the course.

Uploaded by

gobarhindu
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Structured Programming Language/L1 & T1

Gazipur Digital University


Department of Software Engineering

Course Outline

1 General Information
Faculty Faculty of Software and Machine Intelligence
Department Department of Software Engineering (SE)
PROG 101

Programme Bachelor of Science in Software Engineering


COMMON

Level & Term L1 & T1


Course Title Structured Programming Language
Course Code PROG 101
Course Credit 3 units
Contact Hours 4/week
Type of Course COMMON
Prerequisite Course None

2 Course Rationale
The Structured Programming Language course is essential for students in software engineering as it pro-
vides the foundational skills needed for developing clear, efficient, and maintainable code. By focusing on
core principles like sequence, selection, and iteration, and emphasizing modularity and top-down design,
this course equips students with the ability to solve complex problems and develop robust algorithms.
Learning a structured programming language such as C not only enhances debugging and optimization

skills but also prepares students for advanced studies and professional programming careers by instilling
best practices applicable across various programming environments.

3 Course Content
History, Importance, Basic Structure, Programming Style; Constants, Variables, and Data Types: Character
Set, C Tokens, Keywords, and Identifiers, Constants, Variables, Data Types, Declaration of Variables, Dec-
laration of Storage Class, Assigning Values to Variables, Defining Symbolic Constants, Declaring a Variable
as Constant, Declaring a Variable as Volatile, Overflow and Underflow of Data; Operators and Expressions:
Arithmetic, Relational, Logical, Assignment, Increment and Decrement, Conditional, Bitwise, Special Op-
erators, Arithmetic Expressions, Evaluation of Expressions, Type Conversions in Expressions, Operator
Precedence and Associativity, Mathematical Functions; Managing Input and Output Operations: Reading
a Character, Writing a Character, Formatted Input, Formatted Output; Decision Making and Branching:
Decision Making with IF Statement, Simple IF Statement, The IF ELSE Statement, Nesting of IF ELSE
Statements, The ELSE IF Ladder, The Switch Statement, The ? : Operator, The GOTO Statement; Loop:
Looping Basic, Necessity of Loops The WHILE Statement, The DO Statement, The FOR Statement, Jumps
in LOOPS, Entry Controlled Loops, Exit Controlled Loops, Concise Test Expression, Formulating Prob-
lems Using Loops; Nested Loop: Nesting of Two Loops, Example, Nesting of Independent Loops inside
One, Example, Nesting of More Than Two Loops; Arrays: Introduction, One-dimensional(1D) Arrays,
Declaration and initialization od 1D Arrays, Two-dimensional(2D) Arrays, Declaration and initialization
of 2D Arrays, Accessing arrays through Loops, Multi-dimensional Array, Dynamic Arrays; Character Ar-
rays and Strings: Introduction, Declaring and Initializing String Variables, Difference between String and
Character Array, I/O, Basic Operations without using Library Functions, Arithmetic Operations on Char-
acters, String Library: Basic String Operations, Length, Compare, Concatenate, Substring, Reverse, String-
handling Functions, Other Features of Strings: User-defined Functions: Need for User-defined Functions,
A Multi-function Program, Elements of User-defined Functions, Definition of Functions, Return Values
and their Types, Function Calls, Function Declaration, Category of Functions, Local and Global Variables,

© Department of Software Engineering, BDU Page 1 of 4


Structured Programming Language/L1 & T1

No Arguments and no Return Values, All Arguments but no Return Values, Arguments with Return Val-
ues, No Arguments but Returns a Value, Functions that Return Multiple Values, Nesting of Functions,
Recursion, Passing Arrays to Functions, Passing Strings to Functions, The Scope, Visibility and Lifetime of
Variables, Multi File Programs; Structures: Basics, Necessity, Declaration, Accessing, Initialization, Arrays
of Structures , Arrays within Structures, Structures within Structures, Structures and Functions; Pointers:
Understanding Pointers, Accessing the Address of a Variable, Declaring Pointer Variables, Initialization of
Pointer Variables, Accessing a Variable through its Pointer, Chain of Pointers; Dynamic Memory Alloca-
tion: Basics, Uses, Malloc, Free, Calloc, Realloc; File Management: Basics, Uses, File Opening, Closing, File
I/O, Use of Redirect Operator to Write in File or Read from File;

4 Course Objectives
By the end of this course, students will be able to:

■ Introduce students to algorithmic thinking and problem-solving by computers, focusing on the no-
tion of algorithms and their design methodologies.

■ Teach essential ideas of structured programming and typical traits and methods of a structured pro-
gramming language.

■ Utilize the C programming language as the course foundation, enabling students to create and de-
velop structured programs.

■ Apply theoretical knowledge in lab practice sessions, reinforcing learning through practical imple-
mentation.

■ Develop practical coding skills and solve real-world problems using structured programming in C.

5 Course Outcomes

Domain Assessment
CO CO Description PO Weight WK WP EA
(LoBT) Methods
Understand the key concepts Written ex-
Cognitive WK1,
CO1 and features of Structured PO1 35% WP1 ams, Quiz,
(C2) WK3
Programing Language. assignment
Apply the structured pro-
gramming language concepts Written ex-
Cognitive
CO2 for constructing solution to PO3 50% WK5 WP1 ams, Quiz,
(C3)
simple programming prob- assignment
lems.
Analyze a complex problem
to create sustainable solu- Written ex-
Affective
CO3 tions applying the features of PO12 15% EA1 ams, Quiz,
(A2)
structured programming lan- assignment
guage.

Legend:
CO: Course Outcome PO: Program Outcome
WK: Knowledge Profile WP:Complex Problem Solving
EA: Complex Engineering Activities Level of Bloom’s Taxonomy

© Department of Software Engineering, BDU Page 2 of 4


Structured Programming Language/L1 & T1

6 Lecture/Activity Plan

Week Topic Course


Outcomes
1 Socialization, Computer Programming, Basic Computer architec- CO1
ture, History of computer programming
2 Character Set, Tokens, Identifiers, Keywords, Constants, Vari- CO1
ables, and Data Types: Declaration, Assignment, Specifiers
3 Type Casting, Operators: Arithmetic, Relational, Logical, Bit- CO1
wise, Assignment, Conditional, Special, Operator Precedence,
and Associativity, Expression, Mathematical Functions
4 Managing Input and Output Operations: Read, Write, Format- CO1
ting
5 Decision Making and Branching: IF-ELSE, switch, Ternary, CO1, CO2
GOTO Statement, and Nested Conditions
6 Loop: WHILE, DO-WHILE, FOR Statements, Loop control state- CO1, CO2
ments: Break, Continue, Nested Loop
7 One-dimensional and Multidimentional Arrays: Introduction, CO1, CO2,
Declaration, Initialization, Access, Manipulations CO3
Mid term examination
8 Character Arrays and Strings: Introduction, Declaration, Ini- CO2, CO3
tialization, Access, Manipulations, String Operations (With and
Without String Library)
9 Functions: Introduction, Definition, Declaration, Function Call, CO2, CO3
Return Values and their Types, Local and Global Variables
10 Functions-II: Nesting of Functions, Recursion, Passing Arrays to CO2, CO3
Functions, Passing Strings to Functions
11 Structures: Basics, Necessity, Declaration, Accessing, Initializa- CO2, CO3
tion, Arrays of Structures, Arrays within Structures, Structures
within Structures, Structures and Functions
12 Pointers: Understanding Pointers, Accessing the Address of a CO2, CO3
Variable, Declaring Pointer Variables, Initialization of Pointer
Variables, Accessing a Variable through its Pointer, Chain of
Pointers
13 Use of pointer: Array, Loop, Function, String, Structure, Dynamic CO2, CO3
Memory Allocation: Basics, Uses, Malloc, Free, Calloc, Realloc
14 File Management: Basics, Uses, File Opening, Closing, File I/O, CO2, CO3
Use of Redirect Operator to Write in File or Read from File

7 Text and Reference Materials


T Textbook:

– Herbert Schildt, Teach Yourself C, 3rd Edition, McGraw-Hill Osborne Media, April 1, 1997.
– Paul Deitel and Harvey Deitel ,C How to Program , 8th Edition , Pearson, February 26, 2015.

R References:

– E Balagurusamy, Programming In Ansi C, 8th Edition, McGraw Hill Education , 25 March


2019.
– Byron S. Gottfried, Schaum’s Outline of Programming with C, 2nd Edition, McGraw Hill Edu-
cation , June 22, 1996.

© Department of Software Engineering, BDU Page 3 of 4


Structured Programming Language/L1 & T1

Course Outline - Lab

1 General Information
Faculty Faculty of Software and Machine Intelligence
Department Department of Software Engineering (SE)
PROG 102
SESSIONAL

Programme Bachelor of Science in Software Engineering


Level & Term L1 & T1
Course Title Structured Programming Language Sessional
Course Code PROG 102
Course Credit 1 units
Contact Hours 2/week
Type of Course COMMON
Prerequisite Course None

2 Description
Laboratory works will be specifically designed to align with the concepts covered in PROG 101, offering
students an opportunity to directly apply and test the theories learned in class. This includes imple-
menting techniques, developing software projects, conducting experiments, and analyzing data, thereby
solidifying their understanding and enhancing their practical skills.

© Department of Software Engineering, BDU Page 4 of 4

Common questions

Powered by AI

The course employs a combination of lectures and lab practice sessions to bridge theoretical knowledge and practical application. Lectures introduce essential concepts and methodologies, which are subsequently reinforced through hands-on laboratory work. This approach ensures active learning, allowing students to directly apply the theories learned in class through implementing techniques, developing software projects, conducting experiments, and analyzing data. These activities are designed to solidify students' understanding and enhance their practical skills, thereby improving their ability to tackle real-world problems using structured programming in C .

Learning about dynamic memory allocation is important for software engineering students because it allows the efficient management of memory use, which is critical in developing resource-effective and performant applications. C provides functions for dynamic memory allocation such as malloc, free, calloc, and realloc. These functions enable the allocation and deallocation of memory at runtime, ensuring that programs use memory as needed, thus preventing wastage and memory leaks. Understanding and utilizing these functions is crucial for managing complex data structures and optimizing application performance .

Understanding pointers is significant in structured programming because they provide powerful capabilities for memory management, data structure manipulation, and function optimization. Pointers allow direct manipulation of memory addresses, facilitating dynamic data structures like linked lists and trees by enabling efficient memory allocation and traversal. They are crucial for passing large data structures to functions without costly data copying. Pointers are also used in advanced concepts like passing arrays and strings to functions and managing buffers efficiently. Mastery of pointers leads to more efficient and performant programs by providing fine-grained control over data and resources .

File management plays a critical role in C programming by enabling programs to interact with data stored in files, which facilitates data persistence and manipulation beyond runtime. The primary functions involved in file I/O operations in C include fopen, fclose, fread, fwrite, fprintf, and fscanf. These functions allow opening and closing files, reading from and writing to files, and performing formatted input/output operations. Mastery of file management functions allows programmers to implement data storage solutions, manage file-based configuration, and interact with external components through data files .

In C, arrays and strings differ primarily in their purpose and manipulation. An array is a collection of elements of the same data type, and can be one-dimensional or multi-dimensional, used to store a fixed-size sequential collection of items. Strings, however, are arrays of characters ending with a null terminator '\0', specifically used for representing and manipulating text. Arrays are employed in tasks requiring storage and manipulation of structured data, whereas strings are used for text processing, including I/O operations and character handling. Understanding their differences is key to utilizing them appropriately in programming .

Recursion and iteration are both techniques used to repeat logic, but they differ in approach and implementation. Recursion involves a function calling itself to solve smaller instances of a problem until reaching a base case. Iteration uses loop constructs like for, while, or do-while loops to repeatedly execute a block of code until a condition is met. Recursion is preferable when the problem can be naturally divided into similar subproblems, as in the case of factorial calculation or tree traversal. Iteration, on the other hand, is more efficient in terms of memory and performance for repetitive tasks that do not inherently possess a recursive nature. The choice between recursion and iteration depends on the problem nature and resource constraints .

C programming language is utilized as the foundation for the structured programming course because it provides a strong base for understanding low-level operations alongside high-level programming concepts. It is widely used and forms a critical part of the history of programming, making it a suitable introductory language for students. C's syntax and concepts like pointers, dynamic memory allocation, and direct manipulation of hardware provide unique insights into how programming languages interact with computer architecture, enhancing debugging and optimization skills. Additionally, mastering C prepares students for a smooth transition to other programming languages and advanced programming environments .

Modularity in structured programming involves breaking down a program into independent modules or functions, each handling a specific part of the functionality. This approach allows for better management of complex programs by enabling developers to focus on one module at a time, facilitating debugging and maintenance. Top-down design complements modularity by requiring a hierarchical breakdown of tasks, beginning with the highest level of abstraction and progressing to detailed implementations. This methodically organized development process simplifies the understanding and solving of complex problems by clarifying each component's role and interactions, ultimately leading to more robust and comprehensible solutions .

Structured programming language is based on foundational principles such as sequence, selection, and iteration, emphasizing modularity and top-down design. These principles are crucial for software engineering students as they provide the skills necessary to develop clear, efficient, and maintainable code. They also enhance problem-solving abilities by enabling the construction of robust algorithms, which are essential for debugging and optimizing code. By mastering these principles, students are prepared for advanced studies and professional careers, adhering to best practices applicable in various programming environments .

User-defined functions enhance programming in C by promoting code reuse, improving readability, and reducing complexity through modular design. By encapsulating tasks within functions, programmers can build more organized and manageable code. There are several types of return values used in user-defined functions: no arguments and no return values, all arguments but no return values, arguments with return values, no arguments but returns a value, and functions that return multiple values. These various configurations allow versatility in how functions are called and utilized, providing robust solutions for different programming scenarios .

You might also like