Syllabus

Course Goals

This course introduces students to the basic components and techniques that underpin digital circuits, starting from logic gates and building towards larger building blocks such as adders and finite state machines (FSMs). This course emphasizes simulation in SystemVerilog and implementation on field-programmable gate arrays (FPGAs). This is the introductory course for computer engineering; related courses of particular interest include:


Topic List

  • Combinational logic: logic gates, Boolean algebra
  • Logic simplification: Karnaugh maps
  • Sequential logic: flip-flops, registers
  • Timing considerations
  • Finite state machines (FSMs)
  • Routing elements and adders
  • Shift registers and counters
  • SystemVerilog

Course Components

The course consists of the following elements:

  • Lectures: There will be 10 lectures. In-person attendance is highly encouraged, but slide PDFs and recordings will be made available afterward.
  • Labs and Lab Demos: There are 6 one-week labs followed by a two-week final lab/project. These assignments will reinforce the practical aspects of digital design implementation and SystemVerilog coding skills.
    • We will distribute a lab kit that includes the .
    • The necessary software can be accessed in the lab space (CSE 003) or installed on your local machine.
  • Quizzes: There will 3 in-class quizzes throughout the quarter – see the for more information. There is no midterm or final exam. These will reinfornce the conceptual and theoretical aspects of digital design covered in the course.
  • Optional Readings: The optional text is the third edition of Brown and Vranesic's Fundamentals of Digital Logic with Verilog Design book ("B&V"), ISBN 9870073380544. The readings are listed on the course schedule.

Policies

Grading Policies

We will compute your course grade as follows:

  • Labs: 66%
  • Quiz 1: 10%
  • Quiz 2: 10%
  • Quiz 3: 14%

We will use a straight-scale grading system with linear interpolation. Extra credit opportunities will be factored directly into your grades (i.e., 1 extra credit point = 1 normal point).

  • 95% → 4.0, 87.5% → 3.5, 80% → 3.0, 72.5% → 2.5, 65% → 2.0

Lab Policies

Labs are a combination of a lab report and a lab demo, which are graded independently:

  • The lab reports are submitted to and are due Wednesday @ 2:30 pm, which is before you demo with a TA. This is to encourage you to do all of your testing and data collection as you develop your lab and will prepare you for the lab demo.
  • The lab demos are done synchronously with a TA, typically during your assigned 10-minute lab demo slot on Wednesday or Thursday afternoon.
    • Lab demos are a chance for you to present your work and get feedback as you get more comfortable with SystemVerilog and the DE1-SoC. The TAs will also have 1-2 short questions for you to answer about the lab.
    • It is possible to get a full demo score even if you do not finish the lab! Please come and present what work you did and where/how you got stuck so the TAs can give you feedback and tips for future labs.

Late Lab Report Policy

Lab report due dates are non-negotiable without an extension (see “Extenuating Circumstances” below). Late work is penalized by multiplying your grade by a “penalty.” The penalty starts at 1 on the due date and decays to 0 by the time we release solutions. After 1 day your grade will be about 90% of what it would have been on-time. After 1.5 days your grade will be approximately 80% of what it would have been. After that, it very quickly drops to 0.

The exact penalty is calculated with the formulas below. Times are measured at a minute granularity. $$ lateness = \frac{turnin\_time-due\_time}{2\ days} \\ \\ penalty = 1 - (lateness - 0.01)^8 - 0.02 * (lateness - 0.01) \\ \\ late\_grade = grade * clamp(penalty, 0, 1) $$ Shown graphically, the penalty multiplier looks like this:

This formula looks arbitrary (and it is!), because it was manipulated such that turning in work a few hours late is No Big Deal™, while turning it in close to when we release solutions is an Unfathomable Eldritch Terror®.

Plan ahead, you’ll be alright.

Late Lab Demo Policy

Under normal circumstances you should complete your in-person lab demo at your regularly assigned timeslot on Wednesday or Thursday afternoon.

If you can't make your regular time, create a private post on Ed to arrange a make-up demo time as close to your work submission as possible.

Rescheduling your demo carries no penalty, but it must be completed before the next lab demo. This policy is to prevent your work from piling up.


Student Conduct and Academic Integrity

The University of Washington Student Conduct Code (WAC 478-121) defines prohibited academic and behavioral conduct and describes how the University holds students accountable as they pursue their academic goals. Allegations of misconduct by students may be referred to the appropriate campus office for investigation and resolution. More information can be found online at .

We can learn a lot from working with each other and it can make the course more enjoyable, but we also want to ensure that every student can get the maximum benefit from the material this course has to offer. Keep in mind that the overall goal is for *YOU* to learn the material so you will be prepared for job interviews, projects, etc. in the future. Cheating consists of sharing code or solutions to assignments by either copying, retyping, looking at, or supplying a copy of a diagram or file. Examples include:

  • Coaching a friend to arrive at a solution by simply following your instructions (i.e., no thinking involved).
  • Copying code from a similar course at another university or using solutions/code on the web, including GitHub, Chegg, and AI generative tools like ChatGPT.
  • Communicating your solution with another student via electronic or non-electronic means.

Cheating is a very serious offense. If you are caught cheating, you can expect a failing grade on the assignment and the initiation of a cheating case in the University system. If you feel that you are having a problem with the material, or don't have time to finish an assignment, or have any number of other reasons to cheat, then talk with the instructor. Just don't cheat. If you are in doubt about what might constitute cheating, contact the instructor and describe the situation and we will be happy to clarify it for you.


Disability Resources

Your experience in this class is important to us. It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law. If you have already established accommodations with , please activate your accommodations via myDRS so we can discuss how they will be implemented in this course.

If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), contact DRS directly to set up an Access Plan. DRS facilitates the interactive process that establishes reasonable accommodations. Browse to to start the process as soon as possible to avoid delays.

You can refer to the university policies regarding for more information.


Religious Accommodations

Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW's policy, including more information about how to request an accommodation, is available at . Accommodations must be requested within the first two weeks of this course using the .


Extenuating Circumstances

Given extenuating circumstances, the instructor may grant a policy exception on a case-by-case basis. A policy exception is one of the following:

  • Waiving the late work penalty
  • Waiving the assignment score from your grade calculation (only if you cannot complete the assignment before solutions are released)
  • Rescheduling an exam date
In the vast majority of cases, extensions will not be granted.

The following is a non-exhaustive list of reasons that do not give cause for an exception:

  • Getting sick, unless you were literally hospitalized
    • There is no reasonable way to judge how sick is “sick enough” for an exception. We don’t want to put you in the position of begging for points, and we don’t want to put course staff in the position of having their hearts twisted trying to decide what to do. If you become unpredictably ill, turn in whatever partial work you’re able to complete and do your best on the remaining assignments. No partial grade is going to make or break your GPA.
    • The one exception is chronic illness, assuming that you talk with the instructor at the beginning of the quarter about it. See below for more.
  • Computer trouble or network outages
    • Computers break. Websites go down. Shared servers like Attu get slow when lots of people use them at once. These challenges are predictable enough. Submitting your work close to the due date means you accept the risk that one of these obstacles may cause your work to incur a late penalty.
    • If your computer or internet access regularly interferes with your ability to do assigned work, we want to help you. Please reach out to both your undergrad advisor and the instructor so we can discuss workarounds. Note that this is still not a cause for policy exceptions.
    • If a technical issue prevents the majority of your classmates from submitting their work by the due date, a class-wide exception may be considered by the course staff.
  • Career-related engagements like work schedules, conference travel, job interviews or startup meetings
    • For homework assignments, these things are predictable and you can plan ahead knowing how they might affect you.
    • For exams, we will hold them either during class or at a registrar-scheduled exam time. You are expected to be available during these times. If you cannot be, you should not take this class.
  • Earnestly having a tough quarter
    • I sympathize and would love to support you in other ways, but policy exceptions are not one of them.

Beyond this, the instructor will grant exceptions on a case-by-case basis given enough prior notice. Email the instructor to discuss your situation. Just requesting an exception does not grant it – the instructor must confirm, and so giving yourself as much lead time as possible is helpful here.

If notified within the first week of the quarter and with your undergrad advisor cc’ed on the email, the following are potentially valid reasons for exceptions:

  • Scheduled family-related engagements like birthdays, weddings or graduations
  • Religious observances and holidays
  • Chronic illness – that is, something about the way your body or mind works that interferes with your ability to turn work in on time

If notified more than 24 hours before the due date and with your undergrad advisor cc’ed on the email, the following are potentially valid reasons for exceptions:

  • Death or sudden need for support of a family member
  • Legal appointments or court dates (immigration issues, family law, etc)
  • Housing insecurity (facing eviction, issues with short-term housing, etc)

The instructor will not grant exceptions requested within 24 hours of the assignment due date or exam date, unless your situation is a life-altering crisis. If illness or other circumstances prevented you from notifying the instructor in advance, and this has sufficiently affected your grade, your best option is discussing the situation with your undergraduate advisor and having them reach out to the instructor.

Additionally, if at any point you are made to feel uncomfortable, disrespected, or excluded by a staff member or fellow student, please report the incident so that we may address the issue and maintain a supportive and inclusive learning environment. Should you feel uncomfortable bringing up an issue with a staff member directly, you may consider sending or contacting the .