Studying for the PhD Qualifying Exam Electrical and Computer Engineering Department Professor Adam Hoover Chair of Computer Architecture Exam Area Fall, 2013 Outline Purpose of the exam Grading scale and expected competency Sample questions How to study Q&A Computer Architecture area will be used for examples, but principles apply to all areas Purpose of exam From the ECE graduate student handbook: “Part of the outcome of earning a Ph.D. degree is acquisition of sufficient depth and breadth in the core areas of the major to enable the graduate to teach courses in these areas. Each student in the Ph.D. program must demonstrate mastery of the material at this level by passing the written Ph.D. Qualifying Examination, which tests the student’s preparation in undergraduate ECE material.” Do you know it well enough to teach it? The teaching job A professor is told what courses he/she will teach by the department chair (true at all levels of education) Prep time is 3 months to 3 weeks before semester starts; you wil likely be given a book or old syllabus (that’s it!) Prepares lecture notes (personalized); teachers who rely on slides from textbook publishers generally do not teach as well Qualifying exam is an opportunity to practice this! Expected competency “How can I memorize all this material?” You can’t. Teachers rely on textbooks, lecture notes, and other materials. This is why half the exam is open book. “Do you know it well enough to teach it?” means can you give competent answers given the difficulty of the question and the available resources. In general, open book: specific question, work the problem closed book: theory question, do you understand the problem? Grading scale 10: 8: 6: 4: 2: 0: Exceptional competence Reasonable competence Minimum competence Some knowledge, but not enough to declare competence Rudimentary knowledge No knowledge 8 or above, you are ready to teach the topic Sample problems Question (open book): Convert the following expression to product-of-sums form. AB’ + A’CD + BC’D List all the consensus terms for the following expression. Simplify the expression to its minimum number of terms. A’C’D + A’BD + BCD + ABC + ACD’ What I’m really asking You should have a solid understanding of “product-of-sums form” and should be able to show me an example. You may only vaguely remember “consensus terms”. Given your books, you should be able to quickly find these topics to help refresh your memory and work the problem. Sample problems Question (closed book): Describe all the steps involved in the initiation and handling of an interrupt. Be as precise as possible with respect to which architectural parts are involved. Assume that the interrupt system can handle multiple devices of varying priority. What I’m really asking You should have familiarity with the pieces of an interrupt: request, acknowledge, handler, and priorities. You should understand what data goes back and forth over the bus, and how the stack is used during handling. Given that you don’t have your books, you are not expected to answer with every possible detail. But you need to be able to give a good overview of the topic. Sample problems Question (closed book): <- ?!??? What? A flip-flop can be constructed from two NAND gates connected as follows: What restriction must be placed on S* and R* so that P will always equal Q’ (under steady state conditions)? Construct a next state table for the flip-flop. What I’m really asking Closed book problems may ask specific questions instead of theory questions. That could mean this problem is core, you need to be able to teach this without books. That could mean I’m using an example problem to see how well you understand the theory. What to study We give you three different lists: (a) Courses at Clemson covering exam material: ECE 201, ECE 272, ECE 327, ECE 371 (in case you took the course) (b) Textbooks: Mano, Digital Design Tanenbaum, Structured Computer Organization Nelson et. al., Digital Logic Circuit Analysis and Design Yalimanchili, Introduction to VHDL (get these books!) What to study Topics of coverage: Boolean algebra Combinational logic Synchronous sequential logic Asynchronous sequential logic Computer organization Microprogramming Machine language Assembly language Addressing and addressing modes I/O Hardware definition languages (HDLs) Simulation of digital systems (in case you have other books) How to study Outline the relevant chapters in the textbooks. Make up lecture notes as though you were teaching the topics. Typically lecture notes include sample problems and solutions. This takes a lot of time! Solve all of the problems at the end of every chapter. Do this at the very minimum. How to study Spread it out over time. Do a chapter every other day. This mimics teaching a new course, when you will prepare notes in sessions, typically trying to “stay ahead” of the class meetings. Studying together is okay but it is NOT like when you were a student. Now you are the teacher and generally must rely on yourself. It is a different kind of studying. Except to spend 20 hours/week or more studying, every week. Q&A ?