AccelerationConsortium / ac-microcourses

Microcourses hosted by the Acceleration Consortium for self-driving lab topics.
https://ac-microcourses.readthedocs.io/
MIT License
24 stars 3 forks source link

Piloting of software dev course #72

Open sgbaird opened 1 month ago

sgbaird commented 1 month ago

Once the tutorials and other content are complete and merged (should be within a day or two), then it would be great if you could start working through the content as a pilot student, providing feedback via GitHub issues, discussions, and occasionally PRs for @SissiFeng to look over.

linx5o commented 3 weeks ago

For Course 3 image I don't really understand what this prerequisite is, Course 1?

linx5o commented 3 weeks ago

Link in the Quercus page points to Course 2 for Course 3, and Course 4 to Course 1?

linx5o commented 3 weeks ago

For Course 3.1 I think these courses are for someone who is just getting into the space and may not have enough knowledge regarding the usage of these equipment. I believe a more thorough guide is needed to show how to assemble these equipment.

We should mention we don't need a separate Pico and relevant equipment for each setup. (Unless that is the intent)

For Pico Board, I believe we should mention getting the version with the GPIO Headers. A mention to look at the pinout to decide where to plug in the devices.

For the Pipette I think more info about how the wiring goes is needed. Especially as we are using a setup board. And maybe some safety notices?

For the Motor, we are getting three colours of wire so I think we should say what they normally indicate, I genuinely believe some people don't know.

For the fan, the diagram could do with some more clarification, in particular we are soldering separating the headers and solder them to the board and the wires to the headers. The fan wires do have corresponding connection points and its not just connect the four wires.

linx5o commented 2 weeks ago

For 3.2 Quiz Why is it called "mass balance"? Is it a scientific term? I think scale might be easier to understand for the general public.

linx5o commented 2 weeks ago

Throughout course 3 I feel that there is a significant push for hands-on experience and learning as we go. However, I think that more theoretical explanation of what we are doing would be nice. I feel like its buy this, read this, do this demo. Missing some why we are doing this and how it works, what benefits this approach has, possible use cases for this, etc.
Reading through a lot of documentation and then trying to complete a demo with not a lot of guidance also feels quite tiring. It feels like getting a Lego set without instructions, there is an extensive list of items and equipment that have to be pieced together with seemingly not a lot of guidance in the course itself, I feel the course pushes too much for the student to explore the documentation and figure it out. The demo code I think could include some comments to help understand what is happening instead of the student just running the code and seeing it works.

linx5o commented 2 weeks ago

For quiz 4.2 image I think this fill in the blank does not really show the students competency. I think IntelliSense should be changed to autocomplete.

Why are we asking for both pylance and copilot? The two autocomplete's may interfere with each other. Especially with the capabilities of copilot, I think copilot may be enough.

sgbaird commented 2 weeks ago

Not saying it should stay the same, but some additional context:

  1. https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance
  2. https://code.visualstudio.com/docs/editor/intellisense

In short, while both can provide auto complete, my understanding is that pylance has distinct features from copilot.

It seems Pylance is actually installed by default with the Python extension apparently. I think there's some setting where you get to adjust what (if any) framework to perform auto completion.

https://marketplace.visualstudio.com/items?itemName=ms-python.python

linx5o commented 2 weeks ago

The knowledge check for the orientation modules has no place, even in Course 1 it is not listed on the course site. Potential to add it in to the course site. Can only be accessed through Quercus right now.

linx5o commented 2 weeks ago

For orientation courses, if this is not the first course they have taken they may not be shown the student identifier (or get to choose one again). We could mention that in this case, the identifier will be the same as the other courses.

linx5o commented 2 weeks ago

In Course 4 assignment 1, conflict_generator.py both instances of with open('src/snake_game.py', 'w') needs to be replaced with with open('snake_game.py', 'w'). The print statement also needs to be changed.

image Needed to change with open('README.md', 'r') as file: to with open('README.md', 'r', encoding="utf-8") as file: to get it to work on my PC. Potential issue? check_submission.py

image My implementation passed chech_submission.py, no idea about the error on GitHub actions


image I don't see when we are told to create a Project

SissiFeng commented 2 weeks ago

In Course 4 assignment 1, conflict_generator.py both instances of with open('src/snake_game.py', 'w') needs to be replaced with with open('snake_game.py', 'w'). The print statement also needs to be changed.

image Needed to change with open('README.md', 'r') as file: to with open('README.md', 'r', encoding="utf-8") as file: to get it to work on my PC. Potential issue? check_submission.py

image My implementation passed chech_submission.py, no idea about the error on GitHub actions

image I don't see when we are told to create a Project

Thanks for the careful checking. utf-8 is indeed an encoding issue that I didn't take into account that is often encountered on windows systems. The reademe file has been added with more specific instructions for creating a project.

linx5o commented 2 weeks ago

In course 4.4 assignment, image Change of wording for step 1 maybe?

SissiFeng commented 2 weeks ago

In course 4.4 assignment, image Change of wording for step 1 maybe?

OK, I will reorganize the description.

linx5o commented 2 weeks ago

In assignment 4.6 image should be test instead of tests

linx5o commented 2 weeks ago

In assignment 4.7 image There seems to be a misalignment with the file structure. The command putup ml_predictor also needed to be run --force at the end
There also does not appear to be a MLPredictor class. The instructions on what to do also seem a bit vague.

SissiFeng commented 2 weeks ago

In assignment 4.7 image There seems to be a misalignment with the file structure. The command putup ml_predictor also needed to be run --force at the end There also does not appear to be a MLPredictor class. The instructions on what to do also seem a bit vague.

Thanks. It was originally intended to be self-written to add the ml_predictor.py file, and sorry for I didn't write it clearly. Let me check and refine it.

sgbaird commented 1 week ago

For Course 3 image I don't really understand what this prerequisite is, Course 1?

Yes, for course 1. Will try to update to clarify.

sgbaird commented 1 week ago

Link in the Quercus page points to Course 2 for Course 3, and Course 4 to Course 1?

These are fixed.

sgbaird commented 1 week ago

For orientation courses, if this is not the first course they have taken they may not be shown the student identifier (or get to choose one again). We could mention that in this case, the identifier will be the same as the other courses.

These should be distinct between courses now, though people are welcome to choose the same identifier if it's available. If it's not unique between courses, then the links probably need to be updated. @SissiFeng could you check to make sure that the gh classroom links match the readthedocs links for the orientation modules? (intro to git and github, intro to github classroom, and python refresher links).

@linx5o if you think it's worthwhile, could you suggest some language in a separate PR (or here) to clarify?

sgbaird commented 1 week ago

@linx5o if you think it's worthwhile, could you suggest some language in a separate PR (or here) to clarify?

EDIT: looks like I had this warning in course 2, but left it out in courses 3 and 4 somehow. I'm adding the same warning as shown in https://ac-microcourses.readthedocs.io/en/latest/courses/data-science/2.0-orientation.html#getting-started to 3 and 4.

linx5o commented 1 week ago

Usage of containers is currently part of 4.8, however I feel that having a whole section dedicated to the usage of containers is also justifiable. I think that they provide a lot of benefits that more people should learn to utilize in different situations.

sgbaird commented 1 week ago

Usage of containers is currently part of 4.8, however I feel that having a whole section dedicated to the usage of containers is also justifiable. I think that they provide a lot of benefits that more people should learn to utilize in different situations.

While it might not make sense to create a separate module at this stage, providing additional content related to containers is feasible. Do you have any specific ideas about examples that could be used to show the benefits you mentioned?

To be fair, I probably don't use containers as much as I should. One of the main places I started using them for is the course codespaces themselves, and this has been great for ensuring every user at least has the option to have a consistent environment.

linx5o commented 6 days ago

I think having all the courses in containers would make for easier maintenance of requirements. However, this does create more work, and would require students to under how to run files in the container.

I find that it is useful when developing from different devices.

sgbaird commented 6 days ago

Great points. As a note, whenever one of the GitHub classroom assignments is accepted, and then a corresponding codespace is created by the user, it uses a devcontainer file I or someone else wrote, usually identical to or somewhat modified from these files: https://github.com/AC-Classroom/intro-github-classroom/tree/main/.devcontainer

To your point, this has ensured that when someone runs an assignment on codespaces, the environment is identical to that of other learners, which makes debugging a lot easier from a maintainer standpoint.

SissiFeng commented 3 days ago

The 4.4/4.6/4.7 assignments were revised.

sgbaird commented 2 days ago

@RubainaFarin31, any updates?