Duration 5 Days 30 CPD hours This course is intended for In order to be successful in this course you should have incoming hands-on experience with another programming language. This course is not for non-developers or new developers. Possible roles that may attend this course include: Software Developers: Professionals who have been working with other programming languages and want to expand their skillset by learning Java and its object-oriented features. Web Developers: Those who work on web applications and want to enhance their back-end development capabilities with Java. Mobile App Developers: Developers who wish to enter the world of Android app development, where Java is a widely used language for creating mobile applications. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in core OO coding and Java development skills, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Understand what OO programming is and what the advantages of OO are in today's world Work with objects, classes, and OO implementations Understand the basic concepts of OO such as encapsulation, inheritance, polymorphism, and abstraction Understand not only the fundamentals of the Java language, but also its importance, uses, strengths and weaknesses Understand the basics of the Java language and how?it relates to OO programming and the Object Model Learn to use Java exception handling Understand and use classes, inheritance and polymorphism Understand and use collections, generics, autoboxing, and enumerations Become familiar with the concept of functional programming using Lambda Expressions Process large amounts of data using the Stream API introduced in Java 8 Discover the new Date/Time API Use the JDBC API for database access Work with annotations Take advantage of the Java tooling that is available with the programming environment being used in the class Java 8 Features: Lambda Expressions, Method and Constructor references, The Streams API, Collectors, The Optional class Geared for experienced developers, Basic Java Programming for Developers New to OO, this hands-on, workshop-style course will provide you with an immersive learning experience that will expand your skillset and open doors to new opportunities within the ever-growing technology landscape. Mastering Java and its powerful capabilities will provide you with the competitive edge you need to stand out in today's fast-paced development world. Working in a hands-on learning environment led by our expert coach, you?ll thoroughly explore the foundations of the Java platform, essential programming concepts, and advanced topics, ensuring you acquire a strong understanding of the language and its ecosystem. The object-oriented programming principles taught in this course promote code reusability and maintainability, enabling you to streamline development processes and reduce long-term costs. As you progress through the course, you will also gain familiarity with using an IDE, enhancing your development workflow and collaboration with other Java developers, enabling you to integrate seamlessly into new projects and teams. You?ll also gain practical experience in applying the concepts and techniques learned, solidifying your newly acquired skills and facilitating their direct application in real-world scenarios. You?ll exit this course empowered to create robust, scalable, and efficient Java-based applications that drive innovation and growth for your organization The Java Platform The Java Platform Lifecycle of a Java Program Responsibilities of JVM Documentation and Code Reuse Using the JDK Explain the JDK?s file structure Use the command line compiler to compile a Java class Use the command line Java interpreter to run a Java application class The IntelliJ Paradigm Introduce the IntelliJ IDE The Basics of the IntelliJ interface IntelliJ Projects and Modules Creating and running Java applications Writing a Simple Class Write a Java class that does not explicitly extend another class Define instance variables for a Java class Create object instances Primitives vs Object References Implement a main method to create an instance of the defined class Adding Methods to the Class Write a class with accessor methods to read and write instance variables Write a constructor to initialize an instance with data Write a constructor that calls other constructors of the class to benefit from code reuse Use the this keyword to distinguish local variables from instance variables Object-Oriented Programming Real-World Objects Classes and Objects Object Behavior Methods and Messages Inheritance, Abstraction, and Polymorphism Encapsulation Inheritance Method Overriding Polymorphism Essential Java Programming Essential Java Programming Language Statements Arithmetic operators Operators to increment and decrement numbers Comparison operators Logical operators Return type of comparison and logical operators Use for loops Switch Expressions Switch Expressions and yield Using Strings and Text Blocks Create an instance of the String class Test if two strings are equal Get the length of a string Parse a string for its token components Perform a case-insensitive equality test Build up a string using StringBuffer Contrast String, StringBuffer,and StringBuilder Compact Strings Text Blocks Specializing in a Subclass Constructing a class that extends another class Implementing equals and toString Writing constructors that pass initialization data to parent constructor Using instanceof to verify type of an object reference Pattern matching for instanceof Overriding subclass methods Safely casting references to a more refined type Fields and Variables Discuss Block Scoping Rules Distinguish between instance variables and method variables within a method Explain the difference between the terms field and variable List the default values for instance variables Final and Static fields and methods Local Variable type inference Using Arrays Declaring an array reference Allocating an array Initializing the entries in an array Writing methods with a variable number of arguments Records Data Objects in Java Introduce records as carrier of immutable data Defining records Java Packages and Visibility Use the package keyword to define a class within a specific package Discuss levels of accessibility/visibility Using the import keyword to declare references to classes in a specific package Using the standard type naming conventions Visibility in the Java Modular System Correctly executing a Java application class The Java modular system Defining Modules Inheritance and Polymorphism Write a subclass with a method that overrides a method in the superclass Group objects by their common supertype Utilize polymorphism Cast a supertype reference to a valid subtype reference Use the final keyword on methods and classes to prevent overriding Interfaces and Abstract Classes Define supertype contracts using abstract classes Implement concrete classes based on abstract classes Define supertype contracts using interfaces Implement concrete classes based on interfaces Explain advantage of interfaces over abstract classes Explain advantage of abstract classes over interfaces Static, default and private methods in interfaces Sealed classes Introduce Sealed classes The sealed and permits modifiers Sealed Interfaces Exception Handling Introduction to Exception Handling Introduce the Exception architecture Defining a try/catch blocks Checked vs Unchecked exceptions Exceptions Defining your own application exceptions Automatic closure of resources Suppressed exceptions Handling multiple exceptions in one catch Helpful Nullpointers Enhanced try-with-resources Java Developer's Toolbox Developing applications Introduce the wrapper classes Explain Autoboxing and Unboxing Converting String representations of primitive numbers into their primitive types Defining Enumerations Using static imports Deprecating methods Advanced Java Programming Introduction to Generics Generics and Subtyping Bounded Wildcards Generic Methods Legacy Calls To Generics When Generics Should Be Used Lambda Expressions and Functional Interface Understanding the concept of functional programming Writing lambda expressions Understanding functional interfaces Collections Provide an overview of the Collection API Review the different collection implementations (Set, List and Queue) Explore how generics are used with collections Examine iterators for working with collections Using Collections Collection Sorting Comparators Using the Right Collection Lambda expressions in Collections Bonus Topics: Time Permitting Streams Understanding the problem with collections in Java Thinking of program solutions in a declarative way Use the Stream API to process collections of data Understand the difference between intermediate and terminal stream operations Filtering elements from a Stream Finding element(s) within a Stream Collecting the elements from a Stream into a List takeWhile and dropWhile intermediate operations Collectors Using different ways to collect the items from a Stream Grouping elements within a stream Gathering statistics about numeric property of elements in a stream
The comprehensive Advanced SAS Programming With MacrosSQL has been designed by industry experts to provide learners with everything they need to enhance their skills and knowledge in their chosen area of study. Enrol on the Advanced SAS Programming With MacrosSQL today, and learn from the very best the industry has to offer! This best selling Advanced SAS Programming With MacrosSQL has been developed by industry professionals and has already been completed by hundreds of satisfied students. This in-depth Advanced SAS Programming With MacrosSQL is suitable for anyone who wants to build their professional skill set and improve their expert knowledge. The Advanced SAS Programming With MacrosSQL is CPD-accredited, so you can be confident you're completing a quality training course will boost your CV and enhance your career potential. The Advanced SAS Programming With MacrosSQL is made up of several information-packed modules which break down each topic into bite-sized chunks to ensure you understand and retain everything you learn. After successfully completing the Advanced SAS Programming With MacrosSQL, you will be awarded a certificate of completion as proof of your new skills. If you are looking to pursue a new career and want to build your professional skills to excel in your chosen field, the certificate of completion from the Advanced SAS Programming With MacrosSQL will help you stand out from the crowd. You can also validate your certification on our website. We know that you are busy and that time is precious, so we have designed the Advanced SAS Programming With MacrosSQL to be completed at your own pace, whether that's part-time or full-time. Get full course access upon registration and access the course materials from anywhere in the world, at any time, from any internet-enabled device. Our experienced tutors are here to support you through the entire learning process and answer any queries you may have via email.
Parsing or syntactic analysis is one of the first stages in designing and implementing a compiler. Implementing a full manual parser from scratch allows understanding and seeing this process from the inside, demystifying internal structures, and turning building parsers into an interesting engineering task.
This course takes you through the latest features of Java 8 step by step. You'll get to grips with using lambdas, interfaces, streams, pipelines, methods, and optional application programming interfaces (APIs) and be ready to apply your skills to write efficient Java programs.
Get to grip with the foundations of Python Programming language
The Computer Science and Programming Diploma course covers the fundamental theories of Algorithm Analysis. If you want to explore the concepts and methods that make a good programmer, then the course is designed for you. Programming is all about how to solve a problem. Programming theory is not confined to a single language; rather it applies to all programming languages. By understanding the right programming theory, you will be able to analyse a problem and also able to find out the probable solution. The course teaches you these Programming theories covering Algorithm analysis, Binary Number System, Arrays and their Advantages, the process of analysing a problem, Nodes and their Importance, various sorting algorithms and their comparisons, and more. Upon completion, you will be able to understand the core theories of computer science. What Will I Learn? Understand the Fundamental Theories of Algorithm Analysis Be able to Compare Various Algorithms Understand When to use Different Data Structures and Algorithms Understand the Fundamentals of Computer Science theory Requirements A Willingness to Learn New Topics! No Prior Experience or Knowledge is Needed! Module: 01 Kurt Anderson - 1 Introduction FREE 00:01:00 Kurt Anderson - 2 Binary System FREE 00:11:00 Kurt Anderson - 3 Complexity Introduction 00:02:00 Kurt Anderson - 4 Math Refresher Logarithmic Functions 00:11:00 Kurt Anderson - 5 Math Refresher Factorial Functions.TS 007 00:03:00 Kurt Anderson - 6 Math Refresher Algebraic Expressions.TS 00:03:00 Kurt Anderson - 7 n-notation 00:19:00 Kurt Anderson - 8 Big O 00:13:00 Kurt Anderson - 9 Big O Real World Example 00:10:00 Module: 02 Kurt Anderson - 10 How is Data Stored 00:09:00 Kurt Anderson - 11 Fixed Arrays 00:20:00 Kurt Anderson - 12 Circular Arrays 00:08:00 Kurt Anderson - 13 Dynamic Arrays 00:16:00 Kurt Anderson - 14 Array Review 00:08:00 Kurt Anderson - 15 Array Real World Examples 00:06:00 Kurt Anderson - 16 Linked List 00:12:00 Kurt Anderson - 16 Nodes 00:04:00 Kurt Anderson - 17 Linked List Run Times 00:15:00 Kurt Anderson - 18 Doubly Linked Lists 00:08:00 Kurt Anderson - 19 Tail Pointer 00:05:00 Module: 03 Kurt Anderson - 20 Linked List Real World Examples 00:03:00 Kurt Anderson - 20 Stack Example 00:11:00 Kurt Anderson - 21 Linked List Review 00:04:00 Kurt Anderson - 22 Stacks 00:10:00 Kurt Anderson - 23 Queues 00:09:00 Kurt Anderson - 24 Queue Examples 00:10:00 Kurt Anderson - 25 Queue and Stack Run Times 00:06:00 Kurt Anderson - 26 Stack and Queues Real World Examples 00:07:00 Kurt Anderson - 27 Sorting Algorithm Introdcution 00:02:00 Kurt Anderson - 28 Bubble Sort 00:10:00 Kurt Anderson - 29 Selection Sort 00:10:00 Module: 04 Kurt Anderson - 30 Insertion Sort 00:09:00 Kurt Anderson - 31 Quick Sort 00:15:00 Kurt Anderson - 32 Quick Sort Run Times 00:10:00 Kurt Anderson - 33 Merge Sort 00:12:00 Kurt Anderson - 34 Merge Sort Run Times 00:08:00 Kurt Anderson - 35 Stable vs Nonstable 00:07:00 Kurt Anderson - 36 Sorting Algorithm Real World Examples 00:04:00 Kurt Anderson - 37 Basics of Trees 00:08:00 Kurt Anderson - 38 Binary Search Tree 00:09:00 Kurt Anderson - 39 BST Run Times 00:08:00 Module: 05 Kurt Anderson - 40 Tree Traversals 00:13:00 Kurt Anderson - 41 Tree Real World Examples 00:05:00 Kurt Anderson - 42 Heap Introduction 00:04:00 Kurt Anderson - 43 Heap Step by Step 00:12:00 Kurt Anderson - 44 Heap Real World Examples 00:07:00 Kurt Anderson - 45 Thank You 00:01:00
This course offers you the exact skills and principles you need to deliver a project using Python along with the tools you can use to create solid Python code. Master the language constructs, tools, and terminology with this carefully designed course for beginners.
This is an amazing course for anyone who wants to get started with functional programming with libraries such as cats-effect/ZIO and understand IO Monad in depth. Learn about functional programming and effects from this most structured and well-thought-out course on Scala IOs.
The course starts with requirements gathering and ends with implementation, which are the two main elements of software development. Through this course, you will learn to use UML diagrams to analyze and design classes and to highlight relationships between the classes. You will also learn to implement and program the design in C++, C#, and Java.