Assignments
- Learning objectives for assignments (may be useful when studying for quizzes).
- Suggested: C style guide.
Expand for Hardware Package Components
Components in 2025 Student Hardware Package
- 1x BeagleY AI
- 1x 32 GB uSD card
- 1x 4 Channel SPI A/D converter
- 1x 4 channel op-amp
- 1x USB audio adapter
- 1x Accelerometer board
- 1x LED serial module
- 1x Jumper set M to F
- 1x Photo cell
- 1x Analog joystick
- 1x Rotary encoder
- 10x 10kOhm resistors
- 1x 20 position vertical header
- 2x 10 uF capacitor
- 2x 0.1 uF capacitor
Expand for Assignment Demo Process
Assignment Demo Process
You will demo your assignments to the TAs for marking. This helps ensure no marks are lost due to problems with the TAs running code on their system, and ensures that your solution (which has been fully tested on your system with your hardware) works well!
- If assignment was done as a pair, it's best to have both people there (but not required).
- Each student get 1 free no-show to a marking appointment; after that a 5% penalty for each subsequent unexcused no-show.
Email the TAs and instructor if you are unable to make a sign-up appointment.
Process
- A few days after each assignment is due, the instructor will share a link for how to sign-up for demo slots.
- If you will need to compile your project on the TA's laptop (don't have one yourself), you will need to indicate that when signing up: At most one student per time-slot (per TA) can need the TA's laptop.
- When you arrive for your demo, check in with the TA who may have a sign-in sheet to ensure students are marked in the correct order.
- TAs will mark students in the order of their time-slots, not first-come-first-serve.
- If a student misses their time slot (and the TA was ready for them), then they will have to wait until the TA has a free moment (after students who have marking appointments).
- If you have your own laptop (or are borrowing a friend's), then have your VM and web-browser up and running, and your BeagleBone booted.
- If you do not have your own laptop capable of running the software, then the TA will have a computer that can be used. Their computer will be setup in the way described in the guides. On their computer, they may want you to do the work of extracting/building/..., or they may do it themselves with you there.
- Either way, should expect to bring your BeagleBone and required hardware to the marking.
- During the demo you will likely need to do the following while the TA is watching:
- Download your code from CourSys
- Compile without any errors (warnings OK, but you should really resolve those!)
- Run your code on your BBG
- You and the TA will exercise your program, showing how it handles both simple and edge use cases (trying to find bugs!). Likely using tools as required by the assignment such as
valgrind
, a web browser, ornetcat
. The TA will likely play around with your solution, possibly getting your help to do things as needed. - Show the TA your code inside of your IDE (or, perhaps they will load it on their computer). They may ask you to explain or discuss some aspect of your code to ensure that you wrote it with at most a reasonable amount of help from others/online/AI.
- The TA will likely take notes as they go, and give you feedback as well. They may comment on the functionality of your solution, or on things they notice in your code (good and bad).
- The TA will likely look at any other files submitted for the assignment (output captures, etc) while you are building your assignment.
- If there are any misunderstandings about requirements, or how to get things running, you and the TA can discuss the issue.
- There may be a mark penalty if any changes to the code are needed in order to get it working. The TA will assign any deductions based on what they feel is reasonable. If there are any disagreements, you and the TA should work on finishing marking and capturing your solution's behaviour; then you can talk to the instructor to work out any issues.
- During the demo, expect to get feedback on your work and how to improve. Treat this feedback as constructive criticism. It will be given to you respecting you and your abilities, and shared as an educator providing feedback on your work.
- Marking is not expected to be a debate: students are welcome to comment on how to demonstrate the full functionality of their solution; however, it is the TA's decision about what is and is not worth marks, or what triggers a deduction. If a discussion between the student and TA cannot easily be resolved, the student is encouraged to discuss it with the instructor.
Assignment 1 - Reaction Timer
Click to expand...
- Assignment description
- Assignment marking guide
- How-To Guides
- Quick-start guide
- Networking guide
- NFS guide
- [Optional] WSL Embedded Linux Guide: Brief steps on getting WSL2 setup for embedded Linux development. Combines steps from the Quick Start, Networking, and NFS guides.
- LED Guide: How to control the LEDs via the terminal and C
- Suggested Step: Build a HAL module to allow your application to turn on and off each of the LEDS.
- How can you reduce duplicate code?
- How can you make it convenient to add another LED?
- Suggested Step: Build a HAL module to allow your application to turn on and off each of the LEDS.
- Guide on using I2C to read the ADC for the Joystick or light sensor. NOTE: Your ADC now uses SPI, not I2C
- Starter CMake: This is a starter file to structure all assignments. Read the README.md file for details.
- Due Sept 30th by 11:59pm.
Submit via CourSys - In-class quiz Friady Oct 17th; see learning objectives and in-class notes.
Project
See the project information page.