,2
WGU D793 Formal Languages Task 1 and 2 Guide:
Programming Paradigms Analysis and Code Conversion from
FORTRAN to Python – 2026 Updated with complete solutions.
WGU D793 Formal Languages - Complete 60-Page Case Study Guide
Task 1 & Task 2: Programming Paradigms Analysis and FORTRAN to Python
Conversion
PART ONE: EXECUTIVE SUMMARY (Pages 1-3)
Course Overview
WGU D793 Formal Languages requires students to master two primary
competencies:
• Task 1: Analysis of programming paradigms and their application in
language design
• Task 2: Practical code conversion from legacy FORTRAN to modern Python
This comprehensive 60-page case study provides complete solutions, step-by-step
methodologies, and ready-to-use code templates for both tasks, updated for the
2026 curriculum.
Key Learning Objectives
Task Primary Focus Deliverable
Task 1 Paradigm Analysis Comparative analysis essay (2,500-3,000 words)
Task 2 Code Conversion Working Python code from FORTRAN source
Why This Matters
Understanding formal languages and programming paradigms is foundational to
computer science. FORTRAN, despite being developed in the 1950s, remains
,3
critical in scientific computing. Converting legacy FORTRAN to Python preserves
decades of validated scientific code while leveraging modern language features.
PART TWO: TASK 1 - PROGRAMMING PARADIGMS ANALYSIS (Pages 4-25)
Chapter 1: Understanding Programming Paradigms (Pages 4-8)
1.1 Definition and Significance
A programming paradigm is a fundamental style of computer programming that
determines how developers conceptualize and structure solutions. Paradigms
define:
• How data and operations are organized
• How program flow is controlled
• How state changes are managed
1.2 The Four Major Paradigms
python
# ILLUSTRATIVE EXAMPLE: Solving the same problem in four paradigms
# IMPERATIVE (FORTRAN style in Python)
def sum_imperative(numbers):
total = 0
for i in range(len(numbers)):
total = total + numbers[i]
return total
# FUNCTIONAL
def sum_functional(numbers):
, 4
return reduce(lambda x, y: x + y, numbers, 0)
# OBJECT-ORIENTED
class SumCalculator:
def __init__(self, numbers):
self.numbers = numbers
self.total = 0
def calculate(self):
self.total = sum(self.numbers)
return self.total
# DECLARATIVE (using Python's declarative features)
def sum_declarative(numbers):
return sum(numbers) # The "what" not the "how"
1.3 Paradigm Comparison Matrix
Aspect Imperative Functional OOP Declarative
State
Mutable Immutable Encapsulated Implicit
Management
Primary
Statements Functions Objects Rules
Abstraction
Explicit Pattern
Control Flow Recursion Method calls
loops matching