Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Juppies 2
0. Getting Started (Don't Skip)
0.1. Programming is a team sport - source control (2:31)
0.2. Creating an account on GitHub (2:14)
0.3. Forking the Juppies2 repository from kabutz (2:28)
0.4. Oracle JDK (2:48)
0.5. Oracle OpenJDK (3:10)
0.6. Azul's Zulu OpenJDK (2:35)
0.7. Installing the Oracle OpenJDK (0:39)
0.8. Integrated Development Environments (IDEs) (3:36)
0.9. Downloading Apache NetBeans (4:45)
0.10. Loading our Juppies2 Project in Apache NetBeans (5:51)
0.11. Running the AnagramGame with Apache NetBeans (3:43)
0.12. Downloading IntelliJ IDEA Community Edition (0:50)
0.13. Installing IntelliJ IDEA Community Edition (3:29)
0.14. Running the AnagramGame with IntelliJ IDEA Community Edition (5:26)
0.15. Downloading and Installing Eclipse (5:06)
0.16. Running the AnagramGame with Eclipse (3:14)
1. Our First Java Program - Anagram Game
1.1. AnagramGame Project Structure (3:04)
1.2. WordLibrary (11:39)
1.3. Swing User Interface (UI) (1:13)
1.4. Buffer Overflows (2:42)
1.5. Demo of "New Word" Button (1:49)
1.6. Demo of "Guess" Button (1:14)
1.7. StaticWordLibrary Structure (1:59)
1.8. StaticWordLibrary Details (3:37)
1.9. Changing the Size of Our StaticWordLibrary (2:13)
1.10. How my Buffer Overflow Wiped my Colleague's Hard Disk (3:10)
1.11. Adding Our Own Words to the StaticWordLibrary (4:05)
1.12. WordLibraryTest With JUnit (2:01)
1.13. Java's For-Loop (2:14)
1.14. Testing That Words Are Anagrams (0:55)
1.15. Running JUnit (1:41)
1.16. isAnagram() Method (1:02)
1.17. Fixing StaticWordLibrary (0:34)
1.18. WordLibraries Facade (1:44)
1.19. Find Usages (1:00)
1.20. Exercise (1:29)
1.21. Commiting Changes (1:54)
1.22. GitHub Repository (0:52)
1.23. Pushing Commits to Remote Repository on GitHub (1:16)
1.24. Until Next Time (0:15)
2. Shuffling the Words in the Anagram Game
2.1. Welcome back (0:34)
2.2. Setting up NetBeans Git Toolbar (1:34)
2.3. Creating a Git Branch for Today's Session (1:29)
2.4. Typical Directory Structure Under Maven (2:58)
2.5. NetBeans Magic Shortcuts (2:42)
2.6. Avoid Copy & Paste Programming (1:04)
2.7. Creating a ShuffledWordLibrary (4:07)
2.8. Integer Array for Shuffled Indexes (2:52)
2.9. Finishing the Methods to Delegate to the Other WordLibrary (1:55)
2.10. Trying out the "ShuffledWordLibrary" That Does Not Really Shuffle (1:53)
2.11. Committing Our Changes to Git (1:04)
2.12. Shuffling the Integer Array (5:54)
2.13. Trying Out the Shuffled Anagram List (1:27)
2.14. Committing Our "shuffle" method (1:24)
2.15. ArrayShuffler (3:33)
2.16. Creating an ArrayShufflerTest (6:20)
2.17. Printing the "indexes" Array (5:45)
2.18. Fixing Random to Be More Random (1:39)
2.19. Extending the Tests (8:39)
2.20. The Goat, the Wolf and the Cabbage (Swapping Integer Values) (4:28)
2.21. Testing the Integer Swapping Code (3:40)
2.22. Testing Before Running Application (2:30)
2.23. Fixing the Integer Swapping Code (3:10)
2.24. Integer Swapping With XOR (4:31)
2.25. Value of Source Control Systems (1:29)
2.26. Changed WordLibrary from an Abstract Class to an Interface (6:24)
2.27. Commit and Push (2:19)
2.28. Until Next Time (0:28)
3. Scrambling the Words
3.1. Welcome Back (1:14)
3.2. Create a New Git Branch (1:18)
3.3. ScrambledWordLibrary (4:58)
3.4. SortedScrambledWordLibrary (4:20)
3.5. Committing Entire Project at Once (1:44)
3.6. Creating a RandomScrambledWordLibrary (1:12)
3.7. Adding a "shuffle(char[])" Method (1:18)
3.8. Testing the "shuffle(char[])" Method (11:37)
3.9. Scrambler Strategy Extracted (6:36)
3.10. Rot13Scrambler (3:34)
3.11. OriginalScrambler (2:30)
3.12. Moving Scrambler Interface into ScrambledWordLibary Using IntelliJ IDEA (9:15)
3.13. Moving Shuffler Implementations into ScrambledWordLibrary (1:47)
3.14. Danger of Overusing Inner Classes (0:43)
3.15. Testing Refactoring (2:08)
3.16. Beauty of IDE Interoperability (0:56)
3.17. Anonymous Inner Classes (5:30)
3.18. Converting Anonymous Inner Class to Lambda (10:22)
3.19. Expression Lambdas (3:16)
3.20. Font Ligatures (3:18)
3.21. Testing and Commiting Lambdas (1:02)
3.22. Turning Rot13Scrambler into a Lambda (0:54)
3.23. Method References (2:30)
3.24. Making "ArrayShuffler.shuffle()" Methods Static (2:10)
3.25. Forcing Everyone to Use Static Methods (4:23)
3.26. DecoratedWordLibrary (4:05)
3.27. ScrambledWordLibrary as a Decorator (5:20)
3.28. ShuffledWordLibrary as a Decorator (1:25)
3.29. Cleaning up the Concrete Decorators (2:42)
3.30. Updated Copyright Notices (5:40)
3.31. Make Classes Final Where Possible (6:08)
3.32. Commit and Push (2:56)
3.33. Conclusion (3:23)
Teach online with
1.15. Running JUnit
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock