220 Teaching Assistant (TA) Resources

Thank you working as a TA for ECEN 220. TAs for ECEN 220 can have a positive influence on students in the class and significantly aid student learning. You will also be able to strengthen your digitial design skills.

This document provides instructions that will help you as a 220 TA. Please read through these instructions carefully before you begin work as a TA. If you have any questions with these instructions, contact the instructor for clarification.

Textbook

A PDF copy of the textbook is available below. This .pdf file is password protected - see the head TA or instructor for this password.

nelsonbook_may24_2018.pdf

Learning Suite

All TAs should have access to the 220 learning suite page as a TA. Check learning suite to see if you can access the class and gradebook. If not, contact the instructor immediately.

Digital Lab Help Queue

TA Password: logic

Changing sections in queue:

The way to do this is go to the group ecediglabque > data > classes then create a new file with the file name like so: “class name.json” you'll see the other classes as examples there. Open one of the files there to see what text should be contained in the file. You'll see that I've done this already for 323.

Laboratory

The primary activity of 220 TAs will be to help students with ECEN 220 laboratory assignments and to pass students off on these assignments. You should be familiar with each laboratory assignment and be prepared to help students understand the lab, complete the lab, and debug their projects. If you have completed the laboratory assignment when you took the course earlier, you should find your old code and review your approach. If you have not completed this lab, spend some time reading the laboratory instructions and familiarize yourself with the laboratory requirements. Also, spend some time thinking about how you would complete the lab. If you have time, attempt a HDL solution to the lab.

During the semester, you will be helping students to resolve problems in their laboratory assignments. In some cases, you can help students solve their problem with a simple answer or observation. Try to be as helpful as possible so the students can complete the laboratory assignment as quickly as possible. If the student asks a question that was answered on the laboratory instructions, kindly point the student to the answer on the laboratory instruction and encourage them to read the instructions carefully.

In many cases, students will have difficulty debugging a design and will look to you for help in identifying the problem and providing a solution. Your role in this process is to help the students develop stronger debugging skills – your role is not to fix their design problems. In most cases, the student will have difficulty finding the cause of their design problem. In these situations, briefly look at their code to see if you can identify an obvious problem (i.e., half latches, improper logic organization, incorrect types, etc.). Next, spend some time with the student asking questions to see how well the student has tested their design. Review their testing approach and encourage them to provide more detailed tests or look at the appropriate signals. In most cases, the student has not developed a test case to identify the problem. Discuss possible test cases with the student and encourage the student to create such a test case. Do not proceed to help the student until such test cases have been developed.

Once you have helped identify the problem with the student, it is usually apparent what to do to solve the problem. Briefly discuss with the student an approach that could be used to solve the problem and leave the student to solve the problem on their own.

At some point, you may get stuck and run out of ideas for finding the cause of the student problem. In this case, enlist the help of another TA and see if the two of you can find the student’s problem. If both of you fail to find the problem, email the instructor for help. Do not spend endless hours with the student if you are not making progress – the instructor will be happy to help debug student problems that are not readily solved by the TAs.

Laboratory Passoff

Each student must “pass-off” each laboratory with a TA. Laboratory pass-offs are usually a simple check to see if the student has completed the minimum laboratory requirements. Follow-these guidelines when passing off student laboratories:

  • Review the “pass-off” instructions for the laboratory on the laboratory web page. In some cases, multiple steps are required for a pass-off (i.e., a simulation as well as a working download)
  • Verify that the student has completed all of the pass-off requirements. Laboratory pass-offs are an “all or nothing” grade.
  • When the student has passed-off the laboratory, sign the student’s pass-off sheet and enter the pass-off score in Blackboard. The pass-off score is 100 if the laboratory is completed on time. If the laboratory is completed late, it is the late score as dictated by the laboratory instructions in blackboard (i.e., 90 for one day late, 80 for two days late, etc.)

Grading Laboratory Reports

  • Review each laboratory write-up on Learningsuite before it is due. If there is a problem or question with an assignment, contact the instructor.
  • Grade the laboratory write-up in a timely manner (before the next laboratory assignment is due). Provide both comments to the responses where necessary and the score for each problem. A solution is provided in blackboard for most problems.
  • Manage the learningsuite gradebook for laboratory scores (see notes below for gradebook details). Each laboratory will have three entries in the laboratory grade book. The first, “Lab X: <lab title>”, is automatically generated when the instructor added the laboratory write-up to blackboard. The second, “Lab #X Passoff”, should be added with a points possible of 100. This is the column used when a student passes-off the lab. The third, “Lab #X: Late”, indicates the number of late days of the laboratory writeup. This does not include the late-days for laboratory pass-off
  • Create a summary of each laboratory after it has been graded. The summary for each laboratory should include the average number of hours the students took to complete the laboratory and a summary of all of the comments provided by the students on the laboratory. This summary is essential for improving the laboratory in future semesters. A summary from a previous semester should be available as an example.

Homework

Review the homework assignment each week so you are prepared to answer student questions.

If you are having difficulty helping a student with a homework problem, contact the homework TA and review the homework key. The homework key provides solutions to all homework problems. Do not make copies of the homework key.

Specific responsibilities for the homework TA include:

  • Review each homework assignment on Blackboard before it is due and check the homework key. If a new problem is assigned that is not in the key, create a solution to the problem and include it in the key. Review your solution with the instructor.
  • Pick up the homework at the assigned homework due time. Consult blackboard for the current semester’s due date/time. If there is a conflict with this time, arrange a different time with the instructor.
  • Grade the homework in a timely manner (before the next homework assignment is due) and return the homework to the instructor. Personally deliver the homework to the instructor or to the department secretaries – do not leave homework unattended in a public location such as the instructor’s homework box.
  • Manage the LearningSuite gradebook for homework scores. This will involve creating two new gradebook entries for each homework assignment (see notes below for more details on gradebook management). The gradebook should be sorted so all homework entries are ordered together.

Review the homework grading instructions on the Blackboard web page for homework assignments. This page describes how homework will be graded. Contact the instructor if you have any questions on the grading procedure, student response, etc. When grading homework, place the score of the homework on the front page of the homework assignment – do not place the score on the outside of the homework assignment where other students can see. This allows me to return the homework in class without violating FERPA laws.

Each homework assignment will have two grade book entries: one for the actual score and one for the number of late days. The first column should be labeled “Homework #X” and the number of points possible for this column should be the number of points of the homework assignment. The number of points per homework assignment is the number of problems X 3 (i.e., a 10 problem homework assignment is worth 30 points). The actual score of each homework assignment should be placed in this column for each student.

The second homework column should be labeled “HW X late” and should have 0 points possible. This column should indicate how many days the homework was submitted late (enter a 0 for homework submitted on time).

GitHub Repository

There is a fair amount of verilog code needed by the TAs and the students for this course. This code includes sample FPGA design files, testbench code, .tcl files, and constraint files. Rather than store these resources directly on the CAEDM group, a GitHub repository has been created to manage these files. The use of GitHub will allow us to update these files and carefully track the changes to these files. It is likely that these files will be changed frequently to improve the laboratory assignment. GitHub will allow us to use best practice source control methods as the laboratory assignments evolve.

If there are changes that need to be made to any of the files used by students in the laboratory, these changes should be first put into the GitHub Repository before distributing them to the students. Familiarize yourself with GitHub repositories using the CAEDM GitHub Getting Started Guide. Check out the repository for the course at the following location:

Details of the 220 GitHub repository

git clone ssh://wirthlin@ssh.et.byu.edu/~/groups/ecen220wiki/git

Wiki Upgrading

The dokuwiki code is frequently updated and it is important to keep the wiki using the latest code to help with wiki security. Wiki upgrades should be done in between semesters to avoid breaking the wiki in the middle of the semester.

The instructions for upgrading the wiki are described here.