Bits & Bytes Course Outline I spent the last few weeks thinking about what the Bits&Bytes Course would look like. The big question with courses is never "what do I put in?", but rather, "what do I leave out?". For example, floating point numbers can become exceedingly complex. We cover the basic principles, but refer to an excellent Sun Microsystems article for more detailed information. Even a topic as basic as Bits & Bytes has a ton of edge cases that we could consider. I decided to keep it simple. The course is not for those who went to MIT. It is for professional Java programmers who come from other disciplines such as psychology, chemistry or teaching, but have made programming their occupation. We explain why Math.abs(num) might be negative and why 0.1 + 0.2 = 0.306-00000000004, plus show how to write good hashCode() functions in Java 8 and 9. Here is the outline of the course so far: 1. Welcome - Course Origin, Expected Outcomes, Who it is for, Code Samples 2. What are bits, bytes and nibbles? 3. How many bytes does each primitive type use in Java? 4. Converting between base 10 (decimal) and base 5. 5. Converting between decimal and binary 6. Converting between binary and octal 7. Converting between binary and hexadecimal 8. Bitwise operators OR (|) and AND (&) 9. Bitwise operator XOR (^) and COMPLEMENT (~) 10. Shift left << 11. Shift right, signed >> and unsigned >>> 12. Writing a BitPrinter 13. Exploring bits in integer values and why ~0 == -1 14. Masking individual bits inside a number 15. Why Math.abs(num) might be negative 16. Exploring how floating point numbers work 17. Evolution of hash() in Java HashMap 18. Minimizing bucket collisions in HashMap 19. java.util.BitSet (example usage ArrayList.removeIf in Java 8) 20. EnumSet vs bit masking (example usage Spliterator. 21. And so on ... Writing a course takes a lot of time and energy. Unfortunately "ta tekna mou limoktonoun" ;-) so I won't be able to offer this course for free. However, if you join my mailing list for the new course by clicking here, you'll hear about our great opening specials. Kind regards from Crete Heinz P.S. If you don't want to be notified about any of the courses we are producing, please click here to opt out of emails like this.
|