Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Piloting of software dev course #72

Open
sgbaird opened this issue Oct 1, 2024 · 28 comments · Fixed by #93
Open

Piloting of software dev course #72

sgbaird opened this issue Oct 1, 2024 · 28 comments · Fixed by #93
Assignees

Comments

@sgbaird
Copy link
Member

sgbaird commented Oct 1, 2024

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
Copy link
Contributor

linx5o commented Oct 12, 2024

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

@linx5o
Copy link
Contributor

linx5o commented Oct 12, 2024

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

@linx5o
Copy link
Contributor

linx5o commented Oct 12, 2024

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
Copy link
Contributor

linx5o commented Oct 12, 2024

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 linx5o linked a pull request Oct 12, 2024 that will close this issue
@linx5o
Copy link
Contributor

linx5o commented Oct 13, 2024

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
Copy link
Contributor

linx5o commented Oct 13, 2024

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
Copy link
Member Author

sgbaird commented Oct 13, 2024

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
Copy link
Contributor

linx5o commented Oct 13, 2024

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
Copy link
Contributor

linx5o commented Oct 14, 2024

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
Copy link
Contributor

linx5o commented Oct 14, 2024

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](https://github.com/user-attachments/assets/6fea0afe-82c1-4b0c-8f99-fcdf9670fee0) I don't see when we are told to create a Project

@SissiFeng
Copy link
Contributor

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
Copy link
Contributor

linx5o commented Oct 15, 2024

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

@SissiFeng
Copy link
Contributor

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

OK, I will reorganize the description.

@linx5o linx5o reopened this Oct 17, 2024
@linx5o
Copy link
Contributor

linx5o commented Oct 17, 2024

In assignment 4.6
image
should be test instead of tests

@linx5o
Copy link
Contributor

linx5o commented Oct 18, 2024

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
Copy link
Contributor

SissiFeng commented Oct 18, 2024

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
Copy link
Member Author

sgbaird commented Oct 21, 2024

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
Copy link
Member Author

sgbaird commented Oct 21, 2024

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

These are fixed.

@sgbaird
Copy link
Member Author

sgbaird commented Oct 21, 2024

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
Copy link
Member Author

sgbaird commented Oct 21, 2024

@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
Copy link
Contributor

linx5o commented Oct 24, 2024

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
Copy link
Member Author

sgbaird commented Oct 26, 2024

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
Copy link
Contributor

linx5o commented Oct 27, 2024

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
Copy link
Member Author

sgbaird commented Oct 27, 2024

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
Copy link
Contributor

The 4.4/4.6/4.7 assignments were revised.

@sgbaird
Copy link
Member Author

sgbaird commented Oct 30, 2024

@RubainaFarin31, any updates?

@RubainaFarin31
Copy link

I think structure wise of the course so far, maybe have the assignment at the top? It's a bit confusing at the beginning that you can't access the assignment till the end when you have to self-report. Also just in general, I think it'd be nice to clarify whether the reading is for supplementary knowledge or practical steps to follow.

3.1 Comments: It’s a bit unclear whether the DigitalPipette class has units explicitly defined (e.g., μL) - may have misunderstood?
3.2 - no major comments, pretty clear!
3.3 - This is super minor, just a personal preference I guess, "Science Jubilee" section, consider changing "Science Jubilee is an extension to Jubilee" to "Science Jubilee is an extension of Jubilee."

3.4 - Under Demo, "Learn about controlling robots with ROS ROS Navigation Stack" - is it supposed to say ROS twice?

3.5 - no major comments, pretty clear!
3.6 - no major comments, pretty clear!

@sgbaird
Copy link
Member Author

sgbaird commented Nov 7, 2024

Also, to clarify, the piloting of the course includes completing and submitting the quizzes and assignments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants