Skip to content

Commit 7aa02e6

Browse files
bowbahdoefirasrg
andauthored
Update (#56)
* more sections * First feedback round * Update prelude.md * ... * Spelling fix Co-Authored-By: Firas Regaieg <[email protected]> * Arguments chapter * More Challenges * Run prettier * user input * October 14th, #1 * Array challenges * Delete challenges * Null * ... * Update null_as_absence.md * Delete out.json * Fix quotes * Add first no_runs * Fix number example * ... * Write more of the classes section * Constructors * Clean up getting started a little * Use a duke * Don't link anywhere yet * Increase lines needed to show a duke * Fix field access section * ... * ... * ... * ... * ... * switch and enums * Update book.toml * Density * Update audience.md * .. * Strings 2 * Update length.md * Global Fields * Input * Update delayed_assignment.md * ... * ... * Update book.js * Update challenges.md * Remove blank Challenge * Fix some issues, push some incomplete sections * Update challenges.md * terminal * Update challenges.md * Switches and visibility * Growable array * Cli Args * Delete unused * Change url * inner classes * Update unchecked_exceptions.md * Update checked_exceptions.md * Update invariants.md * Packages * Records * Update the_default_package.md * Syntax highlighting wierdness * More records * Integers, Files, etc. * Move IOException around * ... * ... * Add new dukes and start hash maps * Start hashmap explanation * Objects * Update README.md * More object chapters * More hash maps * More hash maps * new section headers * Time types * ArrayList * For each loops * recursion * Arraylist recursion and switch * Switch progress * Encapsulation * Update methods.md * ... * change boolean order to match precedence order * patch up remainder * ... * ... * ... * ... * ... * .. * Add null challenges * Add null challenges * Patch up arrays * Add more challenges * Update challenge section labels * Add challenges for instance methods * Add string challenges * Challenges * ... * ... * ... * ... * ... * ... * ... * ... * ... * switch challenges * constructors challenges * ... * ... * ... * ... * ... * ... * Time and interfaces --------- Co-authored-by: Firas Regaieg <[email protected]>
1 parent 2afb760 commit 7aa02e6

File tree

109 files changed

+3372
-113
lines changed

Some content is hidden

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

109 files changed

+3372
-113
lines changed

src/SUMMARY.md

+118-34
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@
3838
# Data Types I
3939

4040
- [Booleans](./boolean.md)
41+
- [Not](./boolean/not.md)
4142
- [And](./boolean/and.md)
4243
- [Or](./boolean/or.md)
43-
- [Not](./boolean/not.md)
4444
- [Operator Precedence](./boolean/operator_precedence.md)
4545
- [Challenges](./boolean/challenges.md)
4646
- [Integers](./integers.md)
@@ -95,7 +95,6 @@
9595
# Control Flow I
9696

9797
- [Branching Paths](./branching_paths.md)
98-
9998
- [If](./branching_logic/if.md)
10099
- [Nested Ifs](./branching_logic/nested_ifs.md)
101100
- [Else](./branching_logic/else.md)
@@ -136,6 +135,7 @@
136135
- [Printing the Contents of an Array](./arrays/printing_the_contents_of_an_array.md)
137136
- [Empty Array](./arrays/empty_array.md)
138137
- [Difference between Initializer and Literal](./arrays/difference_between_initializer_and_literal.md)
138+
- [Initialization with new](./arrays/initialization_with_new.md)
139139
- [Challenges](./arrays/challenges.md)
140140

141141
# Control Flow II
@@ -190,6 +190,7 @@
190190
- [Return in void methods](./return_values/return_in_void_methods.md)
191191
- [Conversion](./return_values/conversion.md)
192192
- [Unreachable Statements](./return_values/unreachable_statements.md)
193+
- [Challenges](./return_values/challenges.md)
193194

194195
# Data Types III
195196

@@ -198,6 +199,7 @@
198199
- [Null as Unknown](./null/null_as_unknown.md)
199200
- [Checking for null](./null/checking_for_null.md)
200201
- [NullPointerException](./null/null_pointer_exception.md)
202+
- [Challenges](./null/challenges.md)
201203
- [Boxed Primitives](./boxed_primitives.md)
202204
- [Integer](./boxed_primitives/integer.md)
203205
- [Double](./boxed_primitives/double.md)
@@ -211,6 +213,7 @@
211213
- [Initializion with Size](./arrays_ii/initialization_with_size.md)
212214
- [Default Values](./arrays_ii/default_values.md)
213215
- [Populate Arrays](./arrays_ii/populate_arrays.md)
216+
- [Challenges](./arrays_ii/challenges.md)
214217

215218
# Code Structure II
216219

@@ -225,6 +228,7 @@
225228
- [Field Default Values](./classes/field_default_values.md)
226229
- [Aliasing](./classes/aliasing.md)
227230
- [Return Multiple Values](./classes/return_multiple_values.md)
231+
- [Challenges](./classes/challenges.md)
228232

229233
- [Instance Methods](./instance_methods.md)
230234
- [Invocation](./instance_methods/invocation.md)
@@ -236,6 +240,7 @@
236240
- [this](./instance_methods/this.md)
237241
- [Disambiguation](./instance_methods/disambiguation.md)
238242
- [Clarity](./instance_methods/clarity.md)
243+
- [Challenges](./instance_methods/challenges.md)
239244

240245
# Data Types IV
241246

@@ -246,13 +251,15 @@
246251
- [Usage](./enums/usage.md)
247252
- [Equality](./enums/equality.md)
248253
- [Comparison to boolean](./enums/comparison_to_boolean.md)
254+
- [Challenges](./enums/challenges.md)
249255
- [Strings II](./strings_ii.md)
250256
- [lowercase](./strings_ii/lowercase.md)
251257
- [UPPERCASE](./strings_ii/UPPERCASE.md)
252258
- [Equality ignoring case](./strings_ii/equality_ignoring_case.md)
253259
- [Check if empty](./strings_ii/check_if_empty.md)
254260
- [Check if blank](./strings_ii/check_if_blank.md)
255261
- [Strip extra whitespace](./strings_ii/strip_extra_whitespace.md)
262+
- [Challenges](./strings_ii/challenges.md)
256263

257264
# Control Flow III
258265

@@ -261,6 +268,7 @@
261268
- [Messages](./exceptions/messages.md)
262269
- [Stack Traces](./exceptions/stack_traces.md)
263270
- [try/catch](./exceptions/try_catch.md)
271+
- [Challenges](./exceptions/challenges.md)
264272
- [Switch](./switch.md)
265273
- [Case and Default](./switch/case_and_default.md)
266274
- [Strings](./switch/strings.md)
@@ -270,6 +278,7 @@
270278
- [Exhaustiveness](./switch/exhaustiveness.md)
271279
- [Combining Cases](./switch/combining_cases.md)
272280
- [null](./switch/null.md)
281+
- [Challenges](./switch/challenges.md)
273282

274283
# Code Structure III
275284

@@ -281,11 +290,13 @@
281290
- [Invariants](./constructors/invariants.md)
282291
- [Overloads](./constructors/overloads.md)
283292
- [Delegation](./constructors/delegation.md)
293+
- [Challenges](./constructors/challenges.md)
284294
- [Global Fields](./global_fields.md)
285295
- [Default Values](./global_fields/default_values.md)
286296
- [Final Fields](./global_fields/final_fields.md)
287297
- [Field Access](./global_fields/field_access.md)
288298
- [Inferred Types](./global_fields/inferred_types.md)
299+
- [Challenges](./global_fields/challenges.md)
289300

290301
# Concepts
291302

@@ -334,7 +345,7 @@
334345
- [Getting Used to it](./the_terminal/getting_used_to_it.md)
335346

336347

337-
# Control Flow III
348+
# Control Flow IV
338349

339350
- [Exceptions II](./exceptions_ii.md)
340351
- [Checked Exceptions](./exceptions_ii/checked_exceptions.md)
@@ -447,7 +458,6 @@
447458
- [Integer to a Base 16 String](./integers_ii/integer_to_a_base_16_string.md)
448459
- [Underscores in Integer Literals](./integers_ii/underscores_in_integer_literals.md)
449460

450-
- [🚧 Construction Zone 🚧]()
451461

452462
# Interactive Programs III
453463

@@ -458,9 +468,11 @@
458468
- [Write to a File](./files/write_to_a_file.md)
459469
- [Read from a File](./files/read_from_a_file.md)
460470
- [Create a Folder](./files/creating_a_folder.md)
461-
- [Delete a Folder](./files/deleting_a_folder.md)
462-
- [Delete a File](./files/deleting_a_file.md)
471+
- [Challenges](./files/challenges.md)
472+
463473

474+
475+
<!--
464476
# Data Structures & Algorithms II
465477
466478
- [Hash Maps](./hash_maps.md)
@@ -473,7 +485,7 @@
473485
- [Growable Buckets](./hash_maps/growable_buckets.md)
474486
- [Keys and Values](./hash_maps/keys_and_values.md)
475487
- [Put Items](./hash_maps/put_items.md)
476-
- [Get Items](./hash_maps/get_items.md)
488+
- [Get Items](./hash_maps/get_items.md)-->
477489

478490

479491
# Code Structure IV
@@ -486,10 +498,23 @@
486498
- [@Override](./objects/override.md)
487499
- [equals and hashCode](./objects/equals_and_hashCode.md)
488500
- [Override equals and hashCode](./objects/override_equals_and_hashCode.md)
489-
- [Variance and Casting](./objects/variance_and_casting.md)
490-
- [Subclasses](./objects/subclasses.md)
501+
<!--- [Variance and Casting](./objects/variance_and_casting.md)
502+
- [Subclasses](./objects/subclasses.md)-->
503+
491504
- [Generics](./generics.md)
505+
- [Type Variables](./generics/type_variables.md)
506+
- [Naming](./generics/naming.md)
507+
- [Instantiation](./generics/instantiation.md)
508+
- [Inference](./generics/inference.md)
509+
- [Soundness](./generics/soundness.md)
510+
- [Raw Types](./generics/raw_types.md)
492511
- [Interfaces](./interfaces.md)
512+
- [Interface Declaration](./interfaces/interface_declaration.md)
513+
- [Implementation](./interfaces/implementation.md)
514+
- [@Override](./interfaces/override.md)
515+
- [Naming](./interfaces/naming.md)
516+
- [Subtypes](./interfaces/subtypes.md)
517+
- [Multiple Implementations](./interfaces/multiple_implementations.md)
493518

494519
# Data Types V
495520

@@ -501,6 +526,7 @@ Make them do one. -->
501526
- [LocalDate](./time/local_date.md)
502527
- [LocalTime](./time/local_time.md)
503528
- [LocalDateTime](./time/local_date_time.md)
529+
- [Time Zones](./time/time_zones.md)
504530
- [ZonedDateTime](./time/zoned_date_time.md)
505531
- [OffsetDateTime](./time/offset_date_time.md)
506532
- [ArrayList](./array_list.md)
@@ -511,16 +537,32 @@ Make them do one. -->
511537
- [Loop over items](./array_list/loop_over_items.md)
512538
- [Set an item](./array_list/set_an_item.md)
513539
- [Remove an item](./array_list/remove_an_item.md)
514-
- [HashMap](./hash_map.md)
540+
<!--- [HashMap](./hash_map.md)
515541
- [Multi-Dimensional Arrays](./multi_dimensional_arrays.md)
516-
517-
# Control Flow IV
542+
- [Iterable and Iterator](./iterable_and_iterator.md)
543+
# Concepts II
544+
- [Hyrum's Law](./hyrums_law.md)
545+
- [Authority](./hyrums_law/authority.md)
546+
- [Validity](./hyrums_law/validity.md)
547+
- [Emergent Properties](./hyrums_law/emergent_properties.md)
548+
- [Importance](./hyrums_law/importance.md)
549+
- [Encapsulation](./encapsulation.md)
550+
- [Implementation Details](./encapsulation/implementation_details.md)
551+
- [Methods](./encapsulation/methods.md)
552+
- [Classes]()(./encapsulation/classes.md)
553+
- [Implicit Interfaces](./encapsulation/implicit_interfaces.md)
554+
- [Abstractions](./encapsulation/abstractions.md)
555+
- [Leaky Abstractions](./encapsulation/leaky_abstractions.md)
556+
- [Information Hiding](./encapsulation/information_hiding.md)
557+
558+
# Control Flow V
518559
- [Loops III](./loops_iii.md)
519-
- [For-each loops]()
560+
- [For-each loops](./loops_iii/for_each_loops.md)
520561
- [Arrays]()
521562
- [Iterable]()
522563
- [ArrayList]()
523-
- [Reasons to go back]() <!-- -->
564+
- [Concurrent Modifications](./loops_iii/concurrent_modifications.md)
565+
- [Reasons to go back]() <!--
524566
- [Switch III](./switch_iii.md)
525567
- [Fallthrough](./switch_iii/fallthrough.md)
526568
- [break](./switch_iii/break.md)
@@ -532,17 +574,17 @@ Make them do one. -->
532574
- [Base Case](./recursion/base_case.md)
533575
- [Comparison to Delegation](./recursion/comparison_to_delegation.md)
534576
- [Comparison to Loops](./recursion/comparison_to_loops.md)
577+
- [Counting Down](./recursion/counting_down.md)
578+
- [Accumulators](./recursion/accumulators.md)
579+
- [Recurse Over a String](./recursion/recursing_over_strings.md)
580+
- [Recurse Over an Array](./recursion/recursing_over_arrays.md)
535581
536582
# Code Structure V
583+
- [Interface Extension](./interface_extension.md)
537584
- [Class Extension](./class_extension.md)
538585
- [Abstract Classes](./abstract_classes.md)
539586
540-
# Concepts II
541587
542-
- [Encapsulation](./encapsulation.md)
543-
- [Methods]()
544-
- [Classes]()
545-
- [Information Hiding]()
546588
547589
# Building
548590
@@ -551,18 +593,70 @@ Make them do one. -->
551593
- [Compile a List of Files]()
552594
- [Specify Where to Find Sources]()
553595
- [Enable Debug Info]()
596+
- [Package Java Code]()
597+
- [Consume External Libraries]()
554598
555599
# Data Types VI
600+
556601
- [StringBuilder]()
557-
- [Pattern]()
602+
- [Why]()
603+
- [Regular Expressions]()
604+
- [Pattern]()
605+
606+
# Communication
607+
<!-- Should cover InputStream and OutputStream - maybe in Files part deux?
608+
- [TCP over IP](tcp_over_ip.md)
609+
- [Sockets](./tcp_over_ip/sockets.md)
610+
- [Low Level versus High Level](./tcp_over_ip/low_level_versus_high_level.md)
611+
- [Data Formats]()
612+
613+
# Metaprogramming
614+
615+
- [Reflection](./reflection.md)
616+
- [Class Objects](./reflection/class_objects.md)
617+
- [Get all Fields](./reflection/get_all_fields.md)
618+
- [Get a Field]()
619+
- [Set a Field]()
620+
- [Get a Method]()
621+
- [Call a Method]()
622+
- [Get a Constructor]()
558623
624+
- [Annotations]()
625+
626+
# Concepts III
627+
628+
- [Acronyms](./acronyms.md)
629+
- [Niches](./acronyms/niches.md)
630+
- [Usage Contexts](./acronyms/usage_contexts.md)
631+
- [Ambiguity](./acronyms/ambiguity.md)
632+
- [Familiarity](./acronyms/familiarity.md)
633+
- [Elaboration](./acronyms/elaboration.md)
634+
635+
# Code Structure VI
636+
637+
- [Documentation Comments]()
638+
- [Lambdas]()
639+
- [Unit Testing]()
640+
641+
# Concurrency
642+
- [Threads]()
643+
644+
645+
# Control Flow V
646+
- [Pattern Matching]()
647+
- [Primitive Patterns]()
648+
- [Record Patterns]()
649+
-->
559650
<!--
560651
561652
562653
654+
# Concepts
655+
563656
564657
# Concepts
565658
659+
566660
- [The Idiot Game](./the_idiot_game.md)
567661
568662
# Data Types V
@@ -588,11 +682,6 @@ Make them do one. -->
588682
- [Paths]()
589683
- [Iterator and Iterable]()
590684
- [Exceptions II]()
591-
- [Lists]()
592-
- [ArrayList]()
593-
- [Add an item]()
594-
- [Get an item]()
595-
- [Set an item]()
596685
597686
# Control Flow IV
598687
@@ -610,22 +699,13 @@ Make them do one. -->
610699
- [Sets]()
611700
- [HashSet]()
612701
613-
# Metaprogramming
614-
615-
- [Reflection]()
616-
- [Annotations]() -->
617-
618-
619702
<!--
620703
621704
622705
623706
## Data Types IV
624707
625708
626-
627-
- [Documentation]()
628-
- [Documentation Comments]()
629709
- [Testing]()
630710
631711
@@ -794,3 +874,7 @@ multi dimensional arrays
794874
795875
System.console() over Scanner?
796876
-->
877+
878+
879+
880+
- [🚧 (More Chapters Planned) 🚧]()

src/acronyms.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Acronyms
2+
3+
In the 1940s, Franklin Delano Rosevelt

src/acronyms/ambiguity.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Ambiguity

src/acronyms/elaboration.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Elaboration

src/acronyms/familiarity.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Familiarity

src/acronyms/niches.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Niches

src/acronyms/usage_contexts.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Usage Contexts

0 commit comments

Comments
 (0)