Table of Contents

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:

Grading Laboratory Reports

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 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.