EE541, Autumn 2015

Prof. Scott Hauck

EE-307Q, Office Hours by appointment (email me w/schedule)


Lecture Notes

You are strongly encourage to print these lecture notes and bring them to class. They are the slides that will be used in class, and will be useful as starting points for you as you take notes during class.


Another good source for learning some aspects of the CAD algorithms is the CADAPPLETS system of Java code visualizations.

Slide Scans

Scans of the slides from class can be found here. Note that since this requires the TA to hand-scan things, there will generally be a few day delay in getting them onto the website.

Programming Assignments

You will need a copy of the Aphyds skeleton as your base for programming. It is in zip format.

You may also find it useful as a comparison target to have the working Aphyds system. You can run it on Windows via the included run.bat.

You can learn Java basics from the the Sun Java site. You'll also find a good reference in the Help files for the Java API. All of this is discussed in the Assignment 1 writeup.

The programming assignments, due dates, and average completion times are:
Assignment 1 Oct 16, 8 hours
Assignment 2 Oct 30, 17 hours
Assignment 3 Nov 13, 9 hours
Assignment 4 Nov 20, 9 hours
Assignment 5 Dec 4, 16 hours
Assignment 6 Dec 11, 7 hours

All are due at 5pm on the specified date. To turn the assignment in, you should make sure your name is on the top of the file you edited, and that it prints your name when the code runs. Email this file as an attachment. Also, put in the email an estimate of the number of hours it took you to complete the assignment - we don't use this number for grading, but for statistical purposes in helping improve Aphyds itself.

The completion times are the average times from prevous years - some students will take significantly longer to finish some assignments, and some problems will be harder for specific students. However, notice for example that Assignments 2 and 5 take about twice as long as most others.

Note: I am deliberately moving the due dates as late in the quarter as possible, to allow you to plan your time accordingly. There is 1-2 weeks of slack in the schedule that you can use where you need or want to. So, if you have a hell week in research or classes, you can delay some assignments. However, if you wait until the week an assignment is due to start it you will not get things done on time. Some are harder than others, particularly the ones noted. Start early, pace yourself, and things will work out great. Start as soon as the material has been covered in class.

Note that you can turn things in as soon as you have them working, you do not have to wait until the official due date.


All homeworks are due by the end of class on the date specified.
HW #1, due October 15, end of class.
HW #2, due November 3, end of class.
HW #3, due November 17, end of class.
HW #4, due November 24, end of class.
HW #5, due December 1, end of class.
HW #6, due December 14, noon.

Solution Sets

HW #1
HW #2
HW #3
HW #4
HW #5
HW #6


The exam will be Tuesday, December 15, 4:30-6:20 pm.

There will be no class Thursday, November 26th (Thanksgiving).

There was a request for more NP practice.
Example problems are here
Solutions are here

The catalyst gradebook is here.