diff --git a/source/PreseasonTraining/Specializations/Algorithms/C++/index.md b/source/PreseasonTraining/Specializations/Algorithms/C++/index.md new file mode 100644 index 0000000..768e63f --- /dev/null +++ b/source/PreseasonTraining/Specializations/Algorithms/C++/index.md @@ -0,0 +1,30 @@ +# C++ lessons + +[Slideshow](https://docs.google.com/presentation/d/1188XNZOsVpBr-WWFrqIOh8J3RmE63SAxxBUVuUOgLo8/edit#slide=id.g31071c5d512_0_13) + +(6 hours) + +## Prerequisites (Debian) + +1. Boot into Debian and open a terminal +2. Type in the following commands (one by one) and install everything +```bash +sudo apt update + +sudo apt install git +sudo apt install build-essential +sudo apt install cmake +sudo apt install clang-17 +sudo apt install lldb +``` +- `sudo apt update` will update the repository list on your computer +- `git` is git +- `build-essential` is a bundle of necessary packages for c++ like `make` and `gcc`, just to make sure you have them +- `cmake` is our build system, will be covered in lesson +- `clang-17` is our compiler, will be covered in lesson +- `lldb` is debugger for `clang`, will be covered in lesson + +3. Install VSCode on Debian if you do not have it, [follow this guide]() +4. Install [Clangd extension]() in VSCode +5. Install [Clang-format extension]() in VSCode +6. Install [CMake tools extension]() in VSCode diff --git a/source/PreseasonTraining/Specializations/Algorithms/index.md b/source/PreseasonTraining/Specializations/Algorithms/index.md new file mode 100644 index 0000000..ac67d9a --- /dev/null +++ b/source/PreseasonTraining/Specializations/Algorithms/index.md @@ -0,0 +1,11 @@ +# Algorithms + +```{toctree} +:maxdepth: 2 +:caption: Contents +:titlesonly: true + +C++/index +``` + +**Vision (algorithms and networking)** will include working with C/C++, OpenCV, CMake, general Linux. Focus would be on AprilTags with OpenCV, setting up camera streams with V4L2, and low-level networking in UDP. Revolves around low-level programming and linear algebra. People under this field will be contributors to Titan Processing. Important but doesn't need many people. diff --git a/source/PreseasonTraining/Specializations/Coprocessor/Packaging/index.md b/source/PreseasonTraining/Specializations/Coprocessor/Packaging/index.md index 99af46e..77c4752 100644 --- a/source/PreseasonTraining/Specializations/Coprocessor/Packaging/index.md +++ b/source/PreseasonTraining/Specializations/Coprocessor/Packaging/index.md @@ -1,3 +1,9 @@ # Packaging +```{toctree} +:maxdepth: 2 +:caption: Contents +:titlesonly: true +Nov13 +``` diff --git a/source/PreseasonTraining/Specializations/MachineLearning/Dec11.md b/source/PreseasonTraining/Specializations/MachineLearning/Dec11.md new file mode 100644 index 0000000..752b3ac --- /dev/null +++ b/source/PreseasonTraining/Specializations/MachineLearning/Dec11.md @@ -0,0 +1,5 @@ +# Dec 11 - Convolutional Neural Networks + +[Slideshow](https://docs.google.com/presentation/d/1NpfFLfuygeWzSqo2YMsn0b8xHz6PGJ_Dig27nOZrG6o/edit#slide=id.g31071c5d512_0_13) + +(15 min) diff --git a/source/PreseasonTraining/Specializations/MachineLearning/Dec4.md b/source/PreseasonTraining/Specializations/MachineLearning/Dec4.md new file mode 100644 index 0000000..2544262 --- /dev/null +++ b/source/PreseasonTraining/Specializations/MachineLearning/Dec4.md @@ -0,0 +1,5 @@ +# Dec 4 - Introduction + +[Slideshow](https://docs.google.com/presentation/d/1Lp9MW91Ws2Q5c2B0zqLisu6ZgNdZ0xKlu0UHwT_ggAU/edit) + +(30 min) diff --git a/source/PreseasonTraining/Specializations/MachineLearning/index.md b/source/PreseasonTraining/Specializations/MachineLearning/index.md new file mode 100644 index 0000000..9934510 --- /dev/null +++ b/source/PreseasonTraining/Specializations/MachineLearning/index.md @@ -0,0 +1,12 @@ +# Machine Learning + +```{toctree} +:maxdepth: 2 +:caption: Contents +:titlesonly: true + +Dec4 +Dec11 +``` + +**Vision (machine learning)** will include working with PyTorch, Tensorflow, OpenCV, and YOLO. Focus would be on object detection, foreground segmentation, and depth estimation. Somewhat important but doesn't need many people. diff --git a/source/PreseasonTraining/Specializations/index.md b/source/PreseasonTraining/Specializations/index.md index df270f3..eef074f 100644 --- a/source/PreseasonTraining/Specializations/index.md +++ b/source/PreseasonTraining/Specializations/index.md @@ -6,6 +6,8 @@ :titlesonly: true Coprocessor/index +MachineLearning/index +Algorithms/index MathPhysics/index ``` @@ -13,8 +15,8 @@ MathPhysics/index [**Coprocessor deployment and maintenance**](Coprocessor/index.md) will include working with Linux, Debian, Docker, Conda, Bash, and CMake. Focus would be on automating integration and deployment. Important for vision but doesn't need many people. -**Vision (machine learning)** will include working with PyTorch, Tensorflow, OpenCV, and YOLO. Focus would be on object detection, foreground segmentation, and depth estimation. Somewhat important but doesn't need many people. +[**Vision (machine learning)**](MachineLearning/index.md) will include working with PyTorch, Tensorflow, OpenCV, and YOLO. Focus would be on object detection, foreground segmentation, and depth estimation. Somewhat important but doesn't need many people. -**Vision (algorithms and networking)** will include working with C/C++, OpenCV, CMake, general Linux. Focus would be on AprilTags with OpenCV, setting up camera streams with V4L2, and low-level networking in UDP. Revolves around low-level programming and linear algebra. People under this field will be contributors to Titan Processing. Important but doesn't need many people. +[**Vision (algorithms and networking)**](Algorithms/index.md) will include working with C/C++, OpenCV, CMake, general Linux. Focus would be on AprilTags with OpenCV, setting up camera streams with V4L2, and low-level networking in UDP. Revolves around low-level programming and linear algebra. People under this field will be contributors to Titan Processing. Important but doesn't need many people. [**Math and physics modeling**](MathPhysics/index.md) will include solving problems with control theory, linear algebra, calc-based physics, multi-variable calculus, and more. Heavy on specific topics like control theory, inverse kinematics, and Kalman filters. Important for subsystems and would require at least a couple people. diff --git a/source/PreseasonTraining/index.md b/source/PreseasonTraining/index.md index 1f991c2..97aa87e 100644 --- a/source/PreseasonTraining/index.md +++ b/source/PreseasonTraining/index.md @@ -37,9 +37,15 @@ Specializations/index.md * 2024 November 13 - calculus and packaging * [Basic calculus](Specializations/MathPhysics/Calculus/index.md) * [Packaging](Specializations/Coprocessor/Packaging/Nov13.md) +* [2024 Nov 20, Dec 4, Dec 11 - C++ introduction](Specializations/Algorithms/C++/index.md) +* [2024 December 4 - Machine learning intro](Specializations/MachineLearning/Dec4.md) +* [2024 December 11 - Machine learning: Convolutional Neural Networks](Specializations/MachineLearning/Dec11.md) + ## Index by topic +See also the [specializations](Specializations/index.md). + ### Introductory programming * [2024 September 4 - LED programming](LEDProgramming/index.md) @@ -48,6 +54,7 @@ Specializations/index.md * We split up into two groups * [easy task - Wordle clone](JavaBasics/WordleClone.md) * [harder task - Brainf interpreter](JavaBasics/BrainfInterpreter.md) +* [2024 Nov 20, Dec 4, Dec 11 - C++ introduction](Specializations/Algorithms/C++/index.md) ### Robot control