├── .gitattributes
├── .github
└── workflows
│ └── ci.yml
├── .gitignore
├── .gitlab-ci.yml
├── CONTRIBUTING.md
├── Data
├── .gitkeep
├── SEAFLUX-OSB-CDR_V02R00_FLUX_D19900611_C20160824.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900117_C20160820.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900217_C20160820.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900317_C20160819.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900417_C20160819.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900517_C20160819.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900617_C20160820.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900717_C20160820.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900817_C20160820.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19900917_C20160819.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19901017_C20160819.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19901117_C20160819.nc
├── SEAFLUX-OSB-CDR_V02R00_SST_D19901217_C20160820.nc
├── WeekOfSolarPowerGeneration.csv
├── WkOfSolarPowerGeneration.csv
└── genData.mat
├── FunctionLibrary
├── .gitkeep
└── CheckExercise1.mlx
├── Images
├── AddOnsIcon.png
├── CompThoughtOneTenth.png
├── EndIcon.png
├── OpenInFX.png
├── OpenInMO.png
├── RGBTurkeys.png
├── StringCatwNeedle.png
├── TestedWith.json
├── TokyoWindPrediction.gif
├── add-ons.png
├── memory.png
└── sst.png
├── InstructorResources
└── Solutions
│ ├── MemorySoln.mlx
│ ├── NumericDataTypesSoln.mlx
│ ├── StoringDataSoln.mlx
│ └── StringsSoln.mlx
├── LICENSE.md
├── MainMenu.mlx
├── OrganizingData.prj
├── README.md
├── README.mlx
├── SECURITY.md
├── Scripts
├── Memory.mlx
├── NumericDataTypes.mlx
├── StoringData.mlx
└── Strings.mlx
├── SoftwareTests
├── CheckTestResults.m
├── FunctionTests.m
├── PostFiles
│ ├── PostMemory.m
│ ├── PostMemorySoln.m
│ ├── PostNumericDataTypes.m
│ ├── PostNumericDataTypesSoln.m
│ ├── PostStoringData.m
│ ├── PostStoringDataSoln.m
│ ├── PostStrings.m
│ └── PostStringsSoln.m
├── PostSmokeTest.m
├── PreFiles
│ ├── PreMemory.m
│ ├── PreMemorySoln.m
│ ├── PreNumericDataTypes.m
│ ├── PreNumericDataTypesSoln.m
│ ├── PreStoringData.m
│ ├── PreStoringDataSoln.m
│ ├── PreStrings.m
│ └── PreStringsSoln.m
├── RunAllTests.m
├── SmokeTests.m
├── SolnSmokeTests.m
└── TestResults_R2023b.txt
├── Utilities
├── ProjectShutdown.m
├── ProjectStartupApp.m
└── SurveyLinks.mat
└── resources
└── project
├── 6xhH2l9GP9loT6TdFn_Mo65sDHg
├── P8PSrqcBHMbGhqD2r1d9oc0h3TUd.xml
├── P8PSrqcBHMbGhqD2r1d9oc0h3TUp.xml
├── kZdGAwXAm20MTF9LYhv9m8qFUn4d.xml
└── kZdGAwXAm20MTF9LYhv9m8qFUn4p.xml
├── 8h3kimKoV3g5SPdcFPq6bNqde20
├── 7H1Lt19bMNc02dpDcO0WcrUJW90d.xml
├── 7H1Lt19bMNc02dpDcO0WcrUJW90p.xml
├── 9bemwjTDZ4LEeE6BynHGmo6odikd.xml
├── 9bemwjTDZ4LEeE6BynHGmo6odikp.xml
├── BnyHoVarKtr6Yw07K6sRDN0sAqsd.xml
├── BnyHoVarKtr6Yw07K6sRDN0sAqsp.xml
├── BpSWepnfZ4QN-xFwMkc0W-Xp800d.xml
├── BpSWepnfZ4QN-xFwMkc0W-Xp800p.xml
├── EeNhOlJ-koEb-F753-9tAwmqMEEd.xml
├── EeNhOlJ-koEb-F753-9tAwmqMEEp.xml
├── GlULn4A2DeC8ogcpgJ0Lcwd95Y4d.xml
├── GlULn4A2DeC8ogcpgJ0Lcwd95Y4p.xml
├── HbMaVdP5oZsRvdUkh1q1tJFSEood.xml
├── HbMaVdP5oZsRvdUkh1q1tJFSEoop.xml
├── K7SI5lSntr8HDGvmZoCb0nqh3Qkd.xml
├── K7SI5lSntr8HDGvmZoCb0nqh3Qkp.xml
├── KfZdiUHZSJgfgNdiOFe4KMUQal4d.xml
├── KfZdiUHZSJgfgNdiOFe4KMUQal4p.xml
├── MmZ96a2jXhWeJCn7v-f5TcKoV8Ud.xml
├── MmZ96a2jXhWeJCn7v-f5TcKoV8Up.xml
├── PCZimV9eN_xdSDanap6gDoLkAJAd.xml
├── PCZimV9eN_xdSDanap6gDoLkAJAp.xml
├── TXb8gQD6Ibv1dBGZR3STbzgfOv4d.xml
├── TXb8gQD6Ibv1dBGZR3STbzgfOv4p.xml
├── TbzyU-AN5Z0B7_3eAlBpJnY_KEAd.xml
├── TbzyU-AN5Z0B7_3eAlBpJnY_KEAp.xml
├── l_UAqoI8Jlrs12YmMKKxqaVtNLEd.xml
├── l_UAqoI8Jlrs12YmMKKxqaVtNLEp.xml
├── oBwspwaqrZC_Fmyb5wKi13xkOrMd.xml
├── oBwspwaqrZC_Fmyb5wKi13xkOrMp.xml
├── oSh7YVGn5IqfamFKugL5dfgNZxwd.xml
├── oSh7YVGn5IqfamFKugL5dfgNZxwp.xml
├── yvc00et_D9w1RZcV5T2-bniDUu0d.xml
└── yvc00et_D9w1RZcV5T2-bniDUu0p.xml
├── BT5hWoz-UTefONdqForZyI91O8Y
├── Ur1esh7xN9L6aqDUKBE31DKE1Qod.xml
└── Ur1esh7xN9L6aqDUKBE31DKE1Qop.xml
├── BjxNC43HIPP8KZwg_cceb68ikkA
├── dxW0rLxFMXm0cpQGCSkWQRi2YRsd.xml
└── dxW0rLxFMXm0cpQGCSkWQRi2YRsp.xml
├── EEtUlUb-dLAdf0KpMVivaUlztwA
├── 1D2wiM-rqzSG2GUq266_q025WJod.xml
├── 1D2wiM-rqzSG2GUq266_q025WJop.xml
├── 2vfmNT5dFMoKB5FDZBSr3ouDAL8d.xml
├── 2vfmNT5dFMoKB5FDZBSr3ouDAL8p.xml
├── DxJWFQ6s-5tgLo-3uCpCdq16n-sd.xml
├── DxJWFQ6s-5tgLo-3uCpCdq16n-sp.xml
├── RjbcsmoXdeVBRe2-FM9TtSgQsvgd.xml
├── RjbcsmoXdeVBRe2-FM9TtSgQsvgp.xml
├── cHMAt6xz9BRNHd6IpYACu93YjYAd.xml
├── cHMAt6xz9BRNHd6IpYACu93YjYAp.xml
├── cn2Ee7NifKI7ffnw_Fjz5lrC1Qgd.xml
├── cn2Ee7NifKI7ffnw_Fjz5lrC1Qgp.xml
├── d-PM_SU5Hw6XmBK8zA1PIfrPki0d.xml
├── d-PM_SU5Hw6XmBK8zA1PIfrPki0p.xml
├── e7wCov_BYJUY6VsFZYx5ab3064gd.xml
├── e7wCov_BYJUY6VsFZYx5ab3064gp.xml
├── mRLSISIBhQf92ZoMrFLbw5RNy2Md.xml
├── mRLSISIBhQf92ZoMrFLbw5RNy2Mp.xml
├── x9kRh-n1S7s6yE1EzN4stHJjWq0d.xml
├── x9kRh-n1S7s6yE1EzN4stHJjWq0p.xml
├── xPz9Lhqli-y1U5F_Nj0pQO133-Id.xml
└── xPz9Lhqli-y1U5F_Nj0pQO133-Ip.xml
├── HoHDHQ_WvHAAKj5aJOrvrg_vpt8
├── xXlmKuOQ7YT_G1elNhbKQIUqSRMd.xml
└── xXlmKuOQ7YT_G1elNhbKQIUqSRMp.xml
├── KAXfQgCar2Yb8zOxgvf9hdmLP1E
├── 8f-BJKE1OY96P-PRYj7MtFiSVHod.xml
├── 8f-BJKE1OY96P-PRYj7MtFiSVHop.xml
├── rgGmDYXRr0QKBDfpfHubfNbdPrwd.xml
├── rgGmDYXRr0QKBDfpfHubfNbdPrwp.xml
├── xcK8fO1pjra5DR0jot5vrzlBV84d.xml
└── xcK8fO1pjra5DR0jot5vrzlBV84p.xml
├── NjSPEMsIuLUyIpr2u1Js5bVPsOs
├── 2kj09UetkV_lru3gvSPXnY6-nM4d.xml
├── 2kj09UetkV_lru3gvSPXnY6-nM4p.xml
├── KKyDJtbdIBOlaeHmIZd5VX6vqx8d.xml
├── KKyDJtbdIBOlaeHmIZd5VX6vqx8p.xml
├── QWNDYJD5mGW1bWYvPx9DtKnxzw4d.xml
├── QWNDYJD5mGW1bWYvPx9DtKnxzw4p.xml
├── R1RggVhA72agIvELiuhWPRS8F0Id.xml
├── R1RggVhA72agIvELiuhWPRS8F0Ip.xml
├── aEHSZBIY-yve10yGis12Zr5DLZod.xml
├── aEHSZBIY-yve10yGis12Zr5DLZop.xml
├── j4xwF_j8iFTVayUMfxLgMnTbencd.xml
├── j4xwF_j8iFTVayUMfxLgMnTbencp.xml
├── r8LR4nLmg9ai3oHrW1r_-KocQzkd.xml
└── r8LR4nLmg9ai3oHrW1r_-KocQzkp.xml
├── P0Eh5IJqB5ZO7T0up6e3RP13N7I
├── Oi38dGtSt5T4SgMwWogUQ_Jd7w4d.xml
└── Oi38dGtSt5T4SgMwWogUQ_Jd7w4p.xml
├── Project.xml
├── VscVJQot7IndoRi0xm0fbAitS2Y
├── IN5Gw9hRs23W3dqBCLEXwjctJ1Id.xml
└── IN5Gw9hRs23W3dqBCLEXwjctJ1Ip.xml
├── ZN2RlSIbyWXhOxbxxI4hOawbMD4
├── p5HYYVUpTuYgZwnT8QkkzaoJraUd.xml
├── p5HYYVUpTuYgZwnT8QkkzaoJraUp.xml
├── q4FWbcu8zEbneDjWzNwfvfvjQNAd.xml
├── q4FWbcu8zEbneDjWzNwfvfvjQNAp.xml
├── s-04wUzHjOhlMa1CW_zpJwm8iDMd.xml
└── s-04wUzHjOhlMa1CW_zpJwm8iDMp.xml
├── ZdVxxv9BsNz7MGUxtEc6Pq3qh1M
├── QOpe-1pctdftDIjwQLRdjOUZW44d.xml
└── QOpe-1pctdftDIjwQLRdjOUZW44p.xml
├── fjRQtWiSIy7hIlj-Kmk87M7s21k
├── NjSPEMsIuLUyIpr2u1Js5bVPsOsd.xml
└── NjSPEMsIuLUyIpr2u1Js5bVPsOsp.xml
├── iMwdHOXOBiBXhnA_li8gtEJVTjc
├── RMvf4mEDuznAOqU6SKNmIWErfxgd.xml
├── RMvf4mEDuznAOqU6SKNmIWErfxgp.xml
├── ZTr3GAe6p03ZVs2FdKKE0JsiFMQd.xml
├── ZTr3GAe6p03ZVs2FdKKE0JsiFMQp.xml
├── nGmc4yUWSwVpS8w8tP7IolwQs0Ed.xml
├── nGmc4yUWSwVpS8w8tP7IolwQs0Ep.xml
├── uIbyU9dPEHKvxjdwx5pD9PDDCZYd.xml
└── uIbyU9dPEHKvxjdwx5pD9PDDCZYp.xml
├── qaw0eS1zuuY1ar9TdPn1GMfrjbQ
├── 8h3kimKoV3g5SPdcFPq6bNqde20d.xml
├── 8h3kimKoV3g5SPdcFPq6bNqde20p.xml
├── BT5hWoz-UTefONdqForZyI91O8Yd.xml
├── BT5hWoz-UTefONdqForZyI91O8Yp.xml
├── BjxNC43HIPP8KZwg_cceb68ikkAd.xml
├── BjxNC43HIPP8KZwg_cceb68ikkAp.xml
├── KocSmEw1PpelhlG7ZNeMUdHVtywd.xml
├── KocSmEw1PpelhlG7ZNeMUdHVtywp.xml
├── VscVJQot7IndoRi0xm0fbAitS2Yd.xml
├── VscVJQot7IndoRi0xm0fbAitS2Yp.xml
├── ZN2RlSIbyWXhOxbxxI4hOawbMD4d.xml
├── ZN2RlSIbyWXhOxbxxI4hOawbMD4p.xml
├── ZdVxxv9BsNz7MGUxtEc6Pq3qh1Md.xml
├── ZdVxxv9BsNz7MGUxtEc6Pq3qh1Mp.xml
├── iMwdHOXOBiBXhnA_li8gtEJVTjcd.xml
├── iMwdHOXOBiBXhnA_li8gtEJVTjcp.xml
├── rnpMu7jn2QWt_rQcz8FJ-MxGzVId.xml
└── rnpMu7jn2QWt_rQcz8FJ-MxGzVIp.xml
├── root
├── 6x1BhZX_fLnKpcwqra0qFwv1jIgp.xml
├── 6xhH2l9GP9loT6TdFn_Mo65sDHgp.xml
├── EEtUlUb-dLAdf0KpMVivaUlztwAp.xml
├── GiiBklLgTxteCEmomM8RCvWT0nQd.xml
├── GiiBklLgTxteCEmomM8RCvWT0nQp.xml
├── HoHDHQ_WvHAAKj5aJOrvrg_vpt8p.xml
├── KAXfQgCar2Yb8zOxgvf9hdmLP1Ep.xml
├── NmGqIpAwUJcXFyLjFAGnU9uyN5Yp.xml
├── P0Eh5IJqB5ZO7T0up6e3RP13N7Id.xml
├── P0Eh5IJqB5ZO7T0up6e3RP13N7Ip.xml
├── WZRuNzqc-Db7NcQAZO8Y-R8U9ccp.xml
├── fjRQtWiSIy7hIlj-Kmk87M7s21kp.xml
└── qaw0eS1zuuY1ar9TdPn1GMfrjbQp.xml
├── rootp.xml
├── uuid-21238cb2-4104-4d99-83a9-546beb16fcf3.xml
└── uuid-366ca619-578a-4bc0-8012-bfa62d28c37f.xml
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.fig binary
2 | *.mat binary
3 | *.mdl binary diff merge=mlAutoMerge
4 | *.mdlp binary
5 | *.mexa64 binary
6 | *.mexw64 binary
7 | *.mexmaci64 binary
8 | *.mlapp binary linguist-language=MATLAB
9 | *.mldatx binary
10 | *.mlproj binary
11 | *.mlx binary merge=mlAutoMerge linguist-language=MATLAB
12 | *.p binary
13 | *.sfx binary
14 | *.sldd binary
15 | *.slreqx binary merge=mlAutoMerge
16 | *.slmx binary merge=mlAutoMerge
17 | *.sltx binary
18 | *.slxc binary
19 | *.slx binary merge=mlAutoMerge linguist-language=Simulink
20 | *.slxp binary
21 |
22 | ## Other common binary file types
23 | *.docx binary
24 | *.exe binary
25 | *.jpg binary
26 | *.pdf binary
27 | *.png binary
28 | *.xlsx binary
29 |
30 | # Ignore HTML
31 |
32 | *.html linguist-detectable=false
33 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: MATLAB Build
2 |
3 | # Controls when the action will run.
4 | on:
5 | push:
6 | branches: [ release ]
7 | pull_request:
8 | branches: [ release ]
9 | workflow_dispatch:
10 |
11 | # Add permission to write GitHub pages
12 | permissions:
13 | contents: write
14 | pages: write
15 | id-token: write
16 |
17 | jobs:
18 | test:
19 | strategy:
20 | fail-fast: false
21 | matrix:
22 | MATLABVersion: [R2024a,R2024b]
23 | runs-on: ubuntu-latest
24 | steps:
25 | # Checks-out your repository
26 | - uses: actions/checkout@v4
27 |
28 | # Sets up a display server
29 | - name: Start display server
30 | if: ${{ always() }}
31 | run: |
32 | sudo apt-get install xvfb
33 | Xvfb :99 &
34 | echo "DISPLAY=:99" >> $GITHUB_ENV
35 |
36 | # Sets up MATLAB
37 | - name: Setup MATLAB
38 | uses: matlab-actions/setup-matlab@v2
39 | with:
40 | release: ${{ matrix.MATLABVersion }}
41 | products: >
42 | Symbolic_Math_Toolbox
43 | Mapping_Toolbox
44 |
45 |
46 | # Run all the tests
47 | - name: Run SmokeTests
48 | uses: matlab-actions/run-command@v2
49 | with:
50 | command: openProject(pwd); RunAllTests;
51 |
52 | # Upload the test results as artifact
53 | - name: Upload TestResults
54 | if: ${{ always() }}
55 | uses: actions/upload-artifact@v4
56 | with:
57 | name: TestResults_${{ matrix.MATLABVersion }}
58 | path: ./public/*
59 | overwrite: true
60 |
61 | badge:
62 | if: ${{ always() }}
63 | needs: [test]
64 | strategy:
65 | fail-fast: false
66 | runs-on: ubuntu-latest
67 | steps:
68 |
69 | # Checks-out your repository
70 | - uses: actions/checkout@v4
71 |
72 | # Sets up R2023b
73 | - name: Setup MATLAB
74 | uses: matlab-actions/setup-matlab@v2
75 | with:
76 | release: R2024b
77 |
78 | # Download the test results from artifact
79 | - name: Download All TestResults
80 | uses: actions/download-artifact@v4
81 | with:
82 | path: public
83 | pattern: TestResults_*
84 | merge-multiple: true
85 |
86 | # Create the test results badge
87 | - name: Run PostSmokeTest
88 | uses: matlab-actions/run-command@v2
89 | with:
90 | command: openProject(pwd); PostSmokeTest;
91 |
92 | # Deploy reports to GitHub pages
93 | - name: Setup Pages
94 | uses: actions/configure-pages@v5
95 | - name: Upload pages artifact
96 | uses: actions/upload-pages-artifact@v3
97 | with:
98 | path: public
99 | - name: Deploy to GitHub Pages
100 | id: deployment
101 | uses: actions/deploy-pages@v4
102 |
103 | # Commit the JSON for the MATLAB releases badge
104 | - name: Commit changed files
105 | continue-on-error: true
106 | run: |
107 | git config user.name "${{ github.workflow }} by ${{ github.actor }}"
108 | git config user.email "<>"
109 | git pull
110 | git add Images/TestedWith.json
111 | git commit Images/TestedWith.json -m "Update CI badges ${{ github.ref_name }}"
112 | git fetch
113 | git push
114 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # List of untracked files to ignore
2 |
3 | # Autosave files
4 | *.asv
5 | *.m~
6 | *.autosave
7 | *.slx.r*
8 | *.mdl.r*
9 |
10 | # MATLAB Drive
11 | *.MATLABDriveTag
12 |
13 | # Compiled files
14 | *.mex*
15 | *.p
16 |
17 | # Compressed files
18 | *.zip
19 |
20 | # Packaged app and toolbox files
21 | *.mlappinstall
22 | *.mltbx
23 |
24 | # Deployable archives
25 | *.ctf
26 |
27 | # Generated helpsearch folders
28 | helpsearch*/
29 |
30 | # Defined Simulink cache folder
31 | Utilities/SimulinkCache/*
32 |
33 | # Standard code generation folders
34 | slprj/
35 | sccprj/
36 | codegen/
37 |
38 | # Code generation file
39 | *.eep
40 | *.elf
41 | *.hex
42 | *.bin
43 |
44 | # Cache files
45 | *.slxc
46 |
47 | # Project settings
48 | Utilities/ProjectSettings.mat
49 |
50 | # GitLab page folder
51 | public/
--------------------------------------------------------------------------------
/.gitlab-ci.yml:
--------------------------------------------------------------------------------
1 | stages:
2 | # Set up two testing paths
3 | - setup
4 | - test
5 | - deploy
6 | - release
7 |
8 | setup-job:
9 | tags:
10 | - matlab
11 | stage: setup
12 | script:
13 | - cd ..
14 | - if (test-path utilities) { rm -r -force utilities }
15 | - git clone git@insidelabs-git.mathworks.com:modular-curriculum-content/utilities.git
16 | - cd $CI_PROJECT_NAME
17 | allow_failure: false
18 |
19 |
20 | smoke-test:
21 | # Smoke tests should run all the time
22 | tags:
23 | # Add additional tags like (e.g. - arduino) as required
24 | # Make sure that the runner you plan to use matches the tags
25 | - matlab
26 | stage: test
27 | parallel:
28 | matrix:
29 | - VERSION: [R2024a,R2024b]
30 | script:
31 | - Set-Alias -Name matlab -Value "C:\Program Files\MATLAB\$VERSION\bin\matlab.exe"
32 | - matlab -batch "openProject(pwd);RunAllTests"
33 | when: always
34 | allow_failure: true
35 | artifacts:
36 | name: "$VERSION"
37 | paths:
38 | - public/*
39 | when: always
40 |
41 |
42 | pages:
43 | tags:
44 | - matlab
45 | stage: deploy
46 | script:
47 | - matlab -batch "openProject(pwd);PostSmokeTest;"
48 | artifacts:
49 | paths:
50 | - public
51 |
52 | file-test:
53 | tags:
54 | - matlab
55 | stage: release
56 | script:
57 | - matlab -batch "proj = openProject(pwd);
58 | addpath(proj.RootFolder+'/InternalFiles/Tests/CI');
59 | results = runtests('OpenCloseFileTest.m');
60 | disp(table(results)); assertSuccess(results);"
61 | rules:
62 | # This test should always run when merging to main
63 | # And be available for manual running on any push
64 | - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH
65 | when: always
66 | - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH
67 | when: manual
68 | allow_failure: true
69 |
70 | release-testing:
71 | tags:
72 | - matlab
73 | stage: release
74 | script:
75 | - matlab -batch "proj = openProject(pwd);
76 | cd ..;
77 | addpath(genpath(fullfile('utilities','TestingResources')));
78 | addpath(genpath(fullfile('utilities','Tools')));
79 | runCMTests"
80 | rules:
81 | # This test should always run when merging to main
82 | # And be available for manual running on any push
83 | - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH
84 | when: always
85 | - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH
86 | when: manual
87 | allow_failure: true
88 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | >_If you believe you have discovered a security vulnerability, please **do not** open an issue or make a pull request. Follow the instructions in the [SECURITY.md](SECURITY.md) file in this repository._
4 |
5 | Thank you for your interest in contributing to a MathWorks repository! We encourage contributions large and small to this repository.
6 |
7 | **Contributions do not have to be code!** If you see a way to explain things more clearly or a great example of how to use something, please contribute it (or a link to your content). We welcome issues even if you don't code the solution. We also welcome pull requests to resolve issues that we haven't gotten to yet!
8 |
9 | ## How to give feedback
10 | * **Send us an email:** Contact the [MathWorks teaching resources team.](mailto:onlineteaching@mathworks.com)
11 | * **Open an issue:** Start by [creating an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue) in the repository that you're interested in. That will start a conversation with the maintainer. When you are creating a bug report, please include as many details as possible. Please remember that other people do not have your background or understanding of the issue; make sure you are clear and complete in your description.
12 |
13 | ## How to contribute to the repository
14 | * **Work in your own public fork:** If you choose to make a contribution, you should [fork the repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo). This creates an editable copy on GitHub where you can write, test, and refine your changes. We suggest that you keep your changes small and focused on the issue you submitted.
15 | * **Sign a Contributor License Agreement (CLA):** We require that all outside contributors sign a [CLA](https://en.wikipedia.org/wiki/Contributor_License_Agreement) before we can accept your contribution. When you create a pull request (see below), we'll reach out to you if you do not already have one on file. Essentially, the CLA gives us permission to publish your contribution as part of the repository.
16 | * **Make a pull request:** "[Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)" is a confusing term, but it means exactly what it says: You're requesting that the maintainers of the repository pull your changes in. If you don't have a CLA on file, we'll reach out to you. Your contribution will be reviewed, and we may ask you to revise your pull request based on our feedback. Once everyone is satisfied, we'll merge your pull request into the repository.
17 |
18 | ## Guidelines
19 |
20 | We don't have best practices for writing MATLAB® code, but we do have some recommendations:
21 |
22 | * You should not have any warnings or errors in the [code analyzer report](http://www.mathworks.com/help/matlab/matlab_prog/matlab-code-analyzer-report.html)
23 | * [Loren Shure's blog](https://blogs.mathworks.com/loren) has [great advice on improving your MATLAB code](https://blogs.mathworks.com/loren/category/best-practice/)
24 | * Examples should be written as [live scripts](https://www.mathworks.com/help/matlab/matlab_prog/what-is-a-live-script-or-function.html) or [Simulink® models](https://www.mathworks.com/help/simulink/index.html).
25 | * We adhere to the [CommonMark](https://commonmark.org/) specification where it does not conflict with GitHub rendering. If you edit your Markdown in Visual Studio Code or a similar editor, it uses [markdownlint](https://github.com/DavidAnson/markdownlint) to highlight issues in your Markdown.
26 |
27 | **Again, thanks for contributing, and we look forward to your issues and pull requests!**
28 |
--------------------------------------------------------------------------------
/Data/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/.gitkeep
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_FLUX_D19900611_C20160824.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_FLUX_D19900611_C20160824.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900117_C20160820.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900117_C20160820.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900217_C20160820.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900217_C20160820.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900317_C20160819.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900317_C20160819.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900417_C20160819.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900417_C20160819.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900517_C20160819.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900517_C20160819.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900617_C20160820.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900617_C20160820.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900717_C20160820.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900717_C20160820.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900817_C20160820.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900817_C20160820.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900917_C20160819.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19900917_C20160819.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19901017_C20160819.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19901017_C20160819.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19901117_C20160819.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19901117_C20160819.nc
--------------------------------------------------------------------------------
/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19901217_C20160820.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/SEAFLUX-OSB-CDR_V02R00_SST_D19901217_C20160820.nc
--------------------------------------------------------------------------------
/Data/genData.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Data/genData.mat
--------------------------------------------------------------------------------
/FunctionLibrary/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/FunctionLibrary/.gitkeep
--------------------------------------------------------------------------------
/FunctionLibrary/CheckExercise1.mlx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/FunctionLibrary/CheckExercise1.mlx
--------------------------------------------------------------------------------
/Images/AddOnsIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/AddOnsIcon.png
--------------------------------------------------------------------------------
/Images/CompThoughtOneTenth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/CompThoughtOneTenth.png
--------------------------------------------------------------------------------
/Images/EndIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/EndIcon.png
--------------------------------------------------------------------------------
/Images/OpenInFX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/OpenInFX.png
--------------------------------------------------------------------------------
/Images/OpenInMO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/OpenInMO.png
--------------------------------------------------------------------------------
/Images/RGBTurkeys.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/RGBTurkeys.png
--------------------------------------------------------------------------------
/Images/StringCatwNeedle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/StringCatwNeedle.png
--------------------------------------------------------------------------------
/Images/TestedWith.json:
--------------------------------------------------------------------------------
1 | {"schemaVersion":1,"label":"Test Status","color":"success","message":"R2024a | R2024b"}
2 |
--------------------------------------------------------------------------------
/Images/TokyoWindPrediction.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/TokyoWindPrediction.gif
--------------------------------------------------------------------------------
/Images/add-ons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/add-ons.png
--------------------------------------------------------------------------------
/Images/memory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/memory.png
--------------------------------------------------------------------------------
/Images/sst.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/Images/sst.png
--------------------------------------------------------------------------------
/InstructorResources/Solutions/MemorySoln.mlx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/InstructorResources/Solutions/MemorySoln.mlx
--------------------------------------------------------------------------------
/InstructorResources/Solutions/NumericDataTypesSoln.mlx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/InstructorResources/Solutions/NumericDataTypesSoln.mlx
--------------------------------------------------------------------------------
/InstructorResources/Solutions/StoringDataSoln.mlx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/InstructorResources/Solutions/StoringDataSoln.mlx
--------------------------------------------------------------------------------
/InstructorResources/Solutions/StringsSoln.mlx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/InstructorResources/Solutions/StringsSoln.mlx
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2023, The MathWorks, Inc.
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are
6 | met:
7 |
8 | * Redistributions of source code must retain the above copyright
9 | notice, this list of conditions and the following disclaimer.
10 | * Redistributions in binary form must reproduce the above copyright
11 | notice, this list of conditions and the following disclaimer in
12 | the documentation and/or other materials provided with the distribution
13 | * Neither the name of the The MathWorks, Inc. nor the names
14 | of its contributors may be used to endorse or promote products derived
15 | from this software without specific prior written permission.
16 |
17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 | POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/MainMenu.mlx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MathWorks-Teaching-Resources/Programming-Organizing-Data/9cd28a316ec459b1c6681fdb2eeea756f5d84da7/MainMenu.mlx
--------------------------------------------------------------------------------
/OrganizingData.prj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Programming: Organizing Data
2 |
3 |
4 | [](https://www.mathworks.com/matlabcentral/fileexchange/115900-programming-organizing-data) or [](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Programming-Organizing-Data&project=OrganizingData.prj&file=README.mlx)
5 |
6 | [](https://MathWorks-Teaching-Resources.github.io/Programming-Organizing-Data)
7 |
8 | **Curriculum Module**
9 |
10 | _Created with R2024a. Compatible with R2024a and later releases._
11 |
12 | # Information
13 |
14 | This curriculum module contains interactive [MATLAB® live scripts](https://www.mathworks.com/products/matlab/live-editor.html) that teach fundamental concepts and basic terminology related to programming computers. This module focuses on concepts and practices related to working with data.
15 |
16 |
17 | ## Background
18 |
19 | You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. This module covers textual data, numerical data, memory, and data structures including, arrays, structs, tables, and more. Applications include sea surface temperature data and solar power generation data.
20 |
21 |
22 | The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the Stop button in the **RUN** section of the **Live Editor** tab in the MATLAB Toolstrip.
23 |
24 | ## Contact Us
25 |
26 | Solutions are available upon instructor request. Contact the [MathWorks teaching resources team](mailto:onlineteaching@mathworks.com) if you would like to request solutions, provide feedback, or if you have a question.
27 |
28 |
29 | ## Prerequisites
30 |
31 | These scripts assume familiarity with MATLAB and general programming knowledge at the level covered in the [Fundamentals of Programming](https://www.mathworks.com/matlabcentral/fileexchange/103225-fundamentals-of-programming) interactive examples. You could also use [MATLAB Onramp](https://matlabacademy.mathworks.com/details/matlab-onramp/gettingstarted) as another resource to acquire familiarity with MATLAB.
32 |
33 |
34 | ## Getting Started
35 | ### Accessing the Module
36 | ### **On MATLAB Online:**
37 |
38 | Use the [](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Programming-Organizing-Data&project=OrganizingData.prj) link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.
39 |
40 | ### **On Desktop:**
41 |
42 | Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double\-click on [OrganizingData.prj](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Programming-Organizing-Data&project=OrganizingData.prj&file=README.mlx). It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.
43 |
44 |
45 | Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add\-On Explorer. To install an add\-on, go to the **Home** tab and select **Add-Ons** > **Get Add-Ons**.
46 |
47 |
48 | ## Products
49 |
50 | MATLAB®, Mapping Toolbox™ (StoringData.mlx), Symbolic Math Toolbox™ (Strings.mlx)
51 |
52 | # Scripts
53 | ## [**Strings.mlx**](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Programming-Organizing-Data&project=OrganizingData.prj&file=Scripts/Strings.mlx)
54 | | | | |
55 | | :-- | :-- | :-- |
56 | |