From 0f10c5ee44b895f3ad9b4b86511e2cc51d3b241e Mon Sep 17 00:00:00 2001 From: JumpingPistachio Date: Mon, 6 Nov 2023 17:27:57 -0500 Subject: [PATCH 1/7] begin work on 4290 Programming Book --- Guides/index.md | 1 + index.md | 1 + programming_book/chapter_1/index.md | 10 ++++++++++ programming_book/index.md | 6 ++++++ 4 files changed, 18 insertions(+) create mode 100644 programming_book/chapter_1/index.md create mode 100644 programming_book/index.md diff --git a/Guides/index.md b/Guides/index.md index 8c2533c..97e4fbf 100644 --- a/Guides/index.md +++ b/Guides/index.md @@ -1,6 +1,7 @@ # Guidebook Welcome to the Guidebook! Here you can find step-by-step guides on various FRC topics. + ## Guides Index ### Git / Github - [Jump to starting page](./git_part_1.md) - [Part 1 - Basics](./git_part_1.md) diff --git a/index.md b/index.md index 57f688a..a6ca91f 100644 --- a/index.md +++ b/index.md @@ -2,6 +2,7 @@ This website is to store documentation for various aspects of programming FRC robots, made by Bots on Wheels. Main website for Bow 4290 can be found [here](https://www.bow4290.org/). ## Index +- [4290 Programming Book](./programming_book/) - [Guidebook](./guides/) ## Important Links (2023 Offseason) diff --git a/programming_book/chapter_1/index.md b/programming_book/chapter_1/index.md new file mode 100644 index 0000000..e19741a --- /dev/null +++ b/programming_book/chapter_1/index.md @@ -0,0 +1,10 @@ +# 4290 Programming Book - Chapter 1 +## About WPILib and Java +This chapter of the book will be going over various basic topics on programming using Java, which is one of the programming languages that WPILib supports. + +WPILib is the official library for FRC. In programming, a library is a bunch of reusable code made to make developing certain things easier, in this case, programming robots. + +## Installing WPILib +The official first documentation has a great guide on installing WPILib that can be found [here](https://docs.wpilib.org/en/stable/docs/zero-to-robot/step-2/wpilib-setup.html). + +This installation will include: WPILib VSCode, The correct version of Java, and a few other things. VSCode is a lightweight code editor, and although not necessary it is recommended to use the WPILib specific version of VSCode as your editor when editing robot code. diff --git a/programming_book/index.md b/programming_book/index.md new file mode 100644 index 0000000..05442df --- /dev/null +++ b/programming_book/index.md @@ -0,0 +1,6 @@ +# 4290 Programming Book +The Goal of the 4290 Programming book is to provide resources and a way to learn most aspects and topics of programming FRC robots. + +## Chapters: +1. [Basics](./chapter_1/) +2. \ No newline at end of file From 25748588ec5eb523bcaef3cade7093b94222714d Mon Sep 17 00:00:00 2001 From: JumpingPistachio Date: Mon, 6 Nov 2023 17:39:34 -0500 Subject: [PATCH 2/7] rename ./Guides to lowercase parallel --- .../GitAssets/Part1/files_repo_select.png | Bin .../GitAssets/Part1/menu_add_local_repository.png | Bin .../GitAssets/Part1/ui_add_repository.png | Bin .../GitAssets/Part1/ui_button_commit.png | Bin .../GitAssets/Part1/ui_create_new_repository.png | Bin .../GitAssets/Part1/ui_repo_changes_diff.png | Bin .../GitAssets/Part2/ui_button_clone_repository.png | Bin .../GitAssets/Part2/ui_button_fetch_origin.png | Bin .../GitAssets/Part2/ui_button_pull_origin.png | Bin .../GitAssets/Part2/ui_button_push_origin.png | Bin .../GitAssets/Part2/ui_clone_select_github.png | Bin .../GitAssets/Part2/website_button_code_clone.png | Bin .../GitAssets/Part2/website_button_url_copy.png | Bin {Guides => guides}/git_part_1.md | 0 {Guides => guides}/git_part_2.md | 0 {Guides => guides}/index.md | 0 16 files changed, 0 insertions(+), 0 deletions(-) rename {Guides => guides}/GitAssets/Part1/files_repo_select.png (100%) rename {Guides => guides}/GitAssets/Part1/menu_add_local_repository.png (100%) rename {Guides => guides}/GitAssets/Part1/ui_add_repository.png (100%) rename {Guides => guides}/GitAssets/Part1/ui_button_commit.png (100%) rename {Guides => guides}/GitAssets/Part1/ui_create_new_repository.png (100%) rename {Guides => guides}/GitAssets/Part1/ui_repo_changes_diff.png (100%) rename {Guides => guides}/GitAssets/Part2/ui_button_clone_repository.png (100%) rename {Guides => guides}/GitAssets/Part2/ui_button_fetch_origin.png (100%) rename {Guides => guides}/GitAssets/Part2/ui_button_pull_origin.png (100%) rename {Guides => guides}/GitAssets/Part2/ui_button_push_origin.png (100%) rename {Guides => guides}/GitAssets/Part2/ui_clone_select_github.png (100%) rename {Guides => guides}/GitAssets/Part2/website_button_code_clone.png (100%) rename {Guides => guides}/GitAssets/Part2/website_button_url_copy.png (100%) rename {Guides => guides}/git_part_1.md (100%) rename {Guides => guides}/git_part_2.md (100%) rename {Guides => guides}/index.md (100%) diff --git a/Guides/GitAssets/Part1/files_repo_select.png b/guides/GitAssets/Part1/files_repo_select.png similarity index 100% rename from Guides/GitAssets/Part1/files_repo_select.png rename to guides/GitAssets/Part1/files_repo_select.png diff --git a/Guides/GitAssets/Part1/menu_add_local_repository.png b/guides/GitAssets/Part1/menu_add_local_repository.png similarity index 100% rename from Guides/GitAssets/Part1/menu_add_local_repository.png rename to guides/GitAssets/Part1/menu_add_local_repository.png diff --git a/Guides/GitAssets/Part1/ui_add_repository.png b/guides/GitAssets/Part1/ui_add_repository.png similarity index 100% rename from Guides/GitAssets/Part1/ui_add_repository.png rename to guides/GitAssets/Part1/ui_add_repository.png diff --git a/Guides/GitAssets/Part1/ui_button_commit.png b/guides/GitAssets/Part1/ui_button_commit.png similarity index 100% rename from Guides/GitAssets/Part1/ui_button_commit.png rename to guides/GitAssets/Part1/ui_button_commit.png diff --git a/Guides/GitAssets/Part1/ui_create_new_repository.png b/guides/GitAssets/Part1/ui_create_new_repository.png similarity index 100% rename from Guides/GitAssets/Part1/ui_create_new_repository.png rename to guides/GitAssets/Part1/ui_create_new_repository.png diff --git a/Guides/GitAssets/Part1/ui_repo_changes_diff.png b/guides/GitAssets/Part1/ui_repo_changes_diff.png similarity index 100% rename from Guides/GitAssets/Part1/ui_repo_changes_diff.png rename to guides/GitAssets/Part1/ui_repo_changes_diff.png diff --git a/Guides/GitAssets/Part2/ui_button_clone_repository.png b/guides/GitAssets/Part2/ui_button_clone_repository.png similarity index 100% rename from Guides/GitAssets/Part2/ui_button_clone_repository.png rename to guides/GitAssets/Part2/ui_button_clone_repository.png diff --git a/Guides/GitAssets/Part2/ui_button_fetch_origin.png b/guides/GitAssets/Part2/ui_button_fetch_origin.png similarity index 100% rename from Guides/GitAssets/Part2/ui_button_fetch_origin.png rename to guides/GitAssets/Part2/ui_button_fetch_origin.png diff --git a/Guides/GitAssets/Part2/ui_button_pull_origin.png b/guides/GitAssets/Part2/ui_button_pull_origin.png similarity index 100% rename from Guides/GitAssets/Part2/ui_button_pull_origin.png rename to guides/GitAssets/Part2/ui_button_pull_origin.png diff --git a/Guides/GitAssets/Part2/ui_button_push_origin.png b/guides/GitAssets/Part2/ui_button_push_origin.png similarity index 100% rename from Guides/GitAssets/Part2/ui_button_push_origin.png rename to guides/GitAssets/Part2/ui_button_push_origin.png diff --git a/Guides/GitAssets/Part2/ui_clone_select_github.png b/guides/GitAssets/Part2/ui_clone_select_github.png similarity index 100% rename from Guides/GitAssets/Part2/ui_clone_select_github.png rename to guides/GitAssets/Part2/ui_clone_select_github.png diff --git a/Guides/GitAssets/Part2/website_button_code_clone.png b/guides/GitAssets/Part2/website_button_code_clone.png similarity index 100% rename from Guides/GitAssets/Part2/website_button_code_clone.png rename to guides/GitAssets/Part2/website_button_code_clone.png diff --git a/Guides/GitAssets/Part2/website_button_url_copy.png b/guides/GitAssets/Part2/website_button_url_copy.png similarity index 100% rename from Guides/GitAssets/Part2/website_button_url_copy.png rename to guides/GitAssets/Part2/website_button_url_copy.png diff --git a/Guides/git_part_1.md b/guides/git_part_1.md similarity index 100% rename from Guides/git_part_1.md rename to guides/git_part_1.md diff --git a/Guides/git_part_2.md b/guides/git_part_2.md similarity index 100% rename from Guides/git_part_2.md rename to guides/git_part_2.md diff --git a/Guides/index.md b/guides/index.md similarity index 100% rename from Guides/index.md rename to guides/index.md From 334d5a346533e7e0652fd0a6571e8f39b230278a Mon Sep 17 00:00:00 2001 From: JumpingPistachio Date: Tue, 7 Nov 2023 13:10:09 -0500 Subject: [PATCH 3/7] slight rename + test --- index.md | 2 +- programming_book/index.md | 6 ------ {programming_book => training}/chapter_1/index.md | 5 ++++- training/index.md | 8 ++++++++ 4 files changed, 13 insertions(+), 8 deletions(-) delete mode 100644 programming_book/index.md rename {programming_book => training}/chapter_1/index.md (91%) create mode 100644 training/index.md diff --git a/index.md b/index.md index a6ca91f..25490af 100644 --- a/index.md +++ b/index.md @@ -2,7 +2,7 @@ This website is to store documentation for various aspects of programming FRC robots, made by Bots on Wheels. Main website for Bow 4290 can be found [here](https://www.bow4290.org/). ## Index -- [4290 Programming Book](./programming_book/) +- [4290 Programming Training](./programming_book/) - [Guidebook](./guides/) ## Important Links (2023 Offseason) diff --git a/programming_book/index.md b/programming_book/index.md deleted file mode 100644 index 05442df..0000000 --- a/programming_book/index.md +++ /dev/null @@ -1,6 +0,0 @@ -# 4290 Programming Book -The Goal of the 4290 Programming book is to provide resources and a way to learn most aspects and topics of programming FRC robots. - -## Chapters: -1. [Basics](./chapter_1/) -2. \ No newline at end of file diff --git a/programming_book/chapter_1/index.md b/training/chapter_1/index.md similarity index 91% rename from programming_book/chapter_1/index.md rename to training/chapter_1/index.md index e19741a..cf7875d 100644 --- a/programming_book/chapter_1/index.md +++ b/training/chapter_1/index.md @@ -1,4 +1,4 @@ -# 4290 Programming Book - Chapter 1 +# 4290 Programming Training - Chapter 1 ## About WPILib and Java This chapter of the book will be going over various basic topics on programming using Java, which is one of the programming languages that WPILib supports. @@ -8,3 +8,6 @@ WPILib is the official library for FRC. In programming, a library is a bunch of The official first documentation has a great guide on installing WPILib that can be found [here](https://docs.wpilib.org/en/stable/docs/zero-to-robot/step-2/wpilib-setup.html). This installation will include: WPILib VSCode, The correct version of Java, and a few other things. VSCode is a lightweight code editor, and although not necessary it is recommended to use the WPILib specific version of VSCode as your editor when editing robot code. + + +[<< Book Index](../) | Next Page >> \ No newline at end of file diff --git a/training/index.md b/training/index.md new file mode 100644 index 0000000..7c6ec64 --- /dev/null +++ b/training/index.md @@ -0,0 +1,8 @@ +# 4290 Programming Training +The goal of this book / course is to compile various resources and materials to be used for training and learning about programming FRC robots. + +This book will be organized by chapters, with each one focusing on specific topics and concepts. + +## Chapters: +1. [Basics](./chapter_1/) +2. \ No newline at end of file From 558cb9cf0079124bddfdced8d55268608d76287c Mon Sep 17 00:00:00 2001 From: JumpingPistachio Date: Tue, 7 Nov 2023 14:14:27 -0500 Subject: [PATCH 4/7] Chapter 1.1 Complete --- index.md | 2 +- training/chapter_1/index.md | 3 ++- training/chapter_1/syntax_variables.md | 26 ++++++++++++++++++++++++++ training/index.md | 6 +++--- 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 training/chapter_1/syntax_variables.md diff --git a/index.md b/index.md index 25490af..abef661 100644 --- a/index.md +++ b/index.md @@ -2,7 +2,7 @@ This website is to store documentation for various aspects of programming FRC robots, made by Bots on Wheels. Main website for Bow 4290 can be found [here](https://www.bow4290.org/). ## Index -- [4290 Programming Training](./programming_book/) +- [4290 Programming Training](./training/) - [Guidebook](./guides/) ## Important Links (2023 Offseason) diff --git a/training/chapter_1/index.md b/training/chapter_1/index.md index cf7875d..ea0b748 100644 --- a/training/chapter_1/index.md +++ b/training/chapter_1/index.md @@ -9,5 +9,6 @@ The official first documentation has a great guide on installing WPILib that can This installation will include: WPILib VSCode, The correct version of Java, and a few other things. VSCode is a lightweight code editor, and although not necessary it is recommended to use the WPILib specific version of VSCode as your editor when editing robot code. +--- -[<< Book Index](../) | Next Page >> \ No newline at end of file +### [<< Previous](../) | [Next >>](./syntax_variables.md) \ No newline at end of file diff --git a/training/chapter_1/syntax_variables.md b/training/chapter_1/syntax_variables.md new file mode 100644 index 0000000..542675f --- /dev/null +++ b/training/chapter_1/syntax_variables.md @@ -0,0 +1,26 @@ +# 4290 Programming Training - Chapter 1.1 +## Syntax +The syntax of a programming defines how code written in it will be structured, providing many rules and guides for best practices. The following article(s)explain some of these rules and guides for Java. + +- [1. Article - Syntax (Geeks for Geeks)](https://www.geeksforgeeks.org/java-basic-syntax/?ref=lbp) +- [2. Video - Java in 100 Seconds (Fireship)](https://www.youtube.com/watch?v=l9AzO1FMgM8) + - Although this video is a good for starting, I would recommend watching this after reading through the 1st article + - The intent of this video is to show off some of the basics of Java in a visual way. It's completely fine if you don't understand some of the things talked about in the video! + + + +## Variables +Variables are like containers for values in code. Variables can have many different types and values, such as numbers or words. The following article(s) explain how these work in Java. + +- [1. Video - Java Variables Explained (Treehouse)](https://www.youtube.com/watch?v=8fyTQsXX0pM) +- [2. Article - Java Variables (Java T Point)](https://www.javatpoint.com/java-variables) +- [3. Article - Java Data Types (W3 Schools)](https://www.w3schools.com/java/java_data_types.asp) + - Also read nested pages: + - [3.1 Numbers](https://www.w3schools.com/java/java_data_types_numbers.asp) + - [3.2 Booleans](https://www.w3schools.com/java/java_data_types_boolean.asp) + - [3.3 Characters](https://www.w3schools.com/java/java_data_types_characters.asp) + - [3.4 Non-primitive Types](https://www.w3schools.com/java/java_data_types_non-prim.asp) + +--- + +### [<< Previous](./) | Next (Coming Soon) >> \ No newline at end of file diff --git a/training/index.md b/training/index.md index 7c6ec64..aa7f3eb 100644 --- a/training/index.md +++ b/training/index.md @@ -1,8 +1,8 @@ # 4290 Programming Training -The goal of this book / course is to compile various resources and materials to be used for training and learning about programming FRC robots. +The goal of this book / course is to compile various resources and materials to be used for training and learning about programming FRC robots using Java. -This book will be organized by chapters, with each one focusing on specific topics and concepts. +This book will be organized by chapters, with each one focusing on specific topics and concepts, containing links to learning resources, as well as explanations. ## Chapters: 1. [Basics](./chapter_1/) -2. \ No newline at end of file +2. Coming soon... \ No newline at end of file From 75156ab904d66b040212506b6ceb2f94aba1577c Mon Sep 17 00:00:00 2001 From: JumpingPistachio Date: Tue, 7 Nov 2023 15:40:16 -0500 Subject: [PATCH 5/7] Chapter 1.2 Complete, slight file name changes --- ...tax_variables.md => 1_syntax_variables.md} | 2 +- training/chapter_1/2_comments.md | 35 +++++++++++++++++++ training/chapter_1/index.md | 5 +++ 3 files changed, 41 insertions(+), 1 deletion(-) rename training/chapter_1/{syntax_variables.md => 1_syntax_variables.md} (96%) create mode 100644 training/chapter_1/2_comments.md diff --git a/training/chapter_1/syntax_variables.md b/training/chapter_1/1_syntax_variables.md similarity index 96% rename from training/chapter_1/syntax_variables.md rename to training/chapter_1/1_syntax_variables.md index 542675f..fb073b8 100644 --- a/training/chapter_1/syntax_variables.md +++ b/training/chapter_1/1_syntax_variables.md @@ -1,4 +1,4 @@ -# 4290 Programming Training - Chapter 1.1 +# 4290 Programming Training Ch 1.1 - Syntax & Variables ## Syntax The syntax of a programming defines how code written in it will be structured, providing many rules and guides for best practices. The following article(s)explain some of these rules and guides for Java. diff --git a/training/chapter_1/2_comments.md b/training/chapter_1/2_comments.md new file mode 100644 index 0000000..050174c --- /dev/null +++ b/training/chapter_1/2_comments.md @@ -0,0 +1,35 @@ +# 4290 Programming Training Ch 1.2 - Comments +## About Comments +Comments exist in most programming languages in some form, and are used to tell the program to ignore the text. Comments can be used for documentation, explanations of abstract code, or even to ignore lines of code. + +## Writing Comments + +### Single Line +Single line comments start with two forward slashes. Any text between // and the end of the line will be ignored when the code runs. + +```java +// I am comment +System.out.println("This code will run"); + +// The code below won't run +// System.out.println("This code has been commented out") +``` + +### Multi Line +Multi Line comments take up multiple lines, Any text Between `/*` and `*/` will be ignored when the code runs. + +```java +/* I am a comment. +The code below will print "Hello World" */ +System.out.println("Hello World"); + +// The code below will not run +/* +void sayHello(){ + System.out.println("Hello"); +} +*/ +``` +--- + +### [<< Previous](./1_syntax_variables.md) | Next (Coming Soon) >> \ No newline at end of file diff --git a/training/chapter_1/index.md b/training/chapter_1/index.md index ea0b748..6aee0c6 100644 --- a/training/chapter_1/index.md +++ b/training/chapter_1/index.md @@ -9,6 +9,11 @@ The official first documentation has a great guide on installing WPILib that can This installation will include: WPILib VSCode, The correct version of Java, and a few other things. VSCode is a lightweight code editor, and although not necessary it is recommended to use the WPILib specific version of VSCode as your editor when editing robot code. +## Pages +- 1.1 [Syntax & Variables](./1_syntax_variables.md) +- 1.2 [Comments](./2_comments.md) +- 1.3 Coming Soon... + --- ### [<< Previous](../) | [Next >>](./syntax_variables.md) \ No newline at end of file From 1f95277db76f4e929cd231affe61e8b92e081799 Mon Sep 17 00:00:00 2001 From: Lexi <76599467+JumpingPistachio@users.noreply.github.com> Date: Tue, 14 Nov 2023 16:33:51 -0500 Subject: [PATCH 6/7] Began work on Chapter 1.3, found articles for Operators. --- training/chapter_1/3_operators_basic_math.md | 8 ++++++++ training/chapter_1/index.md | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 training/chapter_1/3_operators_basic_math.md diff --git a/training/chapter_1/3_operators_basic_math.md b/training/chapter_1/3_operators_basic_math.md new file mode 100644 index 0000000..580861a --- /dev/null +++ b/training/chapter_1/3_operators_basic_math.md @@ -0,0 +1,8 @@ +# 4290 Programming Training Ch 1.3 - Operators & Basic Math + +## Operators +In programming, operators are symbols used to work with values, such as adding values together, or comparing two different values. The article(s) below show how these operators work in Java, although most languages use similiar if not exact operators and syntax. + +- [1. Video - Operators in Programming (WeTeach_CS)](https://www.youtube.com/watch?v=PaHpU7-BNaU) + - This video is not language specific and instead goes over the concpets more than the exectuion, but it still very much applies to Java. +- [2. Article - Operators (W3 Schools)](https://www.w3schools.com/java/java_operators.asp) diff --git a/training/chapter_1/index.md b/training/chapter_1/index.md index 6aee0c6..9d7d80b 100644 --- a/training/chapter_1/index.md +++ b/training/chapter_1/index.md @@ -12,7 +12,8 @@ This installation will include: WPILib VSCode, The correct version of Java, and ## Pages - 1.1 [Syntax & Variables](./1_syntax_variables.md) - 1.2 [Comments](./2_comments.md) -- 1.3 Coming Soon... +- 1.3 [Operators & Basic Math](./3_operators_basic_math.md) +- 1.4 Coming Soon.. --- From 97dab0228f942943d24f8132f4b40aeb793b67cc Mon Sep 17 00:00:00 2001 From: Lexi <76599467+JumpingPistachio@users.noreply.github.com> Date: Tue, 14 Nov 2023 17:54:45 -0500 Subject: [PATCH 7/7] Changed Chapter 1.3 to just Operators, and finished Chapter 1.3 --- training/chapter_1/2_comments.md | 3 ++- .../{3_operators_basic_math.md => 3_operators.md} | 8 +++++--- training/chapter_1/index.md | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) rename training/chapter_1/{3_operators_basic_math.md => 3_operators.md} (84%) diff --git a/training/chapter_1/2_comments.md b/training/chapter_1/2_comments.md index 050174c..6c36ad8 100644 --- a/training/chapter_1/2_comments.md +++ b/training/chapter_1/2_comments.md @@ -30,6 +30,7 @@ void sayHello(){ } */ ``` + --- -### [<< Previous](./1_syntax_variables.md) | Next (Coming Soon) >> \ No newline at end of file +### [<< Previous](./1_syntax_variables.md) | [Next >>](./3_operators.md) \ No newline at end of file diff --git a/training/chapter_1/3_operators_basic_math.md b/training/chapter_1/3_operators.md similarity index 84% rename from training/chapter_1/3_operators_basic_math.md rename to training/chapter_1/3_operators.md index 580861a..c3e3720 100644 --- a/training/chapter_1/3_operators_basic_math.md +++ b/training/chapter_1/3_operators.md @@ -1,8 +1,10 @@ -# 4290 Programming Training Ch 1.3 - Operators & Basic Math - -## Operators +# 4290 Programming Training Ch 1.3 - Operators In programming, operators are symbols used to work with values, such as adding values together, or comparing two different values. The article(s) below show how these operators work in Java, although most languages use similiar if not exact operators and syntax. - [1. Video - Operators in Programming (WeTeach_CS)](https://www.youtube.com/watch?v=PaHpU7-BNaU) - This video is not language specific and instead goes over the concpets more than the exectuion, but it still very much applies to Java. - [2. Article - Operators (W3 Schools)](https://www.w3schools.com/java/java_operators.asp) + +--- + +### [<< Previous](./2_comments.md) | Next (Coming Soon) >> \ No newline at end of file diff --git a/training/chapter_1/index.md b/training/chapter_1/index.md index 9d7d80b..42ee13e 100644 --- a/training/chapter_1/index.md +++ b/training/chapter_1/index.md @@ -12,7 +12,7 @@ This installation will include: WPILib VSCode, The correct version of Java, and ## Pages - 1.1 [Syntax & Variables](./1_syntax_variables.md) - 1.2 [Comments](./2_comments.md) -- 1.3 [Operators & Basic Math](./3_operators_basic_math.md) +- 1.3 [Operators & Basic Math](./3_operators.md) - 1.4 Coming Soon.. ---