Software Engineering Bootcamp - bespoke ( seb | 105 hours )
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
Git Diff
Branching
Simple Merging
Stashing
Tagging
Exporting Git
Distributed Workflow Examples
Sharing Repositories
Hosted Repositories