HELP ME GIVE STUDENTS THEIR FIRST CODING EXPERIENCE!
I am a math teacher (11th grade) trying to bring to life a lesson that lets students explore transformations on point matrices using a graphing calculator. I am willing to hire someone to help me write the code that allows me to have students recreate the project my teacher made 20 years ago. My school has no coding class and I am not a programmer. I've been trying to find the program set up for 3 years.

The project:
Create a point matrix and enter it into the calculator.
Students program the initial code into their calculator following a typed-up set of instructions.
Using a set of predefined steps, students are able to type in the matrix calculation to transform the previous shape (or a previously defined image in the process) to create a new shape on the same graph.
Ex: [transformation][matrix A]-->store [A] -->prompt--> graph image
The program runs by hitting a key repeatedly to view the next graph.

Requirements:
Students enter everything as matrices (not lists)
Student work is minimally coding-based, and more immediate exploration-based.
I can use this for basic call functions, vector graphics, and so much more.
For a point matrix, I assume you mean 2 columns x a variable number of rows, where the columns are (x, y)? I've put that together, with these features:
  • Enter any number of shapes as matrices. All are concatenated into one matrix, so you're not limited to the number of matrices the calculator has.
  • Apply any 2x2 transformation to the shapes entered thus far
  • Interleave entering shapes and applying transformations
  • Auto-scaling graphscreen bounds always contains the shapes




Here's the code; if this matches what you're looking for, I can upload it to the archives for easy download.

Edit: I read the requirements more carefully, and it looks like you want a program where you can enter the steps ahead of time, then replay them one at a time. This doesn't do that, but let me know if that is indeed what you're looking for.


Code:
// Don't draw any functions
FnOff
// Don't draw any statistics plots
PlotsOff
0->dim(L1) // List of shape-starting indices
DelVar [A] // All shapes
0->Q // Quit
Repeat Q
   0->O // Operation
   Menu("OPERATION","ADD SHAPE",A,"TRANSFORM",T,"QUIT",Q)
   Lbl Q
   1->Q // Quit
   Lbl T
   1+O->O
   Lbl A
   1+O->O
   If not(Q)
   Then
      If 1=O
      Then
         0->V // Valid entry
         Repeat V
            ClrHome
            Disp "ENTER A MATRIX","OF X,Y POINTS.","START WITH [],","ADD [ROW][ROW]","EX: [[0,2][2,2]","[1,0]]"
            Input [B]
            dim([B])
            If 2!=Ans(2
            Then
               Pause "NEED 2 COLS X,Y"
            Else
               If 1=Ans(1
               Then
                  Pause "NEED >=2 ROWS"
               Else
                  1->V
               End
            End
         End
         If 0=dim(L1
         Then
            {1}->L1
            [B]->[A]
         Else
            dim([A])
            1+Ans(1)->L1(1+dim(L1
            // Now we have a valid matrix to add
            augment([A]^^T,[B]^^T)^^T->[A]
         End
      Else
         If not(dim(L1))
         Then
            Pause "NEED SHAPE"
         Else
            0->V
            Repeat V
               Disp "ENTER 2X2 TRANSF","ORMATION MATRIX"
               Input [B]
               dim([B])
               If 2=Ans(1) and 2=Ans(2)
               Then
                  [A][B]->[A]
                  1->V
               Else
                  Pause "NEED 2X2 MAT"
               End
            End
         End
      End
      If dim(L1
      Then
         // Determine the graphscreen bounds
         Matr>list([A],L2,L3
         min(L2)-0.1(max(L2)-min(L2))->Xmin
         max(L2)+0.1(max(L2)-min(L2))->Xmax
         min(L3)-0.1(max(L3)-min(L3))->Ymin
         max(L3)+0.1(max(L3)-min(L3))->Ymax
         DelVar L2
         DelVar L3
         // Draw it
         For(X,1,dim(L1
            // Start is L1(X
            // End is E
            If X=dim(L1
            Then
               dim([A])
               Ans(1)->E
            Else
               L1(X+1)-1->E
            End
            // Loop over points
            For(I,L1(X),E
               (I<E)(I+1)+(I=E)L1(X)->J
               Line([A](I,1),[A](I,2),[A](J,1),[A](J,2))
            End
         End
         Pause
      End // End of drawing
   End // End of not-quit conditional
End // End of if-quit repetition
Disp "VISUAL MATRIX","BY KERM MARTIAN"
Hello,
First of all - I want to thank you immensely for the help!

Can you explain better how to use the code? It's not quite what I was thinking BUT you have sections in it that are VERY familiar and I want to understand how to use the program you wrote.

***Ultimate Goal***
To have an initial code that will allow students to explore matrix transformations of shapes and old-school stop-motion animation. Using a point matrix (x is top row, y is bottom row - similar to what you did but left-handed instead of right-handed computations, if that makes sense)
1) Start code is programmed by all students that enables matrix to be put in as a graph and new matrices added.
2) Students' continued work consists of the following process
- enter in transformation matrix (or series of matrices) to build the "next image" to be displayed
- call up a matrix to transform (previous matrix what what I did in HS but I know we were able to use any matrix we stored into the calculator menu or program, provided we gave it a name not [A])
- Student types code to store into designated spot and the new image appears with the old image on the graph.
3) The program runs by creating the first image, then each subsequent image on the screen in the order of their programming when a specified key is struck (arrow, enter, etc).


I'm clearly not a coder so if unclear, I can send you a link to a file with the example project (not code but handwritten process) I did in high school and the final image.
The image(s) would be really helpful, even if just hand-drawn: please feel free to upload to imgur and add the image(s) to your post.

I see, having the students do some coding is part of the project as well. Do you recall if they edited a program that had the drawing and matrix manipulation code in it, inserting matrices, or if they were provided subprograms that they could call (e.g. via :prgmDRAWMAT) for tasks like drawing the current matrix?
I apologize for the delay. I had to get a new personal computer because our work computers were being updated and the updated version quit letting me do anything like this forum.

I do not have the actual code from the lesson but I have my notes from the process. Since I am unable to upload an image of my high school project I will type in the summary of the matrices I wrote out by hand to verify my code worked correctly when finished. This was what I remember having to type in. I'm happy to email you a copy of the PDF images if that would help.

NOTE
Store to: -->


Original point matrix (each column is a point):
1254
1342

Original matrix -->[C]
[y axis reflect matrix]*[C]
-->[A]
[x axis reflect matrix]*[C]
-->[A]
0.5[A]
-->[A]
[x axis reflect matrix]*[A]
-->[A]
[y axis reflect matrix]*[A]
-->[A]
[A] - [translation matrix, horizontal shift 4]
-->[A]
[y axis sym matrix]*[A]
--> [A]
[x axis sym matrix]*[A]
-->[A]
[y axis sym matrix]*[A]
-->[A]
[A]+[Translation up 4 right 4]
-->[A]
[x axis sym matrix]*[A]
--> [A]
[y axis sym matrix]*[A]
-->[A]
[x axis sym matrix]*[A]
-->[A]
[A]+[Translation right 4]
-->[A]
[rotation 90 CCW matrix]*[A]
-->[A]
[rotation 90 CCW matrix]*[A]
-->[A]
[rotation 90 CCW matrix]*[A]
-->[A]

What I can tell from here is that we had an initial code that we listed where our original shape was or we had to put it in C.

The image program was made all at once. Then when the program was ran, each successive hit of the button (enter or arrow I think) the next shape would appear in order.

We then mapped our new image onto the graph and each time it would reveal the new image as the latest rendition of [A]. I remember typing in the "store to [A]" as how we got it to change what image revealed every time.




file:///C:/Users/annaa/Downloads/CamScanner%2003-24-2024%2017.02.pdf
My take on this is to make a shell program that just uses existing matrix’s that the students edit directly instead of using a program and then use a program to execute the drawing and transformations. I’m just spitballing here.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement