Find online courses made by experts from around the world.
Take your courses with you and learn anywhere, anytime.
Learn and practice real-world skills and achieve your goals.
The motivation behind this course came from an article titled "Why Can't Programmers Program?" by Jeff Atwood. It talks about how poorly many candidates perform in coding interviews.
Surprisingly a large fraction of applicants, even those with masters’ degrees and phds in computer science, fail during interviews when asked to carry out basic programming tasks such as iterate over a loop and print numbers from 1 -10 . Or solve the common fizz buzz problem. And I’ve experienced this first hand when I interview candidates for software development positions. They could have an impressive academic background as well as experience in various technologies and software projects, but when posed with an interesting programming problem, their code falls apart. The fact is, you don’t need a college education to become a good programmer. Simply there is a big divide between people who can program and those that can’t. It's my experience that the difference has to do with mastering the fundamental building blocks of programming. And that’s basically method level coding and the mastery of topics like string manipulation, lists, loops, logic and recursion. These are fundamental granular components shared by all programming languages. Think of these as the tools a programmer can use to solve problems. And you really gotta know your tools well to be proficient at the craft!
You can’t learn programming by reading books. The fact is you just need a lot of practice. If you want to be a superb programmer, you have to program a lot and work on solving challenging problems that stretch your capabilities. This course offers a systematic and structured way for you to acquire that practice using only a subset of the java language without getting side tracked in other areas of software development. Every concept comes with a coding challenge. I ask you to try solving the challenge on your own before I go over the solution in detail. This approach has worked time and time again for my students.
Not for you? No problem.
30 day money back guarantee.
Learn on the go.
Desktop, iOS and Android.
Certificate of completion.
|Section 1: Basics of Programming in Java|
How to Setup your development environment
Download The Project Puzzles Workspace
Basics of Java Programming & the Main Method
Basics of String Manipulation + Assignment
String Manipulation Continued + Solution
Conditionals & Program Flow + Assignment & SolutionPreview
Using While Loops + Assignment & SolutionPreview
Using For Loops + Assignment & Solution
Nested For Loops & Using the Eclipse debugger
Using Arrays + Assignment & Solution
Introducing Recursion + Assignment
Recursion Continued + Solution
|Section 2: Programming Puzzles|
Before You Begin the PuzzlesPreview
Logic Centric Puzzles + Solutions
More Logic Centric Puzzles + Solutions
Concluding Logic Puzzles + Solutions
Looping Puzzles + Solutions
Looping Puzzles Continued + Solutions
Recursion Puzzles (Coming Soon)
More Recursion Puzzles (Coming Soon)
|Section 3: Object Oriented Programming in Java|
Class And Object
Java Behind The Scenes
Interfaces and Abstractions
|Section 4: Basic Data Structures You Should Learn|
Abstract Data Types (Newly Added)
Stacks (HW Solution)
Where to go from here
I'm a passionate software consultant and programmer of enterprise software architectures. I've spent a considerable amount of time building financial software on Wall St. and worked for companies like S&P, Goldman Sachs, AOL along with helping various startups solve mission critical software problems. In my 13 years of experience, I've developed massive enterprise level software using programming languages like Java, C++, Python, PL/SQL and Ruby. I've learned many lessons along the way, and I hope to share this knowledge with aspiring software developers. I've always had a passion for teaching in seminars and corporations during my consulting projects. My online school Eliminate Code Fear gives me the opportunity to share my knowledge with students of all backgrounds and experiences across the globe! I'm really excited for this opportunity to bring to you real-world practical experience! Join my initiative and we'll work together to bring out the best programmer in you!