When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

From 0 to 1: Learn Java Programming -Live Free,Learn To Code
An accessible yet serious guide to Java programming for everyone

This Course Includes
udemy
4.4 (223 reviews )
16h 49m
english
Online - Self Paced
professional certificate
Udemy
About From 0 to 1: Learn Java Programming -Live Free,Learn To Code
Taught by a Stanford-educated, ex-Googler, husband-wife team
This course will use Java and an Integrated Development Environment (IDE). Never fear, we have a detailed video on how to get this downloaded and set up.
Hundreds of lines of source code, and hundreds of lines of comments - just download and open in your IDE! _
A Java course for everyone - accessible yet serious, to take you from absolute beginner to an early intermediate level
_ Let’s parse that.
This is a Java course for
everyone
. Whether you are a complete beginner (a liberal arts major, an accountant, doctor, lawyer) or an engineer with some programming experience but looking to learn Java - this course is right for you.
The course is
accessible
because it assumes absolutely no programming knowledge, and quickly builds up using first principles alone
Even so, this is a
serious
Java programming class - the gradient is quite steep, and you will go from absolute beginner to an early intermediate level
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.
What's Covered:
Programming Basics:
What programming is, and a carefully thought-through tour of the basics of any programming. Installing and setting up an IDE and writing your first program
The Object-Oriented Paradigm:
Classes, Objects, Interfaces, Inheritance; how an OO mindset differs from a functional or imperative programming mindset; the mechanics of OO - access modifiers, dynamic dispatch, abstract base classes v interfaces. The underlying principles of OO: encapsulation, abstraction, polymorphism
Threading and Concurrency:
A deep and thorough study of both old and new ways of doing threading in Java: Runnables, Callables, Threads, processes, Futures, Executors.
Reflection, Annotations
: The how, what and why - also the good and bad
Lambda Functions:
Functional constructs that have made the crossover into the mainstream of Java - lambda functions, aggregate operators.
Modern Java constructs:
Interface default methods; properties and bindings too. Also detailed coverage of Futures and Callables, as well as of Lambda functions, aggregation operators. JavaFX as contrasted with Swing.
Packages and Jars:
The plumbing is important to understand too.
Language Features:
Serialisation; why the Cloneable interface sucks; exception handling; the immutability of Strings; the Object base class; primitive and object reference types; pass-by-value and pass-by-object-reference.
Design
: The MVC Paradigm, Observer and Command Design Patterns.
Swing
: Framework basics; JFrames, JPanels and JComponents; Menus and menu handling; Trees and their nuances; File choosers, buttons, browser controls. A very brief introduction to JavaFX.
Programming Drills
_
(code-alongs, with source code included)
_
Serious stuff:
A
daily stock quote summariser:
scrapes the internet, does some calculations, and outputs a nice, formatted Excel spreadsheet.
A
News Curation app
to summarise newspaper articles into a concise email snippet using serious Swing programming
Simple stuff:
Support with choosing a programming environment; downloading and setting up IntelliJ.
Simple hello-world style programs in functional, imperative and object-oriented paradigms.
Maps, lists, arrays. Creating, instantiating and using objects, interfaces
What You Will Learn?
- Write Java programs of moderate complexity and sophistication (at an early to middling intermediate level) .
- Understand Object-Oriented programming concepts at the level where you can have intelligent design conversations with an experienced software engineer .
- Manage concurrency and threading issues in a multi-threaded environment .
- Create and modify files (including Excel spreadsheets) and download content from the internet using Java .
- Use Reflection, Annotations, Lambda functions and other modern Java language features .
- Build serious UI applications in Swing .
- Understand the Model-View-Controller paradigm, the Observer and Command Design patterns that are at the heart of modern UI programming .
- Gain a superficial understanding of JavaFX and Properties and Bindings .
- Understand the nuances of Java specific constructs in serialisation, exception-handling, cloning, the immutability of strings, primitive and object reference types Show moreShow less.