Java Puzzles to Eliminate Code Fear

The fastest way to actually master Java programming and become a dangerous developer!
4.5 (154 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,721 students enrolled
$19
$95
80% off
Take This Course
  • Lectures 33
  • Length 7.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English

Course Description

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.

What are the requirements?

  • Have access to internet and the willingness to learn computer programming

What am I going to get from this course?

  • tackle any programming problem and once and for all have a command over the coding profession
  • apply razor sharp logic skills you learned in the course to tackle any coding challenges that come your way
  • acquire confidence to rock coding interviews

What is the target audience?

  • If you want to sharpen your programming skills by solving a bunch of programming problems to finally have a command over the programming profession, this course is for you!
  • If you want to become a kick-ass problem solver using java, this course is definitely for you!
  • If you want to just watch lectures passively while having popcorn without working on the programming puzzles, then this course is NOT for you!

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Basics of Programming in Java
Course Structure
Preview
05:00
How to Setup your development environment
Article
Download The Project Puzzles Workspace
Article
Basics of Java Programming & the Main Method
19:52
Basics of String Manipulation + Assignment
19:02
String Manipulation Continued + Solution
21:11
Conditionals & Program Flow + Assignment & Solution
Preview
19:07
Using While Loops + Assignment & Solution
Preview
19:49
Using For Loops + Assignment & Solution
13:39
Nested For Loops & Using the Eclipse debugger
17:15
Using Arrays + Assignment & Solution
15:13
Introducing Recursion + Assignment
15:39
Recursion Continued + Solution
09:35
Section 2: Programming Puzzles
Before You Begin the Puzzles
Preview
19:04
Logic Centric Puzzles + Solutions
14:48
More Logic Centric Puzzles + Solutions
19:52
Concluding Logic Puzzles + Solutions
11:33
Looping Puzzles + Solutions
19:59
Looping Puzzles Continued + Solutions
19:58
Recursion Puzzles (Coming Soon)
Article
More Recursion Puzzles (Coming Soon)
Article
Section 3: Object Oriented Programming in Java
Class And Object
12:35
Program Flow
11:40
Java Behind The Scenes
24:07
Application Runtime
11:10
Class Inheritance
13:52
Interfaces and Abstractions
11:28
Abstract Classes
15:24
Section 4: Basic Data Structures You Should Learn
Abstract Data Types (Newly Added)
10:18
Stacks
19:28
Stacks (HW Solution)
05:35
Queues
18:17
Where to go from here
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Imtiaz Ahmad, Senior Software Engineer & Trainer @ Eliminate Code Fear

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!

Ready to start learning?
Take This Course