汇编代写-COMP2300/6300-Assignment 1
时间:2022-03-24
2022/3/24 15:38 Assignment 1: Light Show | Computer Organisation and Program Execution
https://comp.anu.edu.au/courses/comp2300/assessments/light-show/ 1/7
COMP2300/6300 / Assessments / Assignment 1: Light Show
Assignment 1: Light Show
Create a light and sound show on your micro:bit
Photo by Arno Senoner on Unsplash
On this page
Outline
Specication
Rules and Policies
Marking Criteria
Submission
Getting Started
Ideas for Extensions
Checklist
FAQ
Do I have to write a design document?
How do I write a design document?
What do you mean by “engaging for at least 30 seconds”?
I’ve done X, is that good enough to get Y marks?
My program doesn’t work, can I email you for help?
Do I have to use memory? It seems hard.
It’s [5 minutes, 60 minutes, 12 hours] before the deadline and my CI Jobs aren’t nishing!
How do I know my assignment has been submitted?
Digital media festivals like Canberra’s Enlighten Festival and Vivid
Sydney use huge projectors and LED arrays to create a city-sized
light (and sound) show for people to enjoy. Your task in this
assignment is to create a micro light show on your micro:bit!
You are going to write an ARM assembly program that uses the LED array on your microbit
to create a changing light experience that engages a viewer. The application for your show
is an (imaginary) microbit festival where viewers walk past and experience your show for a
2022/3/24 15:38 Assignment 1: Light Show | Computer Organisation and Program Execution
https://comp.anu.edu.au/courses/comp2300/assessments/light-show/ 2/7
few minutes.
N.B.: There is a pre-submission task associated with this assignment which is due by
the start of your Week 5 lab. This task will help you get started in planning your
assignment. See the assignment pre-submission page (link) for the details.
Outline
Deadline: 2022-04-01 23:59 Canberra time.
Assignment template: link
Specication: keep reading :-)
Specication
Here’s a technical speciciation for your assignment.
Your program:
must be written in ARMv7 assembly using the assignment template (link)
must use the LEDs to create a light show that changes over time
must be engaging for a viewer for at least 30 seconds
must never stop (it can repeat or loop)
must work when the microbit is powered over USB but not connected to a computer
(that is, it works after you upload it and plug into a USB charger)
should use memory to help create an engaging show
To limit the scope, here’s some should nots. Your program:
should not use the buttons
should not use the motion sensor
should not use any input peripherals on the microbit
Finally, you program must be accompanied by a design document (maximum: 600 words).
The design document must explain:
what your design is (and how it meets the assignment specication)
how you accomplished it
why your design choices were appropriate for the task
You must follow the assignment specication for this project (both shoulds and should
nots). Our expectation is with the above limitations every student will come up with a
unique light show.
2022/3/24 15:38 Assignment 1: Light Show | Computer Organisation and Program Execution
https://comp.anu.edu.au/courses/comp2300/assessments/light-show/ 3/7
Rules and Policies
this is an individual assessment task
late submission is not permitted without an extension
Marking Criteria
Your assignment will be evaluated on the following criteria:
Sophistication of your design and how it meets the assignment specication. (20%)
Sophistication of your implementation in ARM-v7 assembly language. (50%)
Sophistication of analysis and evaluation of why your implementation is correct and
appropriate for your design and what limitations it might have. (20%)
Sophistication of communication and expression. (10%)
Item 2 will be evaluated primarily through your program code. Items 1, 3, and 4 will be
evaluated through your design document.
Submission
Submission is through GitLab, the most recently pushed commit of your fork of the
assignment template before the deadline is taken to be your assignment submission.
Getting Started
read this assignment page completely
fork and clone the assignment template
complete the presubmission task (see the Assignment Pres-submission page): ll in
your design-proposal.md le then commit and push it.
have a look at the “blinky” lab and think about how you can turn the other LEDs on
and off
think about how you can add more sophisticated patterns of LEDs within the main
loop of your program
try some LED patterns and see what you think is “engaging”
make a mistake or get stuck, then ask a good question on the course forum.
Ideas for Extensions
So you’ve made a basic light show and now you want to take it to the next level? Here’s
some ideas for making a sophisticated idea:
use persistence of vision to display images with the whole screen (not just a couple of
pixels that can be independently addressed)
2022/3/24 15:38 Assignment 1: Light Show | Computer Organisation and Program Execution
https://comp.anu.edu.au/courses/comp2300/assessments/light-show/ 4/7
use pulse width modulation to adjust the brightness of the LEDs
write a program that creates patterns that continually change (i.e., a generative
pattern)
implement a random number generator to make your show change each time you turn
on the microbit
use the speaker to create an interesting synthesised sound to go with your
visualisation
These are only a couple of extension ideas, if you have any other great ideas feel free to
chat with us on the course forum course forum.
Checklist
you have tested that your code works when “uploaded” to a microbit and when the
microbit is plugged into a USB charger or power bank
you have checked with at least one other person that your show is engaging for at
least 30 seconds (show your family! good chance to show off what you’re learning at
uni!)
you have committed and pushed your program code to your own fork of the
assignment template
you have lled out, committed, and pushed design-document.md
you have lled out, committed, and pushed your statement of originality.
you have check that the les in your fork of the template on the gitlab website are the
correct versions of the les you intend to submit.
FAQ
Do I have to write a design document?
Yes! 50% of the marks for this assignment are evaluated through the design document. If
you don’t write one you will get zero for that half of the assignment.
How do I write a design document?
Have a look at the design document page for advice.
Make sure you are answering the questions in the specication and stay within the word
limit.
Writing a clear and concise document is a challenge, but we believe in you.
What do you mean by “engaging for at least 30 seconds”?
2022/3/24 15:38 Assignment 1: Light Show | Computer Organisation and Program Execution
https://comp.anu.edu.au/courses/comp2300/assessments/light-show/ 5/7
We don’t mean that you need to have an animation that lasts exactly 30 seconds. We mean
that your work has to be interesting for at least 30 seconds. Repeating or looping things
can denitely be interesting. This is one you will need to test to know, show a friend and
see how long they spend looking at your show. If it’s only 5 seconds then maybe you have
some work to do :-)
I’ve done X, is that good enough to get Y marks?
We don’t give out marks before assignments are completed, but it’s fair to wonder “How
hard should I work on this?”
Realistically there are ways to complete this assignment with minor modication of what
you have done in labs. Those types of submissions will be likely to get in the range of 50-59
indicating “satisfactory” performance, but not what we would call “good”.
Putting in a normal amount of further effort to create a submission that is “good” or “very
good” will result in a mark between 60-79. Most students will be in this category. Don’t
neglect your design document as explaining your program is worth the same number of
marks as the program itself.
Getting higher than 79 requires an “excellent” submission across all marking criteria. This
requires sophisticated engagement with the task and probably some kind of extension.
For very high marks (90+): “we know it when we see it”. Only a few students will be in this
category and they will have denitely put in a lot of effort to create a sophisticated
extension on the basics. They will also have written an impeccable design document.
At the opposite end of the scale, if we see a submission that doesn’t meet the specication
(e.g., it’s only a static LED display, or there is a very weak design document), then the mark
will be below 50. Hopefully, there are only a few students in this category.
Sorry that we can’t be more specic than that.
My program doesn’t work, can I email you for help?
Sorry, you won’t get help over email or Teams. We provide a course forum which is the only
way we are able to help.
Forum posts related to your assignment submission must be “private to instructors” (as for
any individual assessment task).
Do I have to use memory? It seems hard.
It’s not required, but we seriously suggest that you do.
We’ve seen a lot of students avoid using memory because it’s slightly more complicated
than using registers
2022/3/24 15:38 Assignment 1: Light Show | Computer Organisation and Program Execution
https://comp.anu.edu.au/courses/comp2300/assessments/light-show/ 6/7
than using registers.
In the context of the course, this is a big mistake. Practicing how to str and ldr in
assignment 1 will make a big difference in your ability to complete the later tasks in the
course.
Realistically, there’s a very limited number of registers on the microbit and many tasks are
made easier by using memory at the appropriate time.
It’s [5 minutes, 60 minutes, 12 hours] before the deadline and my CI
Jobs aren’t nishing!
Unfortunately on the day that an assignment is due, when many students are pushing
updates at once, the CI servers can’t keep up. You may not see your CI jobs nish before the
deadline. You will just have to manually check that your les have been submitted correctly.
If there’s any issues with your git repository after the deadline. Please let us know (after
the deadline) through a private piazza post and there may be something we can do.
How do I know my assignment has been submitted?
If:
the les in your fork of the assignment are correct (i.e., the les you intend to submit)
when checking on the gitlab website
the time is before the deadline
then your assignment has been submitted (well done!).
Please don’t ask us to “check”, we would be just doing exactly the same thing as the above
steps which you can do yourself.
Acknowledgement of Country
The Australian National University acknowledges, celebrates and pays our respects to the
Ngunnawal and Ngambri people of the Canberra region and to all First Nations Australians
on whose traditional lands we meet and work, and whose cultures are among the oldest
continuing cultures in human history.
Contact ANU
Copyright
2022/3/24 15:38 Assignment 1: Light Show | Computer Organisation and Program Execution
https://comp.anu.edu.au/courses/comp2300/assessments/light-show/ 7/7
Copyright
Disclaimer
Privacy
Freedom of Information
The Australian National University, Canberra
CRICOS Provider : 00120C
ABN : 52 234 063 906
Updated: 24 Mar 2022
Responsible Ofcer: School of Computing Director
Page Contact: COMP2300 Course Convenor

essay、essay代写