Course Overview (pdf ps)


Department of Electrical and Computer Engineering The University of Texas at Austin
EE 379K, Fall, 2000  Yale Patt, Instructor  TAs: Kathy Buchheit, Laura Funderburg, Chandresh Jain, Onur Mutlu,  Danny Nold, Kameswar Subramaniam, Francis Tseng, Brian Ward  Introduction to EE 379K  August 30, 2000 Class meets: 5 to 6:30pm, MW in Welch 2.224. There will be twenty discussion sections, as shown on the  accompanying discussion sheet. You are registered for one of them, and in fact, your registration is tied to  the unique number of that section. However, if you find it more comfortable to change sections for any  reason, feel free to do so. Education works best when you and the instructor are on the same wavelength, so  you are encouraged to shop around for the TA who teaches best for your needs. If you do change sections,  the only thing we need you to do is let the two relevant TAs know, so you will not fall through the cracks  regrading.  Problem sets and exams will be  returned in discussion section,  so we will need to know which  section you are attending. Furthermore, if you miss your discussion section, and want to attend one of the  others, that is fine also. We will not take attendance.  You get to decide whether or not you come to class. However, this is not our  first year teaching, and our experience tells us that if you don't come to class, you probably don't pass  the course. You are strongly encouraged to form study groups, and share your insights as well as challenge each other's  mastery of the  material. Our experience also tells us that if you form an effective study group, you will  probably all do better in the course than if you go it alone. Life (and certainly life after graduation)  is about working in teams, and we encourage you to do so here. Achievement will be based to a large extent on your performance on the three exams. Copying others' homework  without it going through your head is a sure way to fall flat on your face on the exams. This is an engineering course. It will continually build on the knowledge you have already gained in the  course. It probably is not a good idea to let it slide and try to catch up at the last minute. Please do not  consider that a challenge. Statement of the objectives of the course:  This course is a serious introduction to the fundamental underpinnings of computing. It is a first course.  We assume you are enrolled because you want a serious introduction to computing. Our objective is to remove a good deal of the mystery of how computers work and to teach you enough programming  methodology to enable you to get the computer to do useful work for you. In that vein, we will start at the  bottom and work our way up. In every case, when we cover a sophisticated topic, we will try to tie it to what  you already know. We expect you to come out of this course not only knowing how to do some things, but also  having a deeper understanding of why some of those things are as they are. We should also tell you at the outset that this course represents a major departure from the way computing  has been introduced at most universities in the last 30 years. Most universities have been starting with an  introduction to programming. However, there is a lot of talk among computer education professionals lately  that the historical approach is not the best approach. We pioneered the approach of 379K for the first time   at the University  of Michigan in Fall of 1995. A number of schools  have started adopting it. That number  is continuing to grow. We in ECE at UT strongly agree with this approach. That is why EE 379K was born this  fall.  So, you are the first group to travel what in the faculty's judgment is the correct road to begin the  study of computers. Course materials:  Textbook: "From Bits and Gates to C and Beyond," by Yale Patt and Sanjay Patel.  Simulator: Available on both Windows and Unix platforms. Your TA will show you how to access it. Information  on the course web page. The programming assignments will require using the LC-2 (for  Little  Computer  2), a  machine  invented  specifically for this course. The reason for the "2" is that we did not get it right the first time. You will  write, debug and run each of the programs on the LC-2 Simulator. Finally, we will post material from time to time on the web that we think you will find useful. What we expect from you: We do not expect to read the book to you. You should consider the lectures, the   discussion sections, the book, and any material on the web as different mechanisms for helping you learn   the  same  material. We will  expect  you  to  write  six  programs  and  solve five problem  sets. On the  problem sets you are encouraged to work together in groups. The programming assignments you may work in  groups up to the point where you begin the actual construction of the program. That is, you can work together  on the high-level development of an algorithm. But once you start writing code, you are on your own. The  problem sets and the programming assignments are ways for you to check to see if you are getting the material. We encourage you to study in groups, and, where practical, to come to various  office hours in groups. That  usually will result in all of you understanding the material better. You are encouraged to ask questions after  you have thought about the material, and to challenge assumptions. Computer Engineering deals with "nature"   that is man-made (person-made, actually, but that is awkward) and so we the people may have made it wrong. Your own work: Although we encourage you to study together, the actual programs you write and examinations you  take must be your own work.  Providing information to another student during an examination (or where otherwise  prohibited), or obtaining information from another student during an examination (or where otherwise prohibited) is  considered cheating. Allowing another student to read something on your paper during an examination (or where  otherwise prohibited) is also considered cheating. If you cheat, you violate the soul of the University, which  we take very seriously, and will deal with in the harshest possible way. For those of you who decide to continue in this course, Good Luck. We hope you find the experience an effective  initiation to your computing education. We also hope you have a good time during it.