Design Patterns – 24 That Matter – In Java

About this Course
  • Prerequisites: Basic understanding of Java
  • Taught by a Stanford-educated, ex-Googler, husband-wife team
  • More than 50 real-world examples

This is an intensely practical, deeply thoughtful, and quirky take on 24 Design Patterns that matter.

Let’s parse that.

  • The course is intensely practical, bursting with examples – the more important patterns have 3-6 examples each. More than 50 real-world Java examples in total
  • The course is deeply thoughtful, and it will coax and cajole you into thinking about the irreducible core of an idea – in the context of other patterns, overall programming idioms and evolution in usage
  • The course is also quirky. The examples are irreverent. Lots of little touches: repetition, zooming out so we remember the big picture, active learning with plenty of quizzes. There’s also a peppy soundtrack, and art – all shown by studies to improve cognition and recall
  • Lastly, the patterns matter because each of these 24 is a canonical solution to recurring problems

design-patterns-24-that-matter-in-java

What’s Covered:

  • Decorator, Factory, Abstract Factory, Strategy, Singleton, Adapter, Facade, Template, Iterator, MVC, Observer, Command, Composite, Builder, Chain of Responsibility, Memento, Visitor, State, Flyweight, Bridge, Mediator, Prototype, Proxy, Double-Checked Locking and Dependency Injection
  • The only GoF pattern not covered is the Interpreter pattern, which we felt was too specialized and too far from today’s programming idiom; instead we include an increasingly important non-GoF pattern, Dependency Injection
  • Examples: Java Filestreams, Reflection, XML specification of UIs, Database handlers, Comparators, Document Auto-summarization, Python Iterator classes, Tables and Charts, Threading, Media players, Lambda functions, Menus, Undo/Redo functionality, Animations, SQL Query Builders, Exception handling, Activity Logging, Immutability of Strings, Remote Method Invocation, Serializable and Cloneable, networking
  • Dependency Inversion, Demeter’s Law, the Open-Closed Principle, loose and tight coupling, the differences between frameworks, libraries and design patterns

Who is the target audience?

  • Yep! Engineers – from street-smart coders to wise architects – ought to take this course. After this class, you’ll look at software design with a new pair of eyes
  • Yep! Product Managers ought to take this course – you will learn to understand the ‘how’ of Software Design without being constrained by it
  • Yep! Technology executives and investors who don’t write code ought to take this course – after this you will always have an intelligent point-of-view on software, and won’t find your eyes glazing over when its time to talk nitty-gritty
  • Computer Science majors (undergrad or grad) – if you are among the folks that make ‘real world example Observer Pattern’ such a common search phrase on Google, this is precisely the place for you
  • Yep! Journalists, Wall Street types or IP lawyers seeking to understand recurring patterns of problems and solutions in technology
  • Yep! If you are prepping hard for software engineering interviews 🙂
  • Nope! This course is not right for you if you are looking for a Programming 101 course. That’s not because there are pre-requisites, but simply because a Programming 101 course focuses on syntax, and on doing, while this course focuses on design, and on thinking

Design Patterns - 24 That Matter - In Java1

Basic knowledge
  • There are no pre-requisites other than curiosity – about Design, about Patterns, about Life 🙂
What you will learn
  • Identify situations that call for the use of a Design Pattern
  • Understand each of 24 Design Patterns – when, how, why and why not to use them
  • Distill the principles that lie behind the Design Patterns, and apply these in coding and in life, whether or not a Design Pattern is needed
  • Spot programming idioms that are actually built on Design Patterns, but that are now hiding in plain sight

More: 

Advertisements

Crack Programming And Coding Interviews in 1st Attempt

About this Course

Programming interviews are like standard plays in professional sport – prepare accordingly. Don’t let Programming Interview gotchas get you down!

  • This course has been drawn by a team that has conducted hundreds of technical interviews at Google and Flipkart
  • Just like teams prepare for their opponent’s playbooks in professional sport, it makes sense for you to approach programming interviews anticipating the interviewer’s playbook
  • Programming interviews differ from real programming jobs in several important aspects, so they merit being treated differently, just like set pieces in sport

Crack Programming And Coding Interviews

What’s Covered:

  • Pointers: Memory layout of pointers and variables, pointer arithmetic, arrays, pointers to pointers, pointers to structures, argument passing to functions, pointer reassignment and modification – complete with visuals to help you conceptualize how things work
  • Strings: Strings, Character pointers, character arrays, null termination of strings, string.h function implementations with detailed explanations
  • Linked lists: Visualization, traversal, creating or deleting nodes, sorted merge, reversing a linked list and many many problems and solutions, doubly linked lists
  • Bit Manipulation: Work with bits and bit operations
  • Sorting and searching algorithms: Visualize how common sorting and searching algorithms work and the speed and efficiency of those algorithms
  • Recursion: Master recursion with lots of practice! 8 common and uncommon recursive problems explained. Binary search, finding all subsets of a subset, finding all anagrams of a word, the infamous 8 Queens problem, executing dependent tasks, finding a path through a maze, implementing PaintFill, comparing two binary trees
  • Data Structures: Understand queues, stacks, heaps, binary trees and graphs in detail along with common operations and their complexity. Includes code for every data structure along with solved interview problems based on these data structures
  • Step-by-step solutions to dozens of common programming problems: Palindromes, Game of Life, Sudoku Validator, Breaking a Document into Chunks, Run Length Encoding, Points within a distance are some of the problems solved and explained

Who is the target audience?

  • YEP! New engineering graduate students who are interviewing for software engineering jobs
  • YEP! Professionals from other fields with some programming knowledge looking to change to a software role
  • YEP! Software professionals with several years of experience who want to brush up on core concepts
  • NOPE! Other technology related professionals who are looking for a high level overview of pointer concepts

Programming And Coding Interviews

Basic knowledge
  • This course requires some basic understanding of a programming language, preferably C. Some solutions are in Java, though Java is not a requirement
What you will learn
  • Know how to approach and prepare for coding interviews
  • Understand pointer concepts and memory management at a very deep and fundamental level
  • Tackle a wide variety of linked list problems and know how to get started when asked linked list questions as a part of interviews
  • Tackle a wide variety of general pointer and string problems and know how to answer questions on them during interviews
  • Tackle a wide variety of general programming problems which involve just plain logic, no standard algorithms or data structures, these help you get the details right!

 More: 

Data Structures & Algorithms in Java

About this Course

This is an animated, visual and spatial way to learn data structures and algorithms

  • Our brains process different types of information differently – evolutionarily we are wired to absorb information best when it is visual and spatial i.e. when we can close our eyes and see it
  • More than most other concepts, Data Structures and Algorithms are best learnt visually. These are incredibly easy to learn visually, very hard to understand most other ways
  • This course has been put together by a team with tons of everyday experience in thinking about these concepts and using them at work at Google, Microsoft and Flipkart

Data Structures & Algorithms in Java1

What’s Covered:

  • Big-O notation and complexity
  • Stacks
  • Queues
  • Trees
  • Heaps
  • Graphs and Graph Algorithms
  • Linked lists
  • Sorting
  • Searching

Using discussion forums

Please use the discussion forums on this course to engage with other students and to help each other out. Unfortunately, much as we would like to, it is not possible for us at Loonycorn to respond to individual questions from students:-(

We’re super small and self-funded with only 2 people developing technical video content. Our mission is to make high-quality courses available at super low prices.

The only way to keep our prices this low is to *NOT offer additional technical support over email or in-person*. The truth is, direct support is hugely expensive and just does not scale.

We understand that this is not ideal and that a lot of students might benefit from this additional support. Hiring resources for additional support would make our offering much more expensive, thus defeating our original purpose.

It is a hard trade-off.

Thank you for your patience and understanding!

Who is the target audience?

  • Yep! Computer Science and Engineering grads who are looking to really visualise data structures, and internalise how they work
  • Yep! Experienced software engineers who are looking to refresh important fundamental concepts
Basic knowledge
  • Basic knowledge of programming is assumed, preferably in Java
What you will learn
  • Visualise – really vividly imagine – the common data structures, and the algorithms applied to them
  • Pick the correct tool for the job – correctly identify which data structure or algorithm makes sense in a particular situation
  • Calculate the time and space complexity of code – really understand the nuances of the performance aspects of code

More:

Easy to Advanced Data Structures

About this Course

Data structures are amongst the most fundamental ingredients in the recipe for creating efficient algorithms and good software design. Knowledge of how to create and design good data structures is an essential skill required in becoming an exemplary programmer. This course will teach you how to master the fundamental ideas surrounding data structures.

Learn and master the most common data structures in this comprehensive course:

4 Easy to Advanced Data Structures

  • Static and dynamic arrays
  • Singly and doubly linked lists
  • Stacks
  • Queues
  • Heaps/Priority Queues
  • Binary Trees/Binary Search Trees
  • Union find/Disjoint Set
  • Hash tables
  • Fenwick trees
  • AVL trees

Course contents

This course provides you with high quality animated videos explaining a multitude of data structures and how they are represented visually. You will learn how to code various data structures together with simple to follow step-by-step instructions. Every data structure presented will be accompanied by some working source code (in Java) to solidify your understanding of that particular data structure. I will also be posting various coding exercises and multiple choice questions to ensure that you get some hands on experience.

Who is the target audience?

  • Individuals hungry for new knowledge
  • Students who want a fundamental understanding of data structures
Basic knowledge
  • Basic computer science knowledge
What you will learn
  • Mature understanding of data structures
  • Algorithms associated with data structures
  • Dynamic arrays
  • Singly and doubly linked list
  • Queues & Stacks
  • Binary Trees and Binary search trees
  • Heaps & Priority queues
  • Union find/Disjoint set
  • Hash table/Associative array
  • Fenwick tree/Binary indexed tree

More:  

Full Stack Development with Angular and Spring MVC

About this Course

Welcome to the Full Stack Development with Angular and Spring MVC. For those of you, who don’t know Angular and Spring MVC, i would like give a quick introduction about these two technologies.

Angular is one of the most popular front end Javascript framework for building web application, on the other hand, Spring MVC is also one of most popular Java framework for building Java Web Applications, using which we can build industry standard Java/J2EE Enterprise Applications.

Full Stack Development with Angular and Spring MVC

So in this course we are taking an advantage of these two technologies and we are going to build a web application. The application that we are going to build is not a simple Hello World application, we are going to build an End-to-End Database Application, we are going to perform all the CRUD operations, like CREATE, READ, UPDATE, DELETE.

What are we going to build in this course ?

In this course we are going to build a Book Management System, where the user can,

  • CREATE a book
  • READ a book
  • UPDATE a book
  • DELETE a book

How do we start this course?

  • We will begin this course by Creating a REST API which is a BOOK API and we are going to build this API using Spring MVC and we will make use of Hibernate as our ORM. The BOOK API provide a bunch of service end points which we are going to make HTTP calls on those service end points using Angular

I am super excited to teach you this course. I will see you inside the course.

Basic knowledge
  • Basic knowledge of HTML, CSS and Javascript
  • Basic knowledge of Core Java
  • Basic knowledge of Spring MVC
  • Basic knowledge of Hibernate
  • Basic knwoledge of RESTful web services
What you will learn
  • So by the end of this course, you will have a better knowledge of Angular and Spring MVC. You will have a better understanding of how to integrate Angular and Spring MVC. You are able to create your own API and making a HTTP calls using Angular

More:

Java Programming for Complete Beginners in 250 Steps

About this Course

We love Programming. Our aim with this course is to create a love for Programming.

Java is one of the most popular programming languages. Java offers both object oriented and functional programming features.

We take an hands-on approach using a combination of JShell(An awesome new feature in Java 9) and Eclipse as an IDE to illustrate more than 200 Java Coding Exercises, Puzzles and Code Examples.

In more than 250 Steps, we explore the most important Java Programming Language Features

Java Programming

  • Basics of Java Programming – Expressions, Variables and Printing Output
  • Java Operators – Java Assignment Operator, Relational and Logical Operators, Short Circuit Operators
  • Java Conditionals and If Statement
  • Methods – Parameters, Arguments and Return Values
  • Object Oriented Programming – Class, Object, State and Behavior
  • Basics of OOPS – Encapsulation, Abstraction, Inheritance and Polymorphism
  • Basics about Java Data Types – Casting, Operators and More
  • Java Built in Classes – BigDecimal, String, Java Wrapper Classes
  • Conditionals with Java – If Else Statement, Nested If Else, Java Switch Statement, Java Ternary Operator
  • Loops – For Loop, While Loop in Java, Do While Loop, Break and Continue
  • Immutablity of Java Wrapper Classes, String and BigDecimal
  • Java Dates – Introduction to LocalDate, LocalTime and LocalDateTime
  • Java Array and ArrayList – Java String Arrays, Arrays of Objects, Primitive Data Types, toString and Exceptions
  • Introduction to Variable Arguments
  • Basics of Designing a Class – Class, Object, State and Behavior. Deciding State and Constructors.
  • Understanding Object Composition and Inheritance
  • Java Abstract Class and Interfaces. Introduction to Polymorphism.
  • Java Collections – List Interface(ArrayList, LinkedList and Vector), Set Interface (HashSet, LinkedHashSet and TreeSet), Queue Interface (PriorityQueue) and Map Interface (HashMap, HashTable, LinkedHashMap and TreeMap() – Compare, Contrast and Choose
  • Generics – Why do we need Generics? Restrictions with extends and Generic Methods, WildCards – Upper Bound and Lower Bound.
  • Functional Programming – Lambda Expression, Stream and Operations on a Stream (Intermediate Operations – Sort, Distinct, Filter, Map and Terminal Operations – max, min, collect to List), Functional Interfaces – Predicate Interface,Consumer Interface, Function Inteface for Mapping, Method References – static and instance methods
  • Introduction to Threads and MultiThreading – Need for Threads
  • Implementing Threads – Extending Thread Class and Implementing Runnable Interface
  • States of a Thread and Communication between Threads
  • Introduction to Executor Service – Customizing number of Active Threads. Returning a Future, invokeAll and invokeAny
  • Introduction to Exception Handling – Your Thought Process during Exception Handling. try, catch and finally. Exception Hierarchy – Checked Exceptions vs Unchecked Exceptions. Throwing an Exception. Creating and Throwing a Custom Exception – CurrenciesDoNotMatchException. Try with Resources – New Feature in Java 7.
  • List files and folders in Directory with Files list method, File walk method and find methods. Read and write from a File.

17 Java Programming for Complete Beginners in 250 Steps

Who is the target audience?

  • You want to learn Programming
  • You are a beginner and want to explore Java further
  • You want to learn the basics of Object Oriented Programming with Java
  • You want to learn the basics of Functional Programming with Java
Basic knowledge
  • Connectivity to Internet to download Java 9 and Eclipse.
  • We will help you install Eclipse and Java 9
  • Oracle Solaris or 64 bit Microsoft Windows or Linux or macOS
  • Java 9 does NOT work on 32 bit Microsoft Windows! You would need a 64 bit Microsoft Windows if you would want to use Windows.
What you will learn
  • You will learn how to think as a Java Programmer
  • You will learn how to start your journey as a Java Programmer
  • You will learn the basics of Eclipse IDE and JShell
  • You will learn to develop awesome object oriented programs with Java
  • You will solve a wide variety of hands-on exercises with Java
  • You will learn the basics of programming – variables, choosing a data type, conditional execution, loops, writing great methods, breaking down problems into sub problems and implementing great Exception Handling
  • You will learn the basics of Object Oriented Programming – Intefaces, Inheritance, Abstract Class and Constructors
  • You will learn the important concepts of Object Oriented Programming – Abstraction, Inheritance, Encapsulation and Polymorphism
  • You will learn to do basic functional programming with Java
  • You will learn the basics of MultiThreading – with Executor Service
  • You will learn about a wide variety of Collections – List, Map, Set and Queue Interfaces

More:

Eclipse Tutorial For Beginners

About this Course

Eclipse is the most popular Open Source Java IDE. More developers use Eclipse than any other tool for Java Programming.

In this course, we take you on a fun ride with Eclipse.

By the end of this course, you would have a number of Eclipse tips and tricks up your sleeve. You will also understand various features of Eclipse – Views, Perspectives, Debugger, Save Actions, Plugins and Code Generation.

Eclipse1

 

You will improve your productivity with Eclipse Shortcuts . You will also learn to import projects from Git and the basics of Maven projects.

Course is Organised into 11 Steps : Experienced Eclipse Developers can give Step 0 a skip

  • Step 0 : Eclipse Basics – Workspace & Your First Java File
  • Step 1 : Most Important Editing Shortcuts ctrl-1 and ctrl-space
  • Step 2 : Debugging Java Programs
  • Step 3 : Eclipse Short Cuts
  • Step 4 : Refactoring with Eclipse
  • Step 5 : Code Generation with Eclipse
  • Step 6 : Automate with Save Actions
  • Step 7 : Eclipse Views
  • Step 8 : Eclipse Perspectives
  • Step 9 : Plugins
  • Step 10 : Setting up Projects From Git and Maven

Who is the target audience?

  • Students who want to learn Programming with Eclipse
  • Students who have some experience with Eclipse but who want to learn a lot more about Eclipse
  • Students Learning Java
Basic knowledge
  • Some programming experience with Java will be handy
What you will learn
  • Be more productive with Eclipse
  • Understand Eclipse Basics : Views, Perspectives, Shortcuts, Code Generation & Plugins
  • Make use of Eclipse Save Actions Features

   More: