From 0 to 1: Learn Java Programming -Live Free,Learn To Code

S$30.00
Take This Course
From 0 to 1: Learn Java Programming -Live Free,Learn To Code

Course Description
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
Talk to us!

Mail us about anything – anything! – and we will always reply ๐Ÿ™‚
What are the requirements?
No prior programming experience needed:)
The class will make use of Java and an IDE – never fear, we have a detailed video to walk you through the process of setting this up
What am I going to get from this course?
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
What is the target audience?
Yep! Folks with zero programming experience – liberal arts majors, doctors, accountants, lawyers
Yep! Engineering students from non-CS majors looking to learn fairly serious programming
Nope! Experienced Java programmers – this class will be boring for you:)
Yep! Computer Science students or software engineers with no experience in Java, but experience in Python, C++ or even C#. You might need to skip over some bits, but in general the class will still have new learning to offer you ๐Ÿ™‚

Curriculum

Section 1: You, Us & This Course
Introduction
03:32
Section 2: Coding Is Like Cooking
Coding is like Cooking
07:36
Functions as Food Processors
10:58
Installing Java and Setting up an IDE
12:43
Variables – Primitives, Objects, Null
09:39
Hello World! (Drill)
06:50
Don’t Jump Through Hoops, Use Loops
09:03
Arrays and Lists – Drill
14:27
Maps
05:01
Maps – Drill
05:39
Lists
1 question
Arrays
1 question
Section 3: An Object-Oriented State of Mind
The Evolutionary Arc from C, through C++, to Java
12:12
Java Introduction
1 question
Objects are like puppies
03:45
Classes and Objects: An Object-Oriented State of Mind
18:59
Static Variables and Methods
06:47
Access Modifiers
14:52
Java keywords
1 question
Classes and Objects: A Simple Example I
11:57
Classes and Objects: A Simple Example II
09:17
Is-A Inheritance – setting up a class hierarchy
08:57
Is-A Inheritance – parent class, child class relationship
07:09
Runtime Polymorphism
14:21
The Object Base Class
06:08
Interfaces : Introduction
14:19
Interfaces vs Abstract Base Class
06:43
Interfaces
1 question
Interfaces and Abstract Base Classes
1 question
Inheritance
1 question
Interfaces In Detail
15:36
Interface Default Methods: Avoid Backward Compatibility Nightmares
11:15
Interfaces and Inheritance in Action
18:58
Classes and Objects
1 question
Classes and Objects
1 question
Functions
1 question
Output of functions
1 question
Inheritance
1 question
Section 4: Java Language Constructs: The Best Thing Since Sliced Bread
Exceptions
12:09
Object Identity: == and .equals()
10:27
Generics: Type Safety and Code Re-use
16:07
Collections: Containers for all purposes
11:47
Generic Containers – much cooler
09:48
Ordered Associative Containers – The Tree Map
09:46
Inner Classes: Horses for Courses – Static vs Non-Static
14:15
Inner Classes: Horses for Courses – Anonymous and Local
09:45
Generic classes
1 question
Static and non-static nested classes
1 question
Static nested classes
1 question
A File is like a Barrel
11:21
A Serious Java Application: Our First
14:45
A Serious Java Application: Parsing Stock Ticker Data – I
18:42
A Serious Java Application: Parsing Stock Ticker Data – II
10:40
A Serious Java Application: Parsing Stock Ticker Data – III
17:01
A Serious Java Application: Parsing Stock Ticker Data – IV
16:25
A Serious Java Application: Parsing Stock Ticker Data – V
16:09
Files
1 question
Section 5: Threading and Concurrency: A Lot Going On All At Once
Threading, and Why It Matters
14:10
Threading: Old school vs New school
11:57
Traditional Threading Support
14:18
Threading and Concurrency: A lot going on at once
11:28
Synchronized Methods, Livelock, Deadlock and Starvation
10:38
Working with threads – and our first synchronization bug!
15:38
Threads: Object locking and static variables in action
05:57
Digging Deeper into Callables and Futures
15:21
Threading: New school fun in action
12:49
Threading: Executors are pretty cool
06:01
Threading
1 question
Threading
1 question
Threading
1 question
New-school Threading
1 question
New-school Threading
1 question
Section 6: Functional Programming: Crossover Hits
Functional Programming: A State of Mind
04:10
Lambda Functions: A Crossover Hit
12:06
Lambda Functions: No more boiler-plate code
10:30
Lambda functions for real – in code
17:48
Lambdas
1 question
Lambda Functions
1 question
Section 7: Recursion, Reflection, Annotations, Dates, Packages and Jars
Recursion
16:56
Reflection: Not a Dark Art
15:51
Reflection: A real use case
10:22
Type Introspection
1 question
Annotations: Notes to Self can be Super-Useful
16:53
Question 24 – Annotation
1 question
Working With Dates in Java
17:41
Jars: Not As Boring as They Might Seem
13:28
Packages
07:04
Packages and Jars in Action
04:23
Compiling and building Java code
1 question
Serialisation
08:45
Cloning
14:40
The Immutability of Strings
07:27
Section 8: UI Programming: Swing, MVC, and JavaFX
Frameworks – A State of Mind
16:59
The Basic Idea of Swing
16:58
Swing and the Model-View-Controller Paradigm
12:16
MVC Paradigm
1 question
MVC Paradigm
1 question
MVC Paradigm
1 question
The Mechanics of Swing – I
08:18
The Mechanics of Swing – II
18:35
A Serious Swing App: News Curation Browser – I
17:19
A Serious Swing App: News Curation Browser – II
15:18
A Serious Swing App: News Curation Browser – III
16:14
A Serious Swing App: News Curation Browser – IV
17:45
Swing
1 question
Swing
1 question
Swing
1 question
Swing
1 question
Observers, Events and Listeners
10:17
Actions, And The Command Design Pattern
12:26
A Peek at JavaFX – I
11:01
A Peek at JavaFX – II
10:18
Properties And Bindings
11:20
Properties And Bindings In Action
04:13
Section 9: Some Interview Problems For Practice!
Starting up – palindromes and points within a distance
18:16
Play the Game Of Life and Break A Document Into Chunks
18:33
Implement paint fill to color a region on screen
11:42

Instructor Biography
Loony Corn, A 4-person team;ex-Google; Stanford, IIM Ahmedabad, IIT
Loonycorn is us, Janani Ravi, Vitthal Srinivasan, Swetha Kolalapudi and Navdeep Singh. Between the four of us, we have studied at Stanford, IIM Ahmedabad, the IITs and have spent years (decades, actually) working in tech, in the Bay Area, New York, Singapore and Bangalore.

Janani: 7 years at Google (New York, Singapore); Studied at Stanford; also worked at Flipkart and Microsoft

Vitthal: Also Google (Singapore) and studied at Stanford; Flipkart, Credit Suisse and INSEAD too

Swetha: Early Flipkart employee, IIM Ahmedabad and IIT Madras alum

Navdeep: longtime Flipkart employee too, and IIT Guwahati alum

We think we might have hit upon a neat way of teaching complicated tech courses in a funny, practical, engaging way, which is why we are so excited to be here on Udemy!

We hope you will try our offerings, and think you’ll like them ๐Ÿ™‚

Course Features

  • Lectures
    Fatal error: Uncaught Error: Call to undefined method LP_Course::get_lessons() in /home2/waf6oo0adwwo/public_html/wp-content/themes/eduma/inc/learnpress-v2-functions.php:624 Stack trace: #0 /home2/waf6oo0adwwo/public_html/wp-content/themes/eduma/learnpress-v2/single-course/content-landing.php(64): thim_course_info() #1 /home2/waf6oo0adwwo/public_html/wp-content/plugins/learnpress/inc/lp-template-functions.php(2492): include('/home2/waf6oo0a...') #2 /home2/waf6oo0adwwo/public_html/wp-content/themes/eduma/learnpress-v2/content-single-course.php(65): learn_press_get_template('single-course/c...', Array) #3 /home2/waf6oo0adwwo/public_html/wp-content/plugins/learnpress/inc/lp-template-functions.php(2492): include('/home2/waf6oo0a...') #4 /home2/waf6oo0adwwo/public_html/wp-content/plugins/learnpress/inc/lp-template-functions.php(1563): learn_press_get_template('content-single-...') #5 /home2/waf6oo0adwwo/public_html/wp-includes/class-wp-hook.php(286): learn_press_content_single_course('') #6 /home2/waf6oo0adwwo/public_html/wp-i in /home2/waf6oo0adwwo/public_html/wp-content/themes/eduma/inc/learnpress-v2-functions.php on line 624