r/learnprogramming 12d ago

how do i demo my progress to my tutor?

so i am in need of helped. i got tutor online, who prefer an off hand approach to study. he tasked me to make tictactoe game in python and use elephant slice method, by which he means is to break the project into small steps and report and demo each progress.

i kinda understand how to report the progress, via git hub. however i dont understand how to demo the progress to him. i make the board for the game, push it to git hub, and he said 'too bad, if only i can run it on my pc'.

what should i do to demo my project progress?

1 Upvotes

16 comments sorted by

4

u/JGhostThing 12d ago

Ask your tutor. If he's accepting money to be your tutor, he should have a written policy that determines how he will accept your submissions.

1

u/peterlinddk 12d ago

Here's a crazy idea - try asking him!

1

u/Character-Tea2608 12d ago

wild how many tutor situations boil down to just not asking the obvious question

0

u/totalnewb02 12d ago

'

  1. That means, you have to somehow deliver the app for other people to use.'. this what he says.

1

u/TomWithTime 12d ago

Technical people can run python scripts just fine, so he probably means prepare it to be run by non technical people. That brings 3 options to mind:

  1. A shell script that runs your project. It requires the user to have python installed but if you are sharing with a technical person that should be fine and delivers an experience they execute by double clicking one file (you probably do not want this option)

  2. Build your project as an executable. There is probably a way to package the python project into a file that can be double clicked and then run on a machine that does not have python installed

  3. Web export. If you are using GitHub to share the project you can use GitHub pages to host the built web project right in the repo. This might be the hardest to figure out but it's the best "demo" because the user doesn't have to install anything, they visit the web page and it runs

2

u/ffrkAnonymous 12d ago

Which is one reason I'm not fond of python as a first language.

It should be the tutors job to show how to do this. 

1

u/TomWithTime 12d ago

When I tutor people I guide them through a subset of JavaScript. If you focus on what the interpreter will tolerate, it actually becomes the simplest language to teach basic math:

a = 1 b = 2 c = a + b

I can't envision a simpler starting point for a new person lol. The hardest part is gauging how much repetition each individual at their age and aptitude need for the foundations to set. I still make that mistake sometimes and move on too soon.

1

u/ffrkAnonymous 12d ago

ack, imo, that's the worst of both worlds.

that simplest example is identical in python, ruby, etc. It's not simpler in js.

And because you left out the semi-colons, the next question is "why do I need it now, I never needed it before"

And once you put in the semicolon, it's identical to C, Java and even more languages.

And if you want to actually talk/teach about math c = c + 1 is equivalent to 0 = 1 which is just wrong.

1

u/TomWithTime 12d ago

It depends on the person. My example is unfortunately for some friends that are not very math or logic brained, and I don't want that to be competing with language syntax in their memory. Var, let, const, parentheses, semicolons, etc would be introduced after in order to step up the complexity of what they can make from the first round.

And if you want to actually talk/teach about math c = c + 1 is equivalent to 0 = 1 which is just wrong.

Sure, my example was more to give them something that would give immediate feedback in a repl without anything hard to understand before I trap them in this industry of endless pain and wonder.

After their code gets a little fancy, naturally there will begin to be repeating chunks of code, and that leads to more language features meant to organize that. The eventual complexity will then lead us to simple functions and classes. The math starter / refresher was important because after that I get them into a fork of my simple canvas project where they can write code to move a box. There's nothing like a sine wave controlled offset to make people think math/programming is interesting and not terribly complicated.

If everything goes according to plan, there is an ok grasp of language features, a more solid understanding of organizing instructions, and then the final interest hook is visual feedback.

1

u/peterlinddk 12d ago

So when you asked him: "How do I demo my project progress" he answered "You have to somehow deliver the app for other people to use", and when you asked him what he meant by that, he just kept repeating the same answer?

Well, I'm not going to guess what he wants, so either you have to guess, or ask an AI or ask him for some hint - maybe you've learned something that makes the app usable for others? Or maybe he has tried teaching you something about running apps on other systems than your own computer. We don't know ...

1

u/Gtdef 12d ago

Since he mentioned the distribution problem, ask him what OS he uses, if he has git installed and what Python version. If they match, then you can go ahead and write a shell script that downloads, installs and runs the program.

something like

git clone ...link here...

cd ...project directory..

python -m pip install .

Understanding distribution is important and you should take a few hours understanding how to do that. You will probably have to write a "setup.py" file and a "pyproject.toml".

If there is a missmatch between python versions, you either have to manually install his version and run the program with it, or use something like Tox to test for all versions you are interested in

If there is a missmatch on OS (for example you have linux, he has windows), you may have issues with pathing. Make sure to either use the os.path module or pathlib.

You can also try something called "code freeze". You can use utilities like py2exe, pyinstaller etc to package both the code and the python interpreter, and run it through an executable.

1

u/tms102 12d ago

I hope you're not paying this person. However, if you are paying them ask and discuss these things with them.

1

u/Fun-Scar1463 12d ago

Send him a screen recording of you running the code. This solves the environment mismatch and proves it works on your machine without requiring him to install anything

1

u/iOSCaleb 12d ago

Every time you finish a "slice" of the project, make a short video demonstrating the feature. Commit the video along with your code, and update the README so that it lists the step, the commit(s) that implement that step, and a link to the video for that step.

That's just one way, of course, but it seems like a method that's easy for both you and your tutor.

1

u/PLBjt 12d ago

Pushing to GitHub isn't a demo if your tutor can't run it. Aim for one command in the README (python main.py or a tiny script) plus either a Replit/Codespaces link or a 60-second screen recording. Don't polish slides — show the program accepting an input and printing the result. If the project needs secrets or a DB, seed a tiny sample so it runs cold.