by Brian Evans
with comments from Jack Lipovski, Yale Patt, Chuck Roth, and Jonathan Valvano
One proposal for the 2002-2004 electrical engineering curriculum is to
From the 1998-2000 undergraduate catalog, EE316 covers "Boolean algebra; analysis and synthesis of combinational and sequential switching networks; applications to computer design." EE316 is implemented as a self-paced course which has a laboratory component. In the laboratory, students validate their designs. Students use a logic simulator and design automation software.
A key topic in EE316 is the coverage of finite state machines (FSMs). FSMs are good models for communication protocols, controllers, and parsers, and are widely implemented in hardware and software, e.g. in modems and compilers. The more general concept of system state is the fundamental concept behind design languages, programming languages, and realizable implementations. In EE316, FSMs are presented in the context of their implementation in digital synchronous circuits.
In Section A.1, Chuck Roth elaborates on why he believes that EE316 a fundamental EE course and argues that it should remain as a required course. In Section A.2, Jack Lipovski points out that the students who have taken EE316 seem to do better (on average) in EE319K than students who do not. In Section A.3, Jonathan Valvano describes the pre-requisite material that he needs to student to know before entering EE319K and that is currently taught in EE316. In Section A.4, Yale Patt responds to Chuck Roth's observation that if EE316 were made elective, then the following topics would not be covered in the proposed required EE courses:
Although the proposed curriculum is for EE, not for CE, the two curricula need to be coordinated. I would hope that at least the first year of the two curricula would be the same.
After examining the proposed book for EE 306, Introduction to Computing, it appears that much of the material in EE 306 (including introductory computer organization and assembly language programming) is currently being taught in EE 319K. This means that if EE 319K is retained in the curriculum, its content will need to be changed. It is important to define the new content of EE 319K before the new curriculum is adopted. (If the content of 319K undergoes significant change then a new course number should be assigned.)
It appears that EE 316 is being dropped from the curriculum in part because of overlap with EE 306 and EE 302. The proposed book for EE 306 contains about 34 pages of material that overlaps EE 316. In the digital age, I think more rather than less emphasis should be placed on digital logic. I note that the full math course on differential equations is being retained, but the amount of Boolean algebra is being reduced in the proposed curriculum. Just as EE 411 deals with the basic circuit elements used in analog circuits, EE 316 works with the basic building blocks used in digital systems. I have heard it argued that most engineers don't use the material in EE 316. In the same vein, how many engineers write loop and node equations and solve the differential equations? Don't they use SPICE or something like it?
There is a table in section 7 of the EE Curriculum Reform discussion summary that implies that EE 316 is being poorly taught because the instructor rating is low in comparison with other basic sequence courses. When interpreting these numbers, keep in mind that EE 316 is a self-paced course that is team taught by faculty and teaching assistants without traditional lectures. There are over 500 students in the course, and half of the students are Computer Science majors. Many students have very little contact with the faculty in charge. Thus the "instructor rating" in EE 316 is not very meaningful since it reflects a composite impression of the different course staff members and not any one individual. Many CS students consider EE 316 to be a course outside their major that they would rather not take and therefore give it a low rating.
The table in section 7 has the vague statement "redundant with itself" in reference to EE 316. I'm not sure what that means, but perhaps it refers to the pedagogical technique used in the course where material introduced in one part of the course is used over again in several different contexts. The reason for this strategy is that mastery of each study unit is required, so that the "once over lightly" approach is not sufficient. The table also indicates that EE 316 has a 70s syllabus when in fact the course has been updated several time since that time. The course syllabus is now due for another update.
Although EE 316 may need to be revised in light of other changes in the curriculum, I question its removal from the list of basic courses. Both EE 360M and EE 360R depend on EE 316 as a prerequisite.
Logic minimization -- If you are not going the serious computer design or VLSI design route, I don't see any need to know logic minimization.
Synchronous circuits -- Do you mean clocked sequential machines, or something else here? Is that necessary for everyone? I don't see it, although I would like to hear the case. It is certainly necessary for students who will go the "architecture" route or other specializations. But for o/s people, compiler people, software engineering people, I wonder. For E&M people, and that side of the house, I also wonder.
This course is an introduction to mathematical modeling techniques used in the design of electronic systems. Signals are defined as functions on a set. Examples include continuous time signals (audio, radio, voltages), discrete time signals (digital audio, synchronous circuits), images (discrete and continuous), discrete event signals, and sequences. Systems are defined as mappings on signals. The notion of state is introduced in a general way, and feedback systems and automata illustrate alternative approaches to modeling state in systems. Automata theory is introduced, using Mealy machines with input and output. Simple, synchronous concurrent composition of automata is introduced. Notions of equivalence of automata are also introduced. Difference and differential equations are introduced as models for linear, time-invariant state machines. Frequency domain models for signals and frequency response for systems are introduced, and sampling of continuous signals is discussed. Applications that are discussed include communications systems, audio, video, and image processing systems, and control systems. A Matlab-based laboratory is an integral part of the course.
The material is a combination of the material taught in EE313 and EE316 in the 1998-2000 curriculum. The pre-requisite is equivalent to M408C at UT. The course overview suggests that students will also need background in programming (EE312) as well as series and sequences (M408D). In the proposed UT BSEE curriculum, this UC Berkeley course could be taught to advanced first-year students or typical second-year students.
Last updated 02/20/00. Mail comments about this page to bevans@ece.utexas.edu.