EE541, Autumn 2017

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 me 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 13, 8 hours
Assignment 2 Oct 27, 17 hours
Assignment 3 Nov 10, 9 hours
Assignment 4 Nov 17, 9 hours
Assignment 5 Nov 24, 16 hours
Assignment 6 Dec 1, 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 12, end of class.
HW #2, due November 2, end of class.
HW #3, due November 14, end of class.
HW #4, due November 28, end of class.
HW #5, due December 5, 4:30pm. *** NO LATE HOMEWORKS ACCEPTED. ***
HW #6, due December 10, 11:59pm. *** NO LATE HOMEWORKS ACCEPTED. ***

Solution Sets

HW #5


The exam will be in class on Thursday, December 7, 4:30-6:20 pm.

There will be no class Thursday, November 23rd (Thanksgiving).

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

The catalyst gradebook is here.