IT architecture and system design fundamentals, basic Python:
This 4-day intensive course walks you through that discovery by going over the entire life cycle of a multi-tier system and its related software project. You'll see what happens before any development takes place, and what impact the decisions and designs made at each step have on the development process. The development of the entire project, over the course of several iterations based on real-world iterations, will be executed, sometimes starting from nothing, in one of the fastest growing languages in the world—Python.
Learning Outcome
By the end of this course, the learner shall have the following skills:
- Understand what happens over the course of a system's life (SDLC)
- Establish what to expect from the pre-development life cycle steps.
- Find out how the development-specific phases of the SDLC affect development.
- Identify the existence of project-independent best practices and how to use them.
- Find out how to design and implement a high-performance computing process.
- Basic python programming
- Understand the basic syntax structures.
- Get updated on recent syntax changes in python 3.8 and 3.9 respectively.
- Advanced Data handling in python.
- Working with external libraries in python.
- Working with files and encoding.
- Understand different forms of data acquisition.
- Linux basics
- Remote queries
- SSH
Prerequisites
- High speed internet connection
- Ability to use a computer
- Ability to use the internet
- Web camera (for remote learning only)
- Microphone (for remote learning only)
- Conferencing software (Zoom / Webex / MS Teams)
- Manage files and understand basic file systems in the computer
- Ability to communicate in the English language
- Ability to connect to external servers
- Full admin / root access
Course Outline
Programming versus Software Engineering.
- Programming with Python.
- What Is Algorithm
- What Is Programming
- What Is Program
- Machine Language
- Programming Language
- What Is Translator
- Brief History of Python
- Python Versions
- Installing Python
- IDEs
- Environment Variables
- Python Documentation
- Hello world with python
- Modes of Programming
- What Is Colab Notebook
- Why Colab Notebook Is Important
- Installing Colab Notebook
- Main Components of Colab Notebook
- Modes
- Exporting Notebook Documents
- Identifiers
- Reserved Words
- Lines and Indentation
- Comments
- Numbers
- Python Lists
- Python Tuples
- Python Dictionaries
- Python Sets
- Copying
- Python Strings
- String formatting
- Regular Expressions
- Arithmetic Operators
- Comparison (Relational) Operators
- Assignment Operators
- Logical Operators
- Membership Operators
- Operators Precedence
- 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
- Map
- Filter
- Lambda
- What Are Modules
- Importing Modules
- Aliasing
- Importing Set Of Element From A Module
- Namespace
- What Are Packages
- dir function
- help function
- What Is Exception
- Exception Types
- Try Except Component
- Handling General Exception
- Handling Specific Exception
- Raise
- Access Modes
- Writing Data to a File
- Reading Data From a File
- Read Functions
- PDF reading
- XML files
- What is OOP
- Why OOP Is Important
- Classes
- Attributes
- Methods
- Constructor
- Inheritance
- Polymorphism
- Static class
- The Software Development LifeCycle(SDLC).
- The SDLC Overview.
- Pre-development phases of SDLC.
- Specific phases of SDLC.
- Post-development phases of the SDLC.
- System Modeling.
- System Modeling Overview.
- Software Architecture.
- Use Cases.
- Data Structure and Flow.
- Interprocess Communication.
- System Scope and Scale.
- Methodologies, Paradigms, and Practices.
- Methodologies, Paradigms, and Practices Overview.
- Process Methodologies.
- Development Paradigms.
- Development Practices.
- Assessment.
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.