FA-0713Software Development

IT Architecture and System Design Fundamentals with Python

An introductory software lifecycle and small-system project

Introduction

Why this course

Follow a small software project from requirements and system modelling to a working Python implementation and review. Learn how architecture and lifecycle decisions shape development while building foundational programming skills.

The four-day scope is introductory: use a modest data-handling application and selected iterations rather than promising a complete enterprise multi-tier system or high-performance computing expertise.

Learning outcomes

Learning outcomes

  • Describe pre-development, development and post-development activities in a software lifecycle.
  • Model a small system using use cases, data flows, boundaries and basic component interactions.
  • Write foundational Python code with collections, control flow, functions, modules and exceptions.
  • Read and write sample files with appropriate encoding and use selected external libraries.
  • Explain classes and common object-oriented concepts in a small example.
  • Use basic Linux navigation and authorised SSH access in a supplied lab and evaluate simple scope or performance trade-offs.
Prerequisites

Prerequisites

  • Basic computer, browser and file-management skills; no prior Python knowledge is assumed.
  • A supported Python 3 environment or supplied notebook environment, with approved installation permissions if needed.
  • Access to a supplied Linux lab and an authorised test account for remote exercises; unrestricted root access to a live server is not required.
  • For remote delivery, a reliable connection and supported conferencing setup; ability to follow the course language.
Training outline

4 modules

·
01Day 1 — Software context and Python foundations5 topics
  • Programming versus software engineering; algorithms, programs, language translation and the role of development tools.
  • Review the software lifecycle, requirements and pre-development decisions using one small project.
  • Set up a supported Python 3 release and editor or notebook, consult documentation and run a first script.
  • Jupyter and hosted Colab workflows: cells, execution state, saving and export; Colab itself does not require local installation.
  • Identifiers, keywords, indentation, comments, numbers, strings, formatting and core operators.
02Day 2 — Control flow and reusable code5 topics
  • Python Lists
  • Python Tuples
  • Python Dictionaries
  • Python Sets
  • Copying
  • Decision Making
  • The if Statement
  • The if else Statement
  • For Loop
  • While Loop
  • Break And Continue
  • Defining Your Own Functions
  • Parameters
  • Function Documentation
  • Passing Collections to a Function
  • Variable Number of Arguments
  • Scope

Introduce map, filter and lambda through small examples; distinguish these from ordinary loops and avoid unnecessary abstraction.

  • What Are Modules
  • Importing Modules
  • Aliasing
  • Importing Set Of Element From A Module
  • Namespace
  • What Are Packages
  • dir function
  • help function
03Day 3 — Data, errors and objects5 topics
  • String operations, regular expressions and shallow versus deeper copying of collections.
  • Catch appropriate exceptions, handle specific failures and raise clear errors rather than suppressing all exceptions.
  • Open sample files using appropriate modes and encoding; read and write text and introduce XML or PDF extraction with suitable libraries.
  • Distinguish file acquisition from authorised remote queries; practise basic Linux file navigation and SSH access in the supplied lab.
  • Classes, instances, attributes, methods, constructors, inheritance and polymorphism; explain class/static methods rather than an unsupported “static class” construct.
04Day 4 — System modelling and an iterative project4 topics
  • The SDLC Overview.
  • Pre-development phases of SDLC.
  • Specific phases of SDLC.
  • Post-development phases of the SDLC.
  • System Modeling Overview.
  • Software Architecture.
  • Use Cases.
  • Data Structure and Flow.
  • Interprocess Communication.
  • System Scope and Scale.
  • Methodologies, Paradigms, and Practices Overview.
  • Process Methodologies.
  • Development Paradigms.
  • Development Practices.

Apply use cases, data structures, data flow and basic component boundaries to the small Python application; discuss interprocess communication and scaling at an introductory level.

Implement a selected iteration, inspect failure handling and simple performance measurements, and assess the result against its stated requirements.

A programme built around your team.

Share your training goals and requirements.

IT Architecture and System Design Fundamentals with Python
FA-0713

Share your requirements for this programme.

Training enquiry

IT Architecture and System Design Fundamentals with Python