Software Engineering Bootcamp - bespoke ( seb | 105 hours )

Overview:
a:0:{}
Course Outline:

A hands-on boot camp for learning Software Engineering with python, SQL, and one either Django or Flask as preferred. (Frameworks that use python to develop apps, but different in their outlook and methodolgies

Days 1-5: A  technical, hands-on bespoke Python Course introducing the Python 3 programming language.

Days 6-8: Focus on Python and SQL, to provide an understanding of databases and the SQL language.

https://www.nobleprog.co.uk/cc/postgresqlpython/

Days 9-13: A 5-day Python backend course combining learning of the first 2 courses.

https://www.nobleprog.co.uk/cc/pythonbackend/

Day 14: Git and Github, which is for version control. (Many developers use this to allow people to share code with members of their team.)

https://www.nobleprog.co.uk/cc/gitusers

Day 15: For completion of course assignments, future developments, Q&A sessions

Python Programming

 (5 days – bespoke course)

Course Outline:

This is a five-day technical hands-on course introducing the Python 3 programming language. It uses hands-on exercise to give delegates a solid understanding of basic python using either Windows or Linux / MAC operating systems

Target Audience:

For delegates with the desire to learn Python 3

Prerequisites: 

  • No previous knowledge of Python is assumed.
  • Basic navigation around and operating system, the ability to create files and folders.
     

Delegates will learn how to:

  • Use the Python interactive interpreter to write and run Python 3 programs
  • Understand Python 3 language elements
  • Exploit the rich library of Python libraries and modules
  • Recognize simple and complex variable types and select appropriately
  • Use Python 3 operators and built-in functions
  • Understand procedural control flow in Python 3
  • Program file input/output, including persistent data objects.
  • Create well organised and efficient code using functions and modules
  • Use Object Oriented programming techniques in Python 3.
  • Build robust applications with error trapping and reporting
  • Run and control other programs from Python
  • Writing APIs
     

Course Outline:

Introduction to Python Programming

  • Why Python
  • Installing Python on Windows / MAC / Linux
  • Using Python Development Tools (IDEs and command line tools)
  • Running Python Programs
     

Variables and Data Types

  • Creating variables and different data types
  • Strings
  • Numbers
  • Comments
     

Intro to Advanced Data Types

  • Lists – what they are and their importance
  • Changing, adding, dropping items from a list
  • Tuples – what they are and why we use them instead of lists
  • Dictionaries – passing and working with data in a dictionary
  • Why we use sets instead of other advanced data types
     

Making Decisions

  • If statements
  • Conditional Statements
  • If / elif / else statements
  • Using if statements with lists
  • Loop through a Dictionary
     

User Input and While Loop

  • Introduction to loops and looping
  • Using a while loop with a dictionary and loops
  • How the input function works
     

Functions

  • Introductions to functions
  • Passing arguments
  • Returning values
  • Storing your functions to a module
     

Classes

  • Creating classes
  • Working with classes and instances
  • Inheritance
  • Importing classes
  • Python Standard Library
  • Styling classes
     

Files and Exceptions

  • Reading/ writing to a file
  • Exceptions
  • Storing Data
     

Working with APIs

  • Using Web APIs
  • Visualising Data
  • Hacker News API
     

Working with Databases Using Django / Flask

  • Introduction to Django
  • Setting Up a project and an app
  • Interacting with users
  • Introduction to Databases
  • Setting up Admin area
  • CRUD application CREATE READ UPDATE DELETE
     

Python and SQL (PostgreSQL)

https://www.nobleprog.co.uk/cc/postgresqlpython/ (3 days)

Overview

PostgreSQL (also known as Postgres) is an open source relational database management system or RDBMS built for handling large data workloads. Python is a dynamic and flexible programming language that supports various databases, such as MySQL, Oracle, PostgreSQL, etc.

This instructor-led, live training (online or onsite) is aimed at developers and administrators who wish to use PostgreSQL with Python to build secure, reliable, and stable applications at scale.

By the end of this training, participants will be able to:


  • Install, configure, and connect PostgreSQL with Python.
  • Revise Python programming fundamentals.
  • Understand the benefits of using PostgreSQL with Python.
  • Learn how to perform basic SQL operations with Python.
  • Learn how to use the advanced PostgreSQL features with Python.
  • Implement data safety, security, monitoring, and optimization techniques.
     

Format of the Course

  •   Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.
     

Course Outline

Introduction


  • Overview of PostgreSQL features and architecture
  • Python programming fundamentals
  • Advantages of Python PostgreSQL
     

Getting Started


  • Installing PostgreSQL
  • Installing Python, Django or Flask
  • Installing psycopg2
  • Connecting to PostgreSQL with Python
     

Python and SQL Operations


  • The basics of SQL language
  • Database schema and tables
  • Writing a Python query
  • Creating tables
  • Inserting data
  • Manipulating data
  • Using limit clause
  • Joining tables
  • Full-text search
  • Working with SQLite
  • Examples of Python applications
     

Advanced PostgreSQL with Python


  • Table inheritance
  • Nested transactions
  • User-defined types
  • VIEWS, HAVING, DISTINCT
  • Working with dates and times
  • Multi-version concurrency control (MVCC)
  • Charts, graphs, and reports using matplotlib
     

Administration and Security

PostgreSQL data safety

Restricting access using whitelist
Implementing replication
Database migration
Backup and restore
Monitoring queries
Performance tuning
Preventing SQL injection attacks
 

Troubleshooting

Summary and Next Steps

Backend Development with Python

https://www.nobleprog.co.uk/cc/pythonbackend/ (5 days)

Overview

Backend development refers to the server-side development of a web application. It involves database operations, user management, and core functionality (business logic) of an application. Backend development complements frontend development to deliver the functionality expected by users of the application.Python is one of several programming languages that can be used to write the backend logic of a web application.

This instructor-led, live training (online or onsite) is aimed at developers who wish to use Python as the server-side language to create a web application. Various techniques and frameworks will be explored to arrive at the most suitable one for a given problem.

By the end of this training, participants will be able to:

  • Install and configure Python packages and frameworks
  • Set up the appropriate development environment to optimize the coding process.
  • Write the code needed to enable common functionality expected by end users of an application (forms, database queries, calculations, etc.)
  • Select from a number of popular frameworks such as Django and Flask to automate redundant tasks and reduce development time.
     

Format of the Course

Interactive lecture and discussion. 

Lots of exercises and practice. 

Hands-on implementation in a live-lab environment.

Course Outline

Introduction to Backend Development

Understanding How Websites and Web Applications Work

Installing Python Packages and Libraries

Preparing your Backend Development Environment

Understanding the Difference between Presentation Layer (Frontend) and the Server Side (Backend) of a Web Application

Python Fundamentals

Databases and SQL Fundamentals

Linux Fundamentals

Choosing a Development Framework

Setting up a Web Application Server (LAMP Stack)

Handling User Input

Generating Output

 Using Templates to Standardize Output

Connecting to a Database

Enabling Users to Register through the Application

Securing th Web Application

Testing the Web Application

Managing the Project Using Version Control

Expanding the Application using Advanced Python Features

Working with a NoSQL Database

Deployment Techniques and Continuous Integration

Monitoring Application Performance

Optimizing the Web Application

Scaling a Web Application

Troubleshooting

Summary and Conclusion

Git for Users Training Course (1-day)

https://www.nobleprog.co.uk/cc/gitusers

Git Overview

Installing Git
Short History of Git
What is Git?
 

Git Concepts

Focus and Design
Git Object Types
The Git Data Model
Branching and Merging
The Treeish
The Git Directory
Working Directory

The Index
Non-SCM Uses of Git
 

Git in Practice

Setting Up Your Profile
Git Repository
Normal Workflow Examples
Log - the Commit History
Browsing Git

Git Diff

Branching

Simple Merging

Stashing

Tagging

Exporting Git

Distributed Workflow Examples

Sharing Repositories

Hosted Repositories