Java Puzzles to Eliminate Code Fear
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.
More
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.
Watch Online Java Puzzles to Eliminate Code Fear
# | Title | Duration |
---|---|---|
1 | Course Structure | 05:01 |
2 | Basics of Java Programming & the Main Method | 19:53 |
3 | Basics of String Manipulation + Assignment | 19:03 |
4 | String Manipulation Continued + Solution | 21:12 |
5 | Conditionals & Program Flow + Assignment & Solution | 19:08 |
6 | Using While Loops + Assignment & Solution | 19:50 |
7 | Using For Loops + Assignment & Solution | 13:40 |
8 | Nested For Loops & Using the Eclipse debugger | 17:16 |
9 | Using Arrays + Assignment & Solution | 15:14 |
10 | Introducing Recursion + Assignment | 15:40 |
11 | Recursion Continued + Solution | 09:35 |
12 | Watch Before Moving Forward - IMPORTANT ! | 19:05 |
13 | Logic Centric Puzzles + Solutions | 14:49 |
14 | More Logic Centric Puzzles + Solutions | 19:53 |
15 | Concluding Logic Puzzles + Solutions | 11:34 |
16 | Looping Puzzles + Solutions | 20:00 |
17 | Looping Puzzles Continued + Solutions | 19:59 |
18 | Recursion Puzzles | 09:47 |
19 | More Recursion Puzzles | 09:00 |
20 | Class And Object | 12:36 |
21 | Program Flow | 11:41 |
22 | Java Behind The Scenes | 24:08 |
23 | Application Runtime | 11:11 |
24 | Class Inheritance | 13:53 |
25 | Interfaces and Abstractions | 11:29 |
26 | Abstract Classes | 15:25 |
27 | Abstract Data Types (Newly Added) | 10:19 |
28 | Stacks | 19:29 |
29 | Stacks (HW Solution) | 05:36 |
30 | Queues | 18:18 |