Skip to content

Commit 882c514

Browse files
bowbahdoeomniprofDainTrainzohairawan
authored
Update from branch (#128)
* Update initialization.md * Add footnote softening the use of "wrong" Co-Authored-By: Ken Fogel <4064849+omniprof@users.noreply.github.com> * Explain backslash and forward slash Co-Authored-By: Dain LaRock <33586731+DainTrain@users.noreply.github.com> * Resolve #54 * Use IO.readln * Add OffsetDateTime chapter * Chapter on Date * Switch and recursion * Loops III * Checkpoint * More reflection * checkpoint * Numerics * IO println * Checkpoint * Update other prints * .. * Remove junk files * Update code runner * Update switch * ... * calorie tracker * Update calorie_tracker.md * Update calorie_tracker.md * add problem statement * ASCII Art * Point of Sale System * Fix up standard input sections * ... * Bad project * Update buy_now_pay_later.md * Data vis * Update data_visualization.md * Update buy_now_pay_later.md * Update buy_now_pay_later.md * Update data_visualization.md * Challenges up through static methods * cli and array challenges * Inner classes challenges * More challenges * integer challenges * Update buy_now_pay_later.md * Update SUMMARY.md * Object challenges * Time challenges * Hash map and array list challenges * Update challenges.md * more challenges * Code Stuff * Fix array challenges * Update challenges.md * ... * commas * more challenges * Update character.md * Packaging, Compilation, and Just * Java doc * ... * Challenges * elmo full name * Update main.md * Update return_in_void_methods.md * Modulese * music project * Update music_maker.md * Section headings * more * More images * More drawings * 2/3rds * Update interfaces.md * more art * more ART! * remove repl.it * fix img * Update chained_comparisons.md * Update size.md * Update limits.md * Use coordinates of studio where muppets treasure island was filmed * Update equality.md * Update getting_started.md * Delete Screenshot 2025-08-23 at 9.17.49 PM.png * lambdas * more streams * Update challenges.md * streams * Update semicolon.md * regex start * Update what_now.md * mascots in what now * Update what_now.md * Update what_now.md * .. * Update SUMMARY.md * Update first_steps.md * Update first_steps.md * Update challenges.md * Update challenges.md * Update challenges.md * Update variables.md * Update challenges.md * Update challenges.md * Grammar Co-Authored-By: zohairawan <35776095+zohairawan@users.noreply.github.com> * fixed * Update purpose.md * Update challenges.md * Update what_now.md * Update what_now.md * Update book.toml * Update book.toml * Update first_steps.md * Update offset_date_time.md * Create tic_tac_toe.md * Committing to new start * ... * windows instructions * spelling --------- Co-authored-by: Ken Fogel <4064849+omniprof@users.noreply.github.com> Co-authored-by: Dain LaRock <33586731+DainTrain@users.noreply.github.com> Co-authored-by: zohairawan <35776095+zohairawan@users.noreply.github.com>
1 parent f1254b2 commit 882c514

File tree

76 files changed

+523
-61
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+523
-61
lines changed

book.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ mathjax-support = true
1515
additional-css = ["ferris.css"]
1616
additional-js = ["ferris.js"]
1717
heading-split-level = 2
18+
default-theme = "light"
19+
preferred-default-theme = "light"
1820

1921
[output.html.fold]
2022
enable = false # whether or not to enable section folding

src/SUMMARY.md

Lines changed: 60 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,53 @@ Intro to testing
101101
Gui stuff
102102
-->
103103

104-
# Modern Java
105104

106105
- [Prelude](./prelude.md)
107106
- [Asking for Help](./prelude/asking_for_help.md)
108107
- [Toy Problems](./prelude/toy_problems.md)
109108
- [Lies](./prelude/lies.md)
110109
- [AI](./prelude/ai.md)
111110
- [Java](./prelude/java.md)
112-
- [Getting Started](./getting_started.md)
111+
112+
# The Computing Environment
113+
114+
- [Hardware](./hardware.md)
115+
- [CPU](./hardware/cpu.md)
116+
- [RAM](./hardware/ram.md)
117+
- [Hard Drives](./hardware/hard_drives.md)
118+
- [Motherboard](./hardware/motherboard.md)
119+
- [Operating Systems](./operating_systems.md)
120+
- [Personal Computers](./operating_systems/personal_computers.md)
121+
- [Servers](./operating_systems/servers.md)
122+
- [Mobile Phones](./operating_systems/mobile_phones.md)
123+
- [Game Consoles](./operating_systems/game_consoles.md)
124+
- [Abstractions](./operating_systems/abstractions.md)
125+
- [Defaults](./operating_systems/defaults.md)
126+
127+
# Modern Java
128+
129+
- [Set Up Your Computer](./text_editors/set_up_your_computer.md)
130+
- [Text Editors](./text_editors.md)
131+
- [IDEs](./text_editors/ides.md)
132+
- [VSCodium](./text_editors/vscodium.md)
133+
- [Install VSCodium](./text_editors/install_vscodium.md)
134+
- [Install Java](./text_editors/install_java.md)
135+
- [The Terminal](./the_terminal.md)
136+
- [Bash](./the_terminal/bash.md)
137+
- [Windows Subsystem for Linux](./the_terminal/windows_subsystem_for_linux.md)
138+
- [Chromebooks and School Computers](./the_terminal/chromebooks_and_school_computers.md)
139+
- [Commands](./the_terminal/commands.md)
140+
- [Directories](./the_terminal/directories.md)
141+
- [Listing Files](./the_terminal/listing_files.md)
142+
- [Creating Directories](./the_terminal/creating_directories.md)
143+
- [Changing Directories](./the_terminal/changing_directories.md)
144+
- [Creating Files](./the_terminal/creating_files.md)
145+
- [Run Java Programs](./the_terminal/run_java_programs.md)
146+
- [Getting Used to it](./the_terminal/getting_used_to_it.md)
147+
- [Challenges](./the_terminal/challenges.md)
148+
149+
150+
<!-- - [Getting Started](./getting_started.md) -->
113151
- [First Steps](./first_steps.md)
114152
- [Comments](./first_steps/comments.md)
115153
- [Semicolons](./first_steps/semicolon.md)
@@ -445,7 +483,7 @@ Gui stuff
445483
# Projects
446484

447485
<!-- chicken nugget number type things come up when dispensing change -->
448-
- [Tic-Tac-Toe]()
486+
- [Tic-Tac-Toe](./projects/tic_tac_toe.md)
449487

450488

451489
# Concepts
@@ -458,35 +496,6 @@ Gui stuff
458496
- [Practice](./code_is_read_more_than_written/practice.md)
459497

460498

461-
462-
# The Computing Environment
463-
464-
- [Hardware](./hardware.md)
465-
- [CPU](./hardware/cpu.md)
466-
- [RAM](./hardware/ram.md)
467-
- [Hard Drives](./hardware/hard_drives.md)
468-
- [Motherboard](./hardware/motherboard.md)
469-
- [Operating Systems](./operating_systems.md)
470-
- [Personal Computers](./operating_systems/personal_computers.md)
471-
- [Servers](./operating_systems/servers.md)
472-
- [Mobile Phones](./operating_systems/mobile_phones.md)
473-
- [Game Consoles](./operating_systems/game_consoles.md)
474-
- [Abstractions](./operating_systems/abstractions.md)
475-
- [Defaults](./operating_systems/defaults.md)
476-
- [The Terminal](./the_terminal.md)
477-
- [Bash](./the_terminal/bash.md)
478-
- [Windows Subsystem for Linux](./the_terminal/windows_subsystem_for_linux.md)
479-
- [Chromebooks and School Computers](./the_terminal/chromebooks_and_school_computers.md)
480-
- [Commands](./the_terminal/commands.md)
481-
- [Directories](./the_terminal/directories.md)
482-
- [Listing Files](./the_terminal/listing_files.md)
483-
- [Creating Directories](./the_terminal/creating_directories.md)
484-
- [Changing Directories](./the_terminal/changing_directories.md)
485-
- [Creating Files](./the_terminal/creating_files.md)
486-
- [Run Java Programs](./the_terminal/run_java_programs.md)
487-
- [Getting Used to it](./the_terminal/getting_used_to_it.md)
488-
489-
490499
# Control Flow IV
491500

492501
- [Exceptions II](./exceptions_ii.md)
@@ -551,7 +560,7 @@ Gui stuff
551560
- [Optimized Implementation](./growable_arrays/optimized_implementation.md)
552561
- [Challenges](./growable_arrays/challenges.md)
553562

554-
# Interactive Programs II
563+
# Interactive Programs III
555564

556565
- [Command Line Arguments](./command_line_arguments.md)
557566
- [Accessing Arguments](./command_line_arguments/accessing_arguments.md)
@@ -613,7 +622,7 @@ Gui stuff
613622
- [Challenges](./integers_ii/challenges.md)
614623

615624

616-
# Interactive Programs III
625+
# Interactive Programs IV
617626

618627
- [Files](./files.md)
619628
- [Paths](./files/paths.md)
@@ -874,10 +883,9 @@ Make them do one. -->
874883
- [Arguments](./lambdas/arguments.md)
875884
- [Return](./lambdas/return.md)
876885
- [Method References](./lambdas/method_references.md)
886+
- [Constructor References](./lambdas/constructor_references.md)
877887
- [Inference](./lambdas/inference.md)
878888
- [Built-In Functional Interfaces](./lambdas/built_in_functional_interfaces.md)
879-
- [Runnable](./lambdas/runnable.md)
880-
- [Function](./lambdas/function.md)
881889
- [Checked Exceptions](./lambdas/checked_exceptions.md)
882890
- [Challenges](./lambdas/challenges.md)
883891

@@ -953,7 +961,11 @@ TODO: Wait for hermetic java
953961
- [Collectors](./streams/collectors.md)
954962
- [Purpose](./streams/purpose.md)
955963
- [Challenges](./streams/challenges.md)
964+
965+
956966
<!--
967+
Make a challenge where the solution is to write normal code.
968+
957969
- [Regular Expressions 🚧](./regular_expressions.md)
958970
- [Theoretical Basis](./regular_expressions/theoretical_basis.md)
959971
- [Pattern](./regular_expressions/pattern.md)
@@ -964,14 +976,26 @@ TODO: Wait for hermetic java
964976
- [Matcher]()
965977
- [Pathological Cases]()
966978
- [Power]()
979+
980+
# Interactive Programs IV
981+
982+
- [Files II](./files_ii.md)
983+
- [List Files](./files_ii/list_files.md)
984+
- [Read Lines](./files_ii/read_lines.md)
985+
- [InputStream](./files_ii/input_stream.md)
986+
- [OutputStream](./files_ii/output_stream.md)
987+
- [Reader](./files_ii/reader.md)
988+
- [Writer](./files_ii/writer.md)
967989
-->
968990

991+
969992
# Conclusion
970993

971994
- [What Now?](./conclusion/what_now.md)
972995

973996

974997
<!--
998+
975999
- [Strings III 🚧]()
9761000
9771001
Streams II

src/conclusion/what_now.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,12 @@ most employable one of the many HTTP server options out there.
142142
### Desktop Applications
143143

144144
If you want to learn how to make desktop applications in Java you have basically
145-
three paths.
145+
two paths.
146146

147147
Path #1 is to learn Java Swing. This is an old crusty GUI framework that is kinda difficult to use
148148
but has the pro of coming with Java and being able to run on every potato in existence.
149149

150-
[Docs for `java.desktop` (Swing) here](https://docs.oracle.com/en/java/javase/24/docs/api/jdk.httpserver/module-summary.html)
150+
[Docs for `java.desktop` (Swing) here](https://docs.oracle.com/en/java/javase/24/docs/api/java.desktop/module-summary.html)
151151

152152
Path #2 is the learn JavaFX. By all accounts JavaFX is better software than Swing, but it was cursed
153153
by coming out at a point in history where desktop apps were no longer big business to develop. It
@@ -187,7 +187,8 @@ learned JavaScript that is a good one to touch next.
187187

188188
There are languages out there like TypeScript that compile to JavaScript -
189189
and you can find some projects out there that do much the same for Java -
190-
but just practically speaking learning JavaScript
190+
but just practically speaking learning JavaScript is going to be something
191+
you have to do at some point if you get into making websites.
191192

192193
### C#
193194

@@ -226,10 +227,10 @@ you do to make a full app in it, but it can't hurt.
226227

227228
[Kotlin Android Tutorial here](https://kotlinlang.org/docs/android-overview.html)
228229

229-
If you want to make Desktop or Mobile apps in Kotlin it is probably also worth checking out
230-
Jetpack Compose.
230+
If you want to make Desktop, Mobile, or Web apps in Kotlin it is probably also worth checking out
231+
Jetbrains Compose Multiplatfrom.
231232

232-
[Getting Started for Jetpack Compose here](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-multiplatform-create-first-app.html)
233+
[Getting Started for Jetbrains Compose Multiplatfrom here](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-multiplatform-create-first-app.html)
233234

234235

235236
### Others
@@ -261,4 +262,7 @@ context for quite yet:
261262

262263
* Rust
263264
* Zig
265+
* Clojure
266+
267+
264268
[^wasm]: Fight me, WebAssembly fans.

src/easy_vs_simple.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Easy vs. Simple

src/exceptions_ii/unchecked_exceptions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Unchecked Exceptions
22

3-
When a part of your code might throw a "unchecked" exception, other
3+
When a part of your code might throw an "unchecked" exception, other
44
parts of your code do not need to account for that possibility.
55

66
```java

src/files_ii.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Files II

src/files_ii/challenges.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Challenges

src/files_ii/input_stream.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# InputStream

src/files_ii/lines.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Lines

src/files_ii/list_directory.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Paths

0 commit comments

Comments
 (0)