Duration 4 Days 24 CPD hours This course is intended for This course is geared for experienced skilled Java developers, software developers, data scientists, machine learning experts or others who wish to transtion their coding skills to Scala, learning how to code in Scala and apply it in a practical way. This is not a basic class. Overview Working in a hands-on learning environment led by our expert instructor you'll: Get comfortable with Scala's core principles and unique features, helping you navigate the language confidently and boosting your programming skills. Discover the power of functional programming and learn techniques that will make your code more efficient, maintainable, and enjoyable to write. Become proficient in creating dynamic web applications using the Play Framework, and easily connect to databases with the user-friendly Slick library. Master concurrency programming with Akka, empowering you to build scalable and fault-tolerant applications that excel in performance. Enhance your testing skills using ScalaTest and ScalaCheck, ensuring the reliability and quality of your Scala applications, while having fun in the process. Explore the fascinating world of generative AI and GPT technologies, and learn how to integrate them into your projects, adding a touch of innovation and intelligence to your Scala solutions. If your team requires different topics, additional skills or a custom approach, our team will collaborate with you to adjust the course to focus on your specific learning objectives and goals. Discover the power of Scala programming in our comprehensive, hands-on technical training course designed specifically for experienced object-oriented (OO) developers. Scala is a versatile programming language that combines the best of both OO and functional programming paradigms, making it ideal for a wide range of projects, from web applications to big data processing and machine learning. By mastering Scala, you'll be able to develop more efficient, scalable, and maintainable applications. Fast Track to Scala Programming for OO / Java Developers is a four day hands-on course covers the core principles of Scala, functional programming, web application development, database connectivity, concurrency programming, testing, and interoperability between Scala and Java. Additionally, you'll explore cutting-edge generative AI and GPT technologies, learning how to integrate them into your Scala applications for intelligent suggestions or automation. Throughout the course you?ll explore the latest tools and best practices in the Scala ecosystem, gaining valuable knowledge and experience that can be directly applied to your day-to-day work. With 50% of the course content dedicated to hands-on labs, you'll gain practical experience applying the concepts you've learned across various projects, such as building functional web applications, connecting to databases, designing modular components, and implementing concurrency. Upon completing the course, you'll have a solid understanding of the language and its features, empowering you to confidently apply your new skills in data science and machine learning projects. You'll exit well-prepared to create efficient, scalable, and maintainable Scala applications, regardless of the complexity of your projects. Introduction to Scala Scala features and benefits Comparing Scala with Java and other OO languages Installing Scala and setting up the development environment Object-Oriented Programming in Scala Classes and objects Traits, mixins, and inheritance Companion objects and factories Encapsulation and polymorphism Functional Programming Basics Pure functions and referential transparency Higher-order functions and currying Immutability and persistent data structures Pattern matching and recursion Having Fun with Functional Data Structures Lists, sets, and maps in Scala Folding and reducing operations Stream processing and lazy evaluation For-comprehensions Building Web Applications in Functional Style Introduction to Play Framework Functional web routing and request handling JSON handling with Play-JSON Middleware and functional composition Connecting to a Database Introduction to Slick library Database configuration and setup Querying and updating with Slick Transactions and error handling Building Scalable and Extensible Components Modular architecture and design patterns Dependency injection with MacWire Type classes and type-level programming Implicit parameters and conversions Concurrency Programming & Akka Introduction to Akka framework and Actor model Actor systems and message passing Futures and Promises Supervision and fault tolerance Building Confidence with Testing Introduction to ScalaTest and ScalaCheck Unit testing and property-based testing Test-driven development in Scala Mocking and integration testing Interoperability between Scala and Java Calling Java code from Scala Using Java libraries in Scala projects Converting Java collections to Scala collections Writing Scala code that can be called from Java Using Generative AI and GPT Technologies in Scala Programming Overview of GPT and generative AI Integrating GPT with Scala applications Use cases and practical examples Additional course details: Nexus Humans Fast Track to Scala Programming Essentials for OO / Java Developers (TTSCL2104) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Fast Track to Scala Programming Essentials for OO / Java Developers (TTSCL2104) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 4 Days 24 CPD hours This course is intended for This course is geared for attendees with Intermediate IT skills who wish to learn Computer Vision with tensor flow 2 Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, with extensive practical exercises designed to reinforce fundamental skills, concepts and best practices taught throughout the course. Working in a hands-on learning environment, led by our Computer Vision expert instructor, students will learn about and explore how to Build, train, and serve your own deep neural networks with TensorFlow 2 and Keras Apply modern solutions to a wide range of applications such as object detection and video analysis Run your models on mobile devices and web pages and improve their performance. Create your own neural networks from scratch Classify images with modern architectures including Inception and ResNet Detect and segment objects in images with YOLO, Mask R-CNN, and U-Net Tackle problems faced when developing self-driving cars and facial emotion recognition systems Boost your application's performance with transfer learning, GANs, and domain adaptation Use recurrent neural networks (RNNs) for video analysis Optimize and deploy your networks on mobile devices and in the browser Computer vision solutions are becoming increasingly common, making their way into fields such as health, automobile, social media, and robotics. Hands-On Computervision with TensorFlow 2 is a hands-on course that thoroughly explores TensorFlow 2, the brand-new version of Google's open source framework for machine learning. You will understand how to benefit from using convolutional neural networks (CNNs) for visual tasks. This course begins with the fundamentals of computer vision and deep learning, teaching you how to build a neural network from scratch. You will discover the features that have made TensorFlow the most widely used AI library, along with its intuitive Keras interface. You'll then move on to building, training, and deploying CNNs efficiently. Complete with concrete code examples, the course demonstrates how to classify images with modern solutions, such as Inception and ResNet, and extract specific content using You Only Look Once (YOLO), Mask R-CNN, and U-Net. You will also build generative adversarial networks (GANs) and variational autoencoders (VAEs) to create and edit images, and long short-term memory networks (LSTMs) to analyze videos. In the process, you will acquire advanced insights into transfer learning, data augmentation, domain adaptation, and mobile and web deployment, among other key concepts. Computer Vision and Neural Networks Computer Vision and Neural Networks Technical requirements Computer vision in the wild A brief history of computer vision Getting started with neural networks TensorFlow Basics and Training a Model TensorFlow Basics and Training a Model Technical requirements Getting started with TensorFlow 2 and Keras TensorFlow 2 and Keras in detail The TensorFlow ecosystem Modern Neural Networks Modern Neural Networks Technical requirements Discovering convolutional neural networks Refining the training process Influential Classification Tools Influential Classification Tools Technical requirements Understanding advanced CNN architectures Leveraging transfer learning Object Detection Models Object Detection Models Technical requirements Introducing object detection A fast object detection algorithm ? YOLO Faster R-CNN ? a powerful object detection model Enhancing and Segmenting Images Enhancing and Segmenting Images Technical requirements Transforming images with encoders-decoders Understanding semantic segmentation Training on Complex and Scarce Datasets Training on Complex and Scarce Datasets Technical requirements Efficient data serving How to deal with data scarcity Video and Recurrent Neural Networks Video and Recurrent Neural Networks Technical requirements Introducing RNNs Classifying videos Optimizing Models and Deploying on Mobile Devices Optimizing Models and Deploying on Mobile Devices Technical requirements Optimizing computational and disk footprints On-device machine learning Example app ? recognizing facial expressions
Duration 4 Days 24 CPD hours This course is intended for This in an intermediate level Java development course geared for students experienced with Java 8 or later programming essentials who wish to quickly get up and running with advanced Java skills. This course does not cover Java programming fundamentals. Overview Students will leave this course armed with the required skills to improve their Java applications using sound coding techniques and best practices. This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in advanced development skills, coupling the most current, effective techniques with the soundest industry practices. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Develop modular applications in Java Utilize the tooling that is provided in Java 9 to migrate, monitor and optimize applications Use the new JShell tool to quickly test java constructs Understand how the implementation of the String class has been updated to decrease the memory footprint Use the enhancements made to the Concurrency API, working with Completable Future instance of Thread pools Specific Java 9 features that are covered in the course include: The Java Module System (project Jigsaw) JShell Updated try-with-resources Performance enhancements in Java 9 Multi-Release Jar files This fast-track course is designed for experienced developers who have prior working knowledge of basic Java 8 or Java 9 and want to take advantage of the newest features of Java 9 that can help improve performance and functionality of Java 9 applications. You will gain invaluable insight into how to leverage Modules, scale applications into multi-core environments, improve performance, and become a more effective Java 9 developer. Java 9 Updates Review of What is New in Java 9 Milling Project Coin The Java Module system (Jigsaw) Why JigSaw? Introduction to the Module System The Module Descriptor Working with Modules JShell JShell More Java 9 Other New Java 9 Features Performance Optimizations Memory Management (Optional) Multithreading and Concurrency Multithreading Concurrent Java Java 8 Concurrency Updates Reflection and References Introspection and Reflection Reference Objects Effective Java Objects, Declarations, and Initializations Exceptions Writing High-Performance Applications Profiling and Benchmarking Profiling Tools Code Optimization Techniques Code Optimization Myths Design Optimization Techniques
Duration 4 Days 24 CPD hours This course is intended for This course is appropriate for anyone who wants to create applications or modules to automate and simplify common tasks with Perl. Overview Working within in an engaging, hands-on learning environment, guided by our expert web development, PHP practitioner, students will learn to: Create a working script that gets input from the command line, the keyboard, or a file Use arrays to store and process data from files Create formatted reports Use regular expressions Use the appropriate types of variables and data structures Refactor duplicate code into subroutines and modules What is available in the standard library Use shortcuts and defaults, and what they replace Introduction to Perl Programming Essentials is an Introductory-level practical, hands-on Perl scripting training course that guides the students from the basics of writing and running Perl scripts to using more advanced features such as file operations, report writing, the use of regular expressions, working with binary data files, and using the extensive functionality of the standard Perl library. Students will immediately be able to use Perl to complete tasks in the real world. Session: An Overview of Perl What is Perl? Perl is compiled and interpreted Perl Advantages and Disadvantages Downloading and Installing Perl Which version of Perl Getting Help Session: Creating and running Perl Programs Structure of a Perl program Running a Perl script Checking syntax and warnings Execution of scripts under Unix and Windows Session: Basic Data and I/O Numeric and Text literals Math operators and expressions Scalar variables Default values Writing to standard output Command line arguments Reading from the standard input Session: Logic and Loops About flow control The if statement and Boolean values Using unless and elsif Statement modifiers warn() and die() The conditional construct Using while loop and its variants Using the for loop Exiting from loops Session: Lists and Arrays The list data type Accessing array elements Creating arrays List interpolation Arrays and memory Counting elements Iterating through an array List evaluation Slices and ranges Session: Reading and writing text files File I/O Overview Opening a file Reading text files Writing to a text file Arrays and file I/O Using the <> operator Session: List functions Growing and shrinking arrays The split() function Splitting on whitespace Assigning to literal lists The join() function The sort() function Alternate sort keys Reversing an array Session: Formatting output Using sprintf() and printf() Report formatting overview Defining report formats The write() function Advanced filehandle magic Session: Hashes Hash overview Creating hashes Hash attributes Traversing a hash Testing for existence of elements Deleting hash elements Session: References What is a reference? The two ways to create references References to existing data References to anonymous data Dereferencing scalar, array, and ash references Dereferencing elements of arrays and hashes Multidimensional arrays and other data structures Session: Text and Regular Expressions String length The substr() function The index() and rindex() functions String replication Pattern matching and substitution Regular expressions Session: Raw file and data access Opening and closing raw (binary) files Reading raw data Using seek() and tell() Writing raw data Raw data manipulation with pack() and unpack() Session: Subroutines and variable scope Understanding packages Package and Lexical variables Localizing builtin variables Declaring and calling subroutines Calling subroutines Passing parameters and returning values Session: Working with the operating system Determining current OS Environment variables Running external programs User identification Trapping signals File test operators Working with files Time of day Session: Shortcuts and defaults Understanding $_ shift() with no array specified Text file processing Using grep() and Using map() Command-line options for file processing Session: Data wrangling Quoting in Perl Evaluating arrays Understanding qw( ) Getting more out of the <> operator Read ranges of lines Using m//g in scalar context The /o modifier Working with embedded newlines Making REs more readable Perl data conversion Session: Using the Perl Library The Perl library Old-style library files Perl modules Modules bundled with Perl A selection of modules Getting modules from ActiveState Getting modules from CPAN Using Getopt::Long Session: Some Useful Tools Sending and receiving files with Net::FTP Using File::Find to search for files and directories Grabbing a Web page Some good places to find scripts Perl man pages for more information Zipping and unzipping files
Duration 4 Days 24 CPD hours This course is intended for This basic course is intended for anyone who requires basic AIX/UNIX user skills to be able to work in an AIX environment. This course is also a prerequisite for many courses in the AIX Systems Administration curriculum. Overview Log in to an AIX system and set a user password Use AIX online documentation Manage AIX files and directories Describe the purpose of the shell Use the vi editor Execute common AIX commands and manage AIX processes Customize the working environment Use common AIX utilities Write simple shell scripts Use the AIXWindows Environment Use the Common Desktop Environment This course enables you to perform everyday tasks using the AIX operating system. Day 1 Introduction to AIX Using the System AIX Documentation Files and Directories Using Files Day 2 File Permissions The vi Editor Shell Basics Using Shell Variables Day 3 Processes Controlling Processes Customizing the User Environment AIX Utilities, Part I AIX Utilities, Part I (Continued) AIX Utilities, Part II Day 4 AIX Utilities, Part II (Continued) Additional Shell Features The AIX Graphical User Interface
Duration 5 Days 30 CPD hours This course is intended for This course is for support staff for AIX on POWER systems Overview After completing this course, you should be able to: - Distinguish Korn and bash shell specific features - Use utilities such as sed and awk to manipulate data - Understand system shell scripts such as /etc/shutdown - Write useful shell scripts to aid system administration This course will teach you how to use shell scripts and utilities for practical system administration of AIX (or other UNIX) operating systems. Basic shell conceptsFlow control in a shell ScriptFunctions and typesetShell features such as arithmetic and string handlingUsing regular expressionsUsing sed, awk and other AIX utilities
Duration 5 Days 30 CPD hours This course is intended for This introductory-level Python course is geared for experienced users who want to use Python in web development projects, or system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts. Basic familiarity with any programming or scripting language would be helpful, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows. Overview This course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Throughout the hands-on course students, will learn to write essential Python scripts using the most current and efficient skills and techniques. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Create working Python scripts following best practices Use python data types appropriately Read and write files with both text and binary data Search and replace text with regular expressions Get familiar with the standard library and its work-saving modules Use lesser known but powerful Python data types Create 'real-world', professional Python applications Work with dates, times, and calendars Know when to use collections such as lists, dictionaries, and sets Understand Pythonic features such as comprehensions and iterators Write robust code using exception handling Mastering Python Programming is an introductory and beyond-level practical, hands-on Python training course that leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting. This comprehensive, practical course provides an in-depth exploration of working with the programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world. An overview of Python What is python? Python Timeline Advantages/Disadvantages of Python Getting help with pydoc The Python Environment Starting Python Using the interpreter Running a Python script Python scripts on Unix/Windows Editors and IDEs Getting Started Using variables Builtin functions Strings Numbers Converting among types Writing to the screen Command line parameters Flow Control About flow control White space Conditional expressions Relational and Boolean operators While loops Alternate loop exits Array types About array types (AKA sequences) Lists and list methods Tuples Indexing and slicing Iterating through a sequence Nested sequences Sequence functions, keywords, and operators List comprehensions Generator Expressions Working with files File overview Opening a text file Reading a text file Writing to a text file Reading and writing raw (binary) data Converting binary data with struct Dictionaries and Sets About dictionaries Creating dictionaries Iterating through a dictionary About sets Creating sets Working with sets Functions Defining functions Parameters Global and local scope Nested functions Returning values Sorting The sorted() function Alternate keys Lambda functions Sorting collections Using operator.itemgetter() Reverse sorting Errors and Exception Handling Syntax errors Exceptions Using try/catch/else/finally Handling multiple exceptions Ignoring exceptions Modules and Packages The import statement Module search path Creating Modules Using packages Function and Module aliases An Introduction to Python Classes About o-o programming Defining classes Constructors Methods Instance data Properties Class methods and data Regular Expressions RE syntax overview RE Objects Searching and matching Compilation flags Groups and special groups Replacing text Splitting strings Using the Standard Library The sys module Launching external programs Math functions Random numbers Reading CSV data Dates and Times Working with dates and times Translating timestamps Parsing dates from text Formatting dates Calendar data Working with the File System Paths, directories, and filenames Checking for existence Permissions and other file attributes Walking directory trees Creating filters with fileinput Using shutil for file operations Advanced Data Handling Defaultdict and Counter Prettyprinting data structures Compressed archives (zip, gzip, tar, etc.) Persistent data Network Programming Using requests Grabbing web content Sending email Using SSH for remote access Using FTP Writing real-life applications Reading input files a la Unix Parsing command-line options Detecting the current platform Implementing logging Additional course details: Nexus Humans Mastering Python Programming (TTPS4820) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Mastering Python Programming (TTPS4820) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 5 Days 30 CPD hours This course is intended for The primary audience for this course is as follows: Cisco Unified Communications system channel partners and resellers who are responsible for deployment and application engineering for Cisco Unified Contact Center Express customers. System and technical support engineers. Day 1 and Day 2 support personnel. Customers deploying and maintaining Cisco Unified CCX Overview Upon completing this course, the learner will be able to meet these overall objectives: Review Cisco Unified CCX environment components Create prompt recording tools Create a helpdesk script Apply common sense principles for scripting and system management, such as: Prompt, document, and grammar management Using the default script Scripting for proper call termination and ending a script Abandon rates Exception handling Check Agent Availability before and after entering queue Using Java Methods for Holiday and Time of Day routing Setup access and use an external database Define and use skills Script for conditional routing Script for basic callback scenarios Setup and use enterprise data and session management Script for queuing and scheduled callback scenarios Building on the knowledge base and scripting experience learned in the UCCXD class, the student will explore advanced techniques in scripting and overall Cisco Unified CCX functionality. During this five day class the students will use advanced scripting to implement features that extend the functionality of Cisco Unified CCX using many of the tools that are already available in the premium version of the product. Students should expect to spend time using the script editor and other tools to create developer tools and enhanced scripts to provide for a more functional and user-friendly customer experience. Activities include creating prompt recording tools, applying common sense scripting principles, creating simple and complex ACD routing scripts, holiday routing, external database access, various callback scenarios such as non-queuing, queuing, and scheduled callbacks, defining and using enterprise data, passing data from one script to another using session management, and much more. Additionally, since this class focuses on complex scripting concepts, it requires the student to learn more about fundamental scripting requirements such as data manipulation and formatting, using variables and array variables, and using Java programming methods. Course Introduction Learner Prerequisite Skills and Knowledge Course Goal Course Objectives Course Flow General Administration Lab Diagram Please Introduce Yourself Lesson 1: Cisco Unified CCX Overview Components of the Cisco Unified CCX Environment Gateways Routers Cisco Unified Communications Manager Cisco Unified CCX Script Editor Cisco Finesse Cisco Unified Intelligence Center Cisco Unified CCX Agent External Servers Cisco Unified CCX System Cluster Components Engine Database Server Call Flow Terms The Call Flow The Debug Process Reactive Non-Reactive Lesson 2: Prompt Recording Utilities Prompt Recorder Emergency Message Recorder Lesson 3: Basic ACD Routing Review Script Steps used in a Simple ACD Routing Script Resource Group Routing Defining the Contact Service Queue Create a Simple ACD routing script Lesson 4: Common Scripting Concepts Prompt Management Using the Default Script Terminating a Call and Ending a Script Abandon Rates Exception Handling Script Interruptions Check Agent Availability before and after entering queue Using Java Methods for Holiday and Time of Day routing Lesson 5: Accessing an External Database Database architecture and supported databases Setting up the Database Subsystem Using Database script steps Lesson 6: Skills Based Routing Appling skills to agents Defining the Contact Service Queue Specifying the CSQ in the Script Lesson 7: Advanced ACD Routing Overflow Routing When to Overflow How to get the Data Needed for Making Decisions Describe Methods of Overflowing Lesson 8: Basic ACD Callback Options Setup the Email Subsystem Script for Email Notification Script for Leaving a Recorded Message Script for Callback when Queue Times have Decreased Lesson 9: Enterprise Data and Session Management Define Enterprise Data in Cisco Finesse Define a Call Variable Layout in Cisco Finesse Define ECC Variables in the script editor Set Enterprise Data in the script Define Session Management Setup Session Management Use Session Management to Pass Variable Information Between Scripts Lesson 10: Advanced ACD Callback Options Leave Queued Message with an Option for Callback Scheduled Callback
Duration 3 Days 18 CPD hours This course is intended for If you have worked in C++ but want to learn how to make the most of this language, especially for large projects, this course is for you. Overview By the end of this course, you'll have developed programming skills that will set you apart from other C++ programmers. After completing this course, you will be able to: Delve into the anatomy and workflow of C++ Study the pros and cons of different approaches to coding in C++ Test, run, and debug your programs Link object files as a dynamic library Use templates, SFINAE, constexpr if expressions and variadic templates Apply best practice to resource management This course begins with advanced C++ concepts by helping you decipher the sophisticated C++ type system and understand how various stages of compilation convert source code to object code. You'll then learn how to recognize the tools that need to be used in order to control the flow of execution, capture data, and pass data around. By creating small models, you'll even discover how to use advanced lambdas and captures and express common API design patterns in C++. As you cover later lessons, you'll explore ways to optimize your code by learning about memory alignment, cache access, and the time a program takes to run. The concluding lesson will help you to maximize performance by understanding modern CPU branch prediction and how to make your code cache-friendly. Anatomy of Portable C++ Software Managing C++ Projects Writing Readable Code No Ducks Allowed ? Types and Deduction C++ Types Creating User Types Structuring our Code No Ducks Allowed ? Templates and Deduction Inheritance, Polymorphism, and Interfaces Templates ? Generic Programming Type Aliases ? typedef and using Class Templates No Leaks Allowed ? Exceptions and Resources Exceptions in C++ RAII and the STL Move Semantics Name Lookup Caveat Emptor Separation of Concerns ? Software Architecture, Functions, and Variadic Templates Function Objects and Lambda Expressions Variadic Templates The Philosophers' Dinner ? Threads and Concurrency Synchronous, Asynchronous, and Threaded Execution Review Synchronization, Data Hazards, and Race Conditions Future, Promises, and Async Streams and I/O File I/O Implementation Classes String I/O Implementation I/O Manipulators Making Additional Streams Using Macros Everybody Falls, It's How You Get Back Up ? Testing and Debugging Assertions Unit Testing and Mock Testing Understanding Exception Handling Breakpoints, Watchpoints, and Data Visualization Need for Speed ? Performance and Optimization Performance Measurement Runtime Profiling Optimization Strategies Cache Friendly Code
Duration 5 Days 30 CPD hours This course is intended for Experienced Programmers and Systems Administrators. Overview Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. This course is ?skills-centric?, designed to train attendees in core Python and web development skills beyond an intermediate level, coupling the most current, effective techniques with best practices. Working within in an engaging, hands-on learning environment, guided by our expert Python practitioner, students will learn to: ? Create working Python scripts following best practices ? Use python data types appropriately ? Read and write files with both text and binary data ? Search and replace text with regular expressions ? Get familiar with the standard library and its work-saving modules ? Use lesser-known but powerful Python data types ? Create 'real-world', professional Python applications ? Work with dates, times, and calendars ? Know when to use collections such as lists, dictionaries, and sets ? Understand Pythonic features such as comprehensions and iterators ? Write robust code using exception handling An introductory and beyond-level practical, hands-on Python training course that leads the student from the basics of writing and running Python scripts to more advanced features. An Overview of Python What is python? 1 -- An overview of Python What is python? Python Timeline Advantages/Disadvantages of Python Getting help with pydoc The Python Environment Starting Python Using the interpreter Running a Python script Python scripts on Unix/Windows Editors and IDEs Getting Started Using variables Built-in functions Strings Numbers Converting among types Writing to the screen Command line parameters Flow Control About flow control White space Conditional expressions Relational and Boolean operators While loops Alternate loop exits Sequences About sequences Lists and list methods Tuples Indexing and slicing Iterating through a sequence Sequence functions, keywords, and operators List comprehensions Generator Expressions Nested sequences Working with files File overview Opening a text file Reading a text file Writing to a text file Reading and writing raw (binary) data Converting binary data with struct Dictionaries and Sets About dictionaries Creating dictionaries Iterating through a dictionary About sets Creating sets Working with sets Functions Defining functions Parameters Global and local scope Nested functions Returning values Sorting The sorted() function Alternate keys Lambda functions Sorting collections Using operator.itemgetter() Reverse sorting Errors and Exception Handling Syntax errors Exceptions Using try/catch/else/finally Handling multiple exceptions Ignoring exceptions Modules and Packages The import statement Module search path Creating Modules Using packages Function and Module aliases Classes About o-o programming Defining classes Constructors Methods Instance data Properties Class methods and data Regular Expressions RE syntax overview RE Objects Searching and matching Compilation flags Groups and special groups Replacing text Splitting strings The standard library The sys module Launching external programs Math functions Random numbers The string module Reading CSV data Dates and times Working with dates and times Translating timestamps Parsing dates from text Formatting dates Calendar data Working with the file system Paths, directories, and filenames Checking for existence Permissions and other file attributes Walking directory trees Creating filters with fileinput Using shutil for file operations 17 ? Advanced data handling Defaultdict and Counter Prettyprinting data structures Compressed archives (zip, gzip, tar, etc.) Persistent data Advanced data handling Defaultdict and Counter Prettyprinting data structures Compressed archives (zip, gzip, tar, etc.) Persistent data Network services Grabbing web content Sending email Using SSH for remote access Using FTP Writing real-life applications Parsing command-line options Detecting the current platform Trapping signals Implementing logging Python Timeline Advantages/Disadvantages of Python Getting help with pydoc