bakhtiarZ / IAC_Exercises

Exercises for IAC lab assessment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Assessment

This lab is assessed in two ways:

  • Through a group lab mid-term assessment.
  • Through a peer evaluation which can adjust module marks from the mid-term.

The purpose of the mid-term is to assess the group's understanding of core skills related to developing clocked synchronous circuits (such as CPUs), and also of understanding of how to test such circuits using test-benches.

Assessment format

The mid-term assessment will be held on the Friday of mid-term - the 3 hour block in the timetable is for the assessment.

Your assessment will consist of a sequence of practical tasks, with two tasks per team member - so 10 for a group of 5, or 12 for a group of 6. The tasks nominally take 10-30 minutes each, and you have three hours to work on them as a group and then submit them. So that gives you a total of 15 or 18 engineer-hours per group, or 1.5 engineer-hours per task.

The tasks themselves are just variants of the activities suggested in the lab:

  • Run a test-bench.
  • Capture wave-forms (vcds).
  • Interpret wave-forms.
  • Write a test-bench.
  • Fix a module.
  • Fix a test-bench.
  • Modify a module.
  • Modify a testbench.
  • Script a test-suite.
  • Add a test-case to a test-suite.

You can share these tasks out within the group however you want, and there will be a single submission for the group.

Your submission will consist of zip file submitted via the group via Blackboard (as it is the easiest way of gathering such things).

An example set of tasks is included in the directory exercises.

Assessment is purely mechanical in the first instance, as the tasks are designed to be simple and so can easily be checked automatically. If tasks do no pass the automatic tests, then human assessment will be incorporated, but any task that requires human assessment attracts at most half marks. Human assessment is intended to catch simple mis-matches between the task solution and the spec, such as mis-named variables, or mild deviations. However, this does not cover cases such as code that has never compiled, or sketches of solutions.

Pre-emptive comment on timing. : the mid-term assessment is expected to happen after you have learnt the material from the lab and the first four weeks of lectures. If you are learning the preliminary info while doing the exercises they will inevitably take longer. The least efficient method is simply to go straight for the assessment exercises, as it means you'll need to learn things on demand. It would be the equivalent of starting a module by working through past-papers, then going back to lectures on-demand every time something unknown was encountered.

If the course is followed roughly on the timeline suggested then it is hoped there will be expertise built up in a progressive way:

  • The first couple of weeks of lectures set up knowledge for the lab
  • Looking at the lab individually prepares you to discuss it with your team
  • Working on the lab as a team prepares you to try the practise assessments
  • Working on the practise assessments as a team prepares your for the mid-term
  • The skills and knowledge from the mid-term and lecture course prepare you for the coursework.

Ideally you are looking for a continuous learning process, where each set of skills and knowledge gained supports the next step. The least efficient approach is to leave everything until you are trying to design and build a working CPU, then try to go from "not knowing verilog or how a CPU works" to "implement a CPU in Verilog" in one step.

Peer evaluation

You are required to complete a peer assessment form by 18:00 on Monday following mid-term, which is intended to reflect how well people worked within and contributed to the group. It is not intended to assess your team-mates knowledge or technical ability, it is more about the way that they work. You'll only have had limited time interacting with your team-mates over the few weeks preceding the mid-term assessment, but this exercise is intended to prepare you for peer evaluation during the group project, and also to identify any particularly weak (or strong) performance that needs to be fixed.

The three categories you'll be asked to rate each team member and yourself on are:

  • Time management and self-organisation

    • Were they arriving to any group meetings on time?
    • Did they do any expected preparation for group meetings?
    • If given tasks within the group, did they attempt to complete them on time?
  • Communication

    • Are they able to explain their ideas and thoughts well?
    • Were they active participants in discussions?
    • Are they able to ask questions without worrying about losing face?
    • Have they stayed in touch?
  • Leadership and team-work

    • Did they contribute to effective organisation and management with the team?
    • Did they take on any support roles, e.g. time-keeping, record-keeping, co-ordination?
    • Did they show leadership, and help resolve problems or make difficult decisions?
    • Were they supportive of other people?

Note that leadership is not just "telling people what to do" or "ordering people about", it's about listening to and supporting the rest of the team.

For each category you'll be asked to rate team members as:

  1. Outstanding
  2. Exceeds expectations
  3. Meets expectations
  4. Below expectations
  5. Unacceptably low

Here your expectations should be based on a "typical" 2nd year engineering student, and not so much on your own standards. For example, if you always turn up 10 minutes early to every routine catch-up meeting, then that's great, but you shouldn't expect everyone else to do that. Or if you generally complete tasks right at the last minute and then are a bit late to deliver, you should recognise that would fall below typical expectations.

Most people are in the range 2-4, with the average being 3. Use outstanding where appropriate to recognise that someone performs really well - you'd typically only expect one or maybe two people per group in that category. Similarly, rating someone as unacceptably low is a very strong signal to send to someone, and should be based on very poor performance.

The peer assessment will be used for two purposes:

  • To provide aggregate feedback to each student so they know how they are performing
  • To modulate individual marks by at most plus or minus 10% on the group mid-term mark. However, in most cases the swing is likely to be plus or minus 1-2% (based on previous experience with peer feedback).

If you rate someone as either outstanding or unacceptably low, you'll also need to submit a brief text description of why (a couple of sentences). This is to make sure that strong opinions are supported, and (where possible) to provide feedback about why someone is awesome or what they need to improve on. No textual comments will be given back to students without being read, and if necessary filtered/re-written to mask who the reviewer was.

The exact method used to modulate marks is not stated in advance, to avoid gaming the system. Please just give honest feedback.

Non-submission of peer review will subtract 5% from the individual mid-term mark.

About

Exercises for IAC lab assessment


Languages

Language:Verilog 82.7%Language:Shell 17.3%