**EE 16B** | Designing Information Devices and Systems II

## Spring 2017

## Calendar

The schedule is tentative and still subject to change.

## Homework

- Homework #0 (due 25 January 2017) (solutions) (grading form)
- Homework #1 (due 1 February 2017) (solutions) (grading form)
- Homework #2 (due 8 February 2017) (solutions) (grading form)
- Homework #3 (due 10 February 2017) (solutions) (grading form)
- Homework #4 (due 22 February 2017) (solutions) (grading form)
- Homework #5 (due 1 March 2017) (solutions) (grading form)
- Homework #6 (due 8 March 2017) (ipynb) (solutions) (ipynb-solutions) (grading form)
- Homework #7 (due 15 March 2017) (solutions) (grading form)
- Homework #9 (due 5 April 2017) (ipynb) (solutions) (ipynb-solutions) (grading form)
- Homework #10 (due 12 April 2017) (solutions) (grading form)
- Homework #11 (due 19 April 2017) (solutions) (grading form)
- Homework #12 (due 26 April 2017) (ipynb) (solutions) (ipynb-solutions) (grading form)
- Homework #13 (due 1 May 2017) (ipynb) (solutions) (ipynb-solutions) (grading form)

## Course Staff

### Instructors

### GSIs

**Rachel Zhang**

Administrative TA

rachelzhang@

**Jessie Yang**

Administrative TA

jessiejxyang@

**Anastasia Shuler**

Lab TA

ashuler@

**Andrew Blatner**

Lab TA

ablatner@

**Ashley Lin**

Lab TA

ashleyjl@

**Beliz Gunel**

Discussion TA

bgunel@

**Brian Kilberg**

Content TA

bkilberg@

**Charles Zhang**

Lab TA

charles2299@

**Deborah Soung**

Discussion TA

dsoung@

**Edward Wang**

Lab TA

edwardw@

**Jane Liang**

Discussion TA

yiliang@

**Kevin Chen**

Discussion TA

kevinchen297@

**Nikhil Shinde**

Lab TA

nikhilushinde@

**Peter Schafhalter**

Lab TA

pschafhalter@

**Saavan Patel**

Discussion TA

saavan@

**Siddharth Iyer**

Content TA

sid8795@

**Tianrui Guo**

Discussion TA

tianrui@

**Vivek Athalye**

Lab TA

viveka@

**Please add berkeley.edu to the end of all emails**

## Resources

### Midterms

Midterm 1 (solutions)Midterm 2 (solutions)

### Lecture Videos

Note that you need to be logged into your @berkeley.edu account to view these videos.Lecture 0A

Lecture 0B

Lecture 1A

Lecture 1B

Lecture 2A

Lecture 2B

Lecture 3A

Lecture 3B

Lecture 4A

Lecture 4B

Lecture 5A

Lecture 5B

Lecture 6A

Lecture 6B

Lecture 7A

Lecture 7B

Lecture 8A

Lecture 8B

Lecture 9A

Lecture 9B

Lecture 11A

Lecture 11B

Lecture 12A

Lecture 12B

Lecture 13A

Lecture 13B

Lecture 14A

Lecture 14B

Lecture 15A

### Video Notes

Intro to transistors and digital logicRC transients

Second-order circuits

Differential equations

Linearization

Observers and observability

Feedback control

SVD

### Lab

Lab outline and overviewOscilloscope cheatsheet

Intro to circuits debugging

Controls primer

Project deliverables

Project grading

### Circuits

ChargeCurrent

Voltage

Kirchoff's laws

Parallel and series resistors

Voltage and current dividers

Thevenin/Norton equivalent circuits and source transformation

Bode plot practice problems

### Linear Algebra

Eigenvalues and eigenvectorsChange of basis and diagonalization

### DFT

Interactive guide to the DFTAnother textbook chapter (starts on page 144)

Fourier visualizations

### PCA, SVD

SVD flags example A tutorial on PCAA linear algebra review that concludes with SVD

An article about SVD and its applications

Image processing with the SVD

Visualization of the PCA

Visualization of k-means

### Sampling and Aliasing

JTAG transform compression### Frequency Response and Impedance

### Controls

Murray and AstromFranklin, Powell, and Workman

### Homework Party

Every week there will be a "homework party." This is completely optional. GSIs will be present in shifts as will some readers. Students are expected to help each other out, and if desired, form ad-hoc "pickup" homework groups in the style of a pickup basketball game.

### Homework Grading

The primary way that the homework will be graded is by yourselves. Homework is always due Wednesdays at 17:00. You need to turn in both your code in the form of an ipynb file and a .pdf file consisting of your written-up solutions that also includes a "printout" of your code.

After the HW deadline, official solutions will be posted online and then you will be expected to read them and enter your own scores and comments for every part of every problem in the homework on a simple coarse scale:

0 = didn't attempt or very very wrong,

2 = got started and made some progress, but went off in the wrong direction or with no clear direction,

5 = right direction and got half-way there,

8 = mostly right but a minor thing missing or wrong,

10 = 100% correct.

Note: all partial credit must be justified with a comment. If you are really confused about how to grade a particular problem, you are given a limited number of "I don't know" skips that you can use on every assignment. You always get at least two, and more if the HW has lots of parts. This is not supposed to be a stressful process and the skips are there to let you not obsess about how to grade any one part.

Your self-grades will be due Friday at 23:59 after the homework deadline
and if you don't properly enter any grades by the self-grading deadline, you
are giving yourself a zero on that assignment. Just doing the homework is not
enough, you have to do the homework, turn it in on time, read the solutions,
do the self-grades, and turn them in on time. Unless all of these steps are
done, **you get a zero for that assignment**. We will be dropping your
lowest-scored homework from your final grade calculation, so getting a single
zero on a HW is not the end of the world.

Just as we encourage you to use a study group for doing your homework, we strongly encourage you to have others help you in grading your assignments while you help grade theirs. This will also help you avoid self-favoritism.

The readers are going to be grading and sending you occasional comments. Because we have reader grades, we will catch any attempts at trying to inflate your own scores. This will be considered cheating and is definitely not worth the risk. Your own scores will be used in computing your final grade for the course, adjusted a bit by taking into account reader scores so that everyone is effectively fairly graded on the same scale. (E.g. If we notice that you statistically tend to shade 8s into 5s a bit much as compared to the readers looking at your homeworks, we will apply a correction to pull your scores up a bit.)

If you have any questions, please ask on Piazza.

Extra credit will be available for many creative activities including helping us debug issues with the class and coming up with constructive solutions. (For example: creating practice problems with solutions, providing patches to bugs in labs and homeworks, etc...) Talk with your GSI in person or post on Piazza if you want to get feedback from the entire class.

### Course Communication

The instructors and TA will post announcements, clarifications, hints, etc. on Piazza. Hence you must check the EE16B Piazza page frequently throughout the term. (You should already have access to the EE16B Spring 2017 forum. If you do not, please let us know.) If you have a question, your best option is to post a message there. The staff (instructors and TAs) will check the forum regularly, and if you use the forum, other students will be able to help you too. When using the forum, please avoid off-topic discussions, and please do not post answers to homework questions before the homework is due.

If your question is personal or not of interest to other students, you may mark your question as private on Piazza, so only the instructors will see it. If you wish to talk with one of us individually, you are welcome to come to our office hours. Please reserve email for the questions you can't get answered in office hours, in discussion sections, or through the forum.

It can be challenging for the instructors to gauge how smoothly the class is going. We always welcome any feedback on what we could be doing better. If you would like to send anonymous comments or criticisms, please feel free to use an anonymous remailer like this one to avoid revealing your identity.

### Collaboration

You are encouraged to work on homework problems in study groups of
two to four people; however, you must **always** write up
the solutions on your own. Similarly, you may use books or online
resources to help solve homework problems, but you must always credit
all such sources in your writeup and you must never copy material
verbatim. We believe that most students can distinguish between
helping other students and cheating. Explaining the meaning of a
question, discussing a way of approaching a solution, or
collaboratively exploring how to solve a problem within your group is
an interaction that we strongly encourage. But you should write your
homework solution strictly by yourself so that your hands and eyes can
help you internalize this material.You should
acknowledge everyone whom you have worked with or who has given you
any significant ideas about the homework. This is good scholarly
conduct.

### Don't Be Afraid to Ask for Help

Are you struggling? Please come talk to us We would much rather deal with misunderstanding early on, and we can help. Even if you are convinced that you are the only person in the class that doesn't understand the material, and that it is entirely your fault for having fallen behind, please overcome any feelings of guilt and ask for help as soon as you need it -- we can almost guarantee you're not the only person who feels this way. Don't hesitate to ask us for help -- we really do care that you learn!

### Advice

The following tips are offered based on our experience.

**Do the homeworks!** The homeworks are explicitly designed to help you to learn the material as you go along. Although the numerical weight of the homeworks is not huge, there is usually a strong correlation between homework scores and final grades in the class.

**Take part in discussion sections!** Discussion sections are not auxiliary lectures. They are an opportunity for interactive learning. The success of a discussion section depends largely on the willingness of students to participate actively in it. As with office hours, the better prepared you are for the discussion, the more you are likely to get out of it.

**Form study groups!** As stated above, you are encouraged to form small groups (two to four people) to work together on homeworks and on understanding the class material on a regular basis. In addition to being fun, this can save you a lot of time by generating ideas quickly and preventing you from getting hung up on some point or other. Of course, it is your responsibility to ensure that you contribute actively to the group; passive listening will likely not help you much. And recall the caveat above that you must write up your solutions on your own. You are strongly advised you to spend some time on your own thinking about each problem before you meet with your study partners; this way, you will be in a position to compare ideas with your partners, and it will get you in practice for the exams. Make sure you work through all problems yourself. Some groups try to split up the problems ("you do Problem 1, I'll do Problem 2, then we'll swap notes"); not only is this a punishable violation of our collaboration policies, it also ensures you will learn a lot less from this course.