Aspire Journeys

Developer to Software Architect

  • 40 Courses | 52h 26m 37s
  • 4 Labs | 24h
Likes 67 Likes 67
Explore developer programming languages, frameworks, and database developer tools, such as Java, Spring Web MVC, JDBC, and Redis as you prepare to become a Software Architect.

Track 1: Developer

In this Skillsoft Aspire track of the Developer to Software Architect Journey, the focus will be on advanced data structures and multithreading and concurrency in Java.

  • 14 Courses | 19h 32m 47s
  • 1 Lab

Track 2: Database Developer

In this Skillsoft Aspire track of the Developer to Software Architect Journey, the focus will be on Java database connectivity using JDBC and Java persistence API with hibernate.

  • 11 Courses | 16h 6m 20s
  • 1 Lab | 8h

Track 3: Full Stack Developer

In this Skillsoft Aspire track of the Developer to Software Architect Journey, the focus will be on building web applications with Spring MVC and building microservices with Spring Boot.

  • 9 Courses | 11h 35m 39s
  • 1 Lab | 8h

Track 4: Software Architect

In this Skillsoft Aspire track of the Developer to Software Architect Journey, the focus will be on working with the Redis In-memory data store.

  • 6 Courses | 5h 11m 51s
  • 1 Lab | 8h

COURSES INCLUDED

Advanced Data Structures & Algorithms in Java: Working With Binary Trees
A solid understanding of data structures and algorithms is fundamental to writing clean, performant, fast, and robust programs without relying on scarce resources. To capitalize on this, Software Engineers need to recognize the core concepts of basic data structures, their characteristics, and the algorithms behind them. In this course, you'll identify the basic structure and representation of a binary tree and tree traversal algorithms. You'll learn how binary trees are essentially nodes that have references to their left and right children. You'll explore how nodes of a binary tree can be traversed using depth-first traversal and breadth-first traversal. Finally, you'll recognize the three flavors that exist for depth-first traversal: pre-order, post-order, and in-order traversal.
17 videos | 1h has Assessment available Badge
Advanced Data Structures & Algorithms in Java: Solving Binary Tree Problems
Binary trees are commonly used data structures in programming interviews. It's essential you know how to solve binary tree problems such as counting the number of nodes in a tree, finding the maximum depth of a tree, and mirroring a binary tree using robust, recursive solutions. In this course, you'll solve some common interview-style problems using binary trees, such as how to use a recursive algorithm to count the number of nodes in a binary tree, calculate the maximum depth of a tree, sum up the values of nodes along a path, and mirror a binary tree. Finally, you'll explore different kinds of binary trees, namely the full binary tree, the complete binary tree, the perfect binary tree, and the balanced binary tree.
18 videos | 1h has Assessment available Badge
Advanced Data Structures & Algorithms in Java: Working with Binary Search Trees
A binary search tree is a unique data structure that allows for highly performant insert and lookup operations because, for every value stored in the tree, there is precisely one position where that value can exist. Knowing how to work with this data structure is an essential tool for your software engineering toolkit. In this course, you'll explore the various operations that you can perform on a binary search tree. You'll recognize how the binary search tree works for efficient insert and lookup operations and how to implement the code for these operations. You'll move on to identify the constraints on the nodes of a binary search tree data structure. Finally, you will learn how to write code for various problems that involve binary search trees.
10 videos | 56m has Assessment available Badge
Advanced Data Structures & Algorithms in Java: Sorting & Searching Algorithms
Data structures and algorithms are vital tools in writing robust and performant code. Being trained in the proper use of these tools is the responsibility of all Software Engineers. Using these tools correctly involves recognizing which algorithms to use for which scenarios. In this course, you'll identify and implement several algorithms to sort data stored in a list. You'll explore the various trade-offs made with sorting algorithms in terms of time and space complexity. You'll recognize the nitty-gritty details of sorting algorithms such as selection sort, bubble sort, insertion sort, and divide and conquer algorithms like merge sort and quick sort. Finally, you'll learn to use searching algorithms that allow you to quickly look elements up in a sorted list such as binary search, jump search, and interpolation search.
22 videos | 2h has Assessment available Badge
Advanced Data Structures & Algorithms in Java: Working with the Binary Heap
The binary heap, the data structure used to implement a priority queue, is an interesting data structure. Recognizing how best to work with the binary heap is part of creating sturdy and fast software programs. In this course, you'll explore the binary heap data structure used to implement a priority queue in a performant and efficient manner. You'll recognize how the binary heap is essentially a binary tree that satisfies two additional constraints: the heap property and the shape property. You'll examine how the binary heap can be represented using an array and how it allows us to implement add, remove, and access operations on a priority queue in an extremely high-performing manner. Finally, you'll learn how the binary heap helps us implement an efficient sort algorithm: the heap sort.
16 videos | 2h has Assessment available Badge
Advanced Data Structures & Algorithms in Java: Getting Started with Graphs
Graph data structures have numerous real-world applications. Recognizing what these applications are and how best to work with graphs in your day-to-day is a must-have skill for any Software Engineer. In this course, you'll identify what is meant by a graph. You'll examine the typical, real-life applications of graphs and explore how they can be represented in programming languages. You'll move on to define different types of graphs, such as directed and undirected graphs, connected graphs, trees, and weighted and unweighted graphs. Next, you'll explore how to write code and perform operations on graphs. Finally, you'll implement graph representations in code using the adjacency matrix representation, the adjacency list, and adjacency set representation.
19 videos | 1h has Assessment available Badge
Advanced Data Structures & Algorithms in Java: Working with Graph Algorithms
To effectively work with graphs in your daily software engineering operations, you need to expand your knowledge beyond a basic familiarity. To do this, you need to identify which algorithms are used for which tasks and how to implement these algorithms using the Java programming language. In this course, you'll identify how graph nodes can be sorted using the topological sort algorithm, which has many real-life applications, such as course scheduling, as well as modeling tasks and dependencies. Next, you'll explore shortest path algorithms, which are used in mapping applications. You'll move on to identify and implement the shortest path in an unweighted graph. Finally, you'll implement Dijkstra's algorithm to find the shortest path in a weighted graph.
13 videos | 1h has Assessment available