Reviews for ENEE446

Information Review
Manoj Franklin
ENEE446

Anonymous
06/01/2024
Definitely one of the classes of all time. Didn't learn anything from this class, but at least you pretty much can't fail. One of the reviews from 2023 covers the grading breakdown pretty well. I would like to add that the projects (assigned as HW) were pretty straightforward and didn't require any knowledge from the lectures. The lectures themselves were pretty boring, and the slides were a mess of information. We did have 1-2 practice exams from the last few semesters, which helped a bit for exam prep. Exams were not great, the high for exam 1 being ~80% and exam 2 being ~90%. If you take this class with him anyways, you'll get exactly what you signed up for.
Donald Yeung
ENEE446

Expecting an A
Anonymous
05/23/2024
Throughout the entire semester, I was debating what my final opinion on Dr. Yeung was going to be. After my grade came back, and after everything this semester, the answer has become clear. He is one of my favorite professors I've taken a class with. The one point against this class I'll give is in the assignments. Quite frankly, particularly with problem set 1, I didn't find the textbook problems to help with my learning all that much. The problems were really confusing sometimes, and the solutions didn't make much sense in certain instances. The textbook itself was pretty good (Computer Architecture: A Quantitative Approach), but the problems weren't. Also, while the two projects were good in the sense that they forced me to understand pipelining and caching, the first project was difficult to get started in due to a lack of guidance on how to use the code which was given to us, and the second project had some minor hiccups with the information given to us (or rather, lackthereof). With that said, since the class is curved, my issue isn't significant enough to bring down my rating. On that note, I don't think he'll do something quite this drastic in the future, but due to how poor the project 1 average was, Dr. Yeung made project 2 have 50% of extra credit (only the first 100% counted towards the curve). From the fact that the median on ELMS was 150, most of the class got the full extra credit on the project. I'd bet it's the only reason I got an A in the class, even though I can't know for sure since the cutoffs were made behind the scenes. Generally, this class is not designed to fail students. It's really appreciated, especially since I was seriously struggling in the first half of the course. The projects themselves, once I figured out the objective, were honestly very useful. Going into ENEE446, Dr. Yeung expected us to have come in with a pretty good picture of pipelining. Due to how the professors last semester taught, this wasn't the case, and I think this was realized very early on in the semester. For my case, I was in office hours for problem set 1 for quite awhile, especially for the pipelining problem, and I just couldn't get it. I didn't know the objective of the problem because it was badly written, but more importantly, I didn't grasp pipelining. It stayed this way until I forced myself to get something working on project 1, which had us implement a 4-stage pipeline for a 32-bit RISC-V simulator. I didn't finish the project because I started far too late for my own good, but after doing what I could do for it, I felt much more confident about describing pipelining and hazards. Something similar happened for project 2 and caching. I was vaguely familiar with caching from ENEE350 since we had it on an assignment and the final, but I certainly didn't understand what I was doing (I really didn't get much from that class). The project was implementing a trace simulator for single and multi-core caches, and it forced me to really understand what I was doing with caching, just like project 1 and pipelining. The single core portion solidified my understanding of what the cache was doing to begin with, and the multicore portion got me to understand the MESI protocol. Again, there were hiccups with both projects, especially project 1. But I feel that what I learned from doing them outweighs their problems, even though they should be addressed in the future. Honestly, I wish we had a mini-project on out-of-order execution, as we had no practice on it before our first exam. Speaking of the exams, they were pretty fair. They were open book and open note, but closed internet. We were allowed to use our devices for digital textbooks, our notes if they were digitally recorded, and a calculator. The exams were pretty straightforward with plenty of time to get them done, and they didn't have any trick questions or anything. The weights of each section of both exams felt appropriate, as major topics within the course were emphasized with larger weights, whereas smaller topics typically weren't weighted as heavily. It's night and day compared to my ENEE350 exams, where 40% of the midterm and 33.33% of the final consisted of a small number of poorly written multiple choice questions. I did screw up the midterm because of my lack of understanding of the reorder buffer, but the final went a lot smoother. Dr. Yeung is a fantastic communicator. In ENEE350, one of my main problems was that, while the professor knew what he was talking about, he wasn't great with communicating the concepts. The lectures were very neatly written, but they ultimately didn't communicate much, and the slides were far too long for their own good. By contrast, Dr. Yeung's lectures were both delivered extremely well, and were very informative. I wish I was someone who got more out of lectures, because these were simply fantastic. Also, if you can go to office hours, I highly recommend going. Under normal circumstances, they are held both in-person and online, so your only excuse is really a time conflict. His primary goal is to help you learn, and even when I would lose confidence and try and back out, and even when his voice wasn't doing so great due to a sickness (during a Zoom office hours session), he would not back down until I would have a satisfactory understanding of the problem or subject at hand. He carries the same expertise of communicating computer architecture concepts into office hours, and it's arguably even better there because he can pick up where a disconnect in understanding is and tailor his explanations accordingly. I cannot recommend going to office hours enough if you have any doubt about anything. Even if it's not about something related to class, he is very approachable, especially towards the beginning of the semester where less is going on. One final note about the class. Unfortunately, we only got a single lecture on GPUs, which is a shame because that lecture was really interesting (if a bit rushed). Dr. Yeung has stated that he wanted to do more with this topic, but too much time was spent in other topics this semester, so future iterations of the course will likely spend more time on GPUs. Overall, if you can take a class with Dr. Yeung, take it. I'll admit that I'm pretty bad at computer architecture, but I can't deny that I learned so much from being in this class. If you're taking him for ENEE646 in the fall, which he describes as the class I just took but slightly more due to it being a grad course, you will have a good time. If he's an option for ENEE446 in the spring, he has my highest recommendation. I heard he's great for ENEE150 in the spring as well. It may be harder than with other professors, but the class isn't designed to fail people, and what I've taken away from this course is invaluable.
Manoj Franklin
ENEE446

Expecting a C+
Anonymous
09/05/2023
If you told me this class didn't exist and that it was literally something I hallucinated, I would probably believe you. This class had a total of 5 grades: 3 projects distributed throughout the second half of the semester totaling about 25% of the final grade, and 2 exams, 1 right after spring break and 1 the week before finals, that were worth the other 75%. I attempted to go to a few lectures, but his demeanor and the way he presents makes it so boring that I'm about to fall asleep, and during the times where I put 100% of my energy into staying awake and paying attention, I had absolutely no idea what he was talking about. This was within the first 2 weeks of the course as well. I eventually gave up and stopped going to class, but this apparently was the case throughout the rest of the semester according to the class GroupMe. He had maybe 2 sample exams available for each exam that were at least 10 years old, and usually only one of those had an answer key. I also don't believe he ever explicitly said what would be on each exam, considering everyone constantly seemed confused and nobody seemed to know what to study or expect. The projects were pretty useless, considering one of them was setting up the program to use for the other 2 projects, and the other 2 projects didn't seem to be relevant to what was on the slides he posted. In this class, I learned nothing, did nothing, and the only thing I got out of it was a requirement for my major. If there is another option for a class or a professor, do that instead of whatever this was.
Yavuz Oruc
ENEE446

Anonymous
06/21/2022
He's very nice, although the course is a bit messy. He typed up notes for us as we went along, which is good, but also bad because all the homework problems came from the notes and these often had errors or were unclear which wasted a lot of time. Our final was quite difficult and covered concepts we hadn't practiced at all, but was also curved a lot. Also he had the class online even though I took it Spring 2022. Overall not a bad experience. He's a cool guy and eager to share more about the material if you're interested.
Donald Yeung
ENEE446

Expecting a B
Anonymous
05/24/2020
Tough course, but very good lectures and you will learn a lot. I also had him for ENEE150 and thought he was a good professor for that as well; certainly the best out of him, Hawkins and Qu.
Yavuz Oruc
ENEE446

Expecting an A
Anonymous
11/17/2019
Had him for ENEE350 as well, which he was a little better for. Oruc rambles a lot and doesn't explain anything clearly, which was ok in ENEE350 because it was a coding class and you could learn more by just running tests on the code, but ENEE446 is a theory class that actually requires a good lecturer. He's nice and it's not too hard a class, but you won't learn as much as you might with someone else.
Donald Yeung
ENEE446

Expecting a B
nailaoball
01/24/2019
Great professor who is extremely knowledgeable bout the subject matter. Lectures are extremely interesting as a CE major. It's a tough class but very rewarding. The projects in the class are extremely relevant and engaging but they do take a lot of time. Do yourself a favor and start early to get ahead of the curve.
Yavuz Oruc
ENEE446

Expecting a B+
Anonymous
05/21/2014
Oruc is an incredibly interesting guy. He is extremely knowledgeable, very personable, and rather considerate. I would recommend actually talking to him, even if you don't take a class with him. That being said, I thoroughly enjoyed ENEE350 with him and thoroughly disliked ENEE446. I thought 446 was uninteresting and rather difficult, as homeworks were long and REALLY tested your understanding of the material (as opposed to your ability to apply it) by asking you to design algorithms or methods. His notes seem to be incomplete, and there is hardly enough information to complete the homework. The first exam was difficult as the questions were unclear, and the final was a takehome, which took a very long time to complete. On top of that, I hardly feel like I learned anything from the class, and am extremely relieved that it is over. Oruc is a great guy and 350 is an interesting class that isn't very difficult IF YOU CAN PROGRAM WELL. However, I would recommend taking 446 with someone else.
Yavuz Oruc
ENEE446

Expecting a B+
Anonymous
12/25/2013
I felt like this class was a waste of my time. The textbook was just a series of PDF files and slides that he wrote himself, and the material we ended up covering for the semester was not what he said we'd cover in the syllabus. I was able to do decently well on the homeworks and tests, but I definitely did not learn anything from this class. On a positive note, Oruc is an extremely nice and friendly guy. He was also responsive to student concerns, and extended the homework deadline once when no one could finish. I just wish he had been a better teacher.
Yavuz Oruc
ENEE446

Expecting an A
Anonymous
12/23/2013
He's not the best professor, but teaches a reasonable amount. His wording is terrible: homeworks and test problems are often unclear. If you really need to learn ENEE446 well, I would probably recommend against Oruc. You can get an A in the end, but won't learn as much as you should.
Uzi Vishkin
ENEE446

Anonymous
06/14/2013
Lectures were dry and very text dense - think slides upon slides filled with 9 point font. There were about six chapters in the book, and each had its own 100-150 slide set provided by the publishers, which is exactly what was went over in class. Vishkin adds some notes here and there but it's more or less words words words. He skips very quickly over the book stuff in an attempt to get to his own research, which is fairly interesting, I suppose. He mentioned like 10-20 times over the semester he was researching so and so and we were encouraged to research under him. The book slides aren't fantastic for both this reason and the fact that they take, say, 10 pages to explain something that is in reality quite simple. The exercise are quite long, due about every three weeks, and they are annoying only because they range between very vague, open ended design questions to stupid common-sense questions. They were also not graded especially well by the TA. I had some of my solutions which were entirely incorrect get full credit and some solutions with a small typo get almost none. At a certain point in the semester I just started bullshitting the whole thing in an hour or two and getting the same scores as when I was spending 10 hours on each assignment. One test, one final, both straightforward. Some definitions, some simple calculations, and some open-ended thought questions. 75% of the class is more or less rehashed from the honors version of 350, so I pretty much got an A not studying at all and just remembering what I had already learned.
Uzi Vishkin
ENEE446

Expecting a B
jmistry3
05/23/2013
ENEE446 is a very insightful course, which in combination with Prof. Vishkin gets even more powerful. This course is not for the one's who just want to do exercise at the end of each chapter, but with this course students are expected to make equal effort as much as prof does on you. Prof. Vishkin has deep understanding and passion for the material required for this course and he delivers it at its best. The fact that he provides real life examples and current trends in computer industry makes his lecture very interesting. There's allot to absorb from the course and prof. Vishkin's lectures, so a constant effort interms of reading the material of textbook and attending the class lectures attentively is required. Final comment on this note is that my perspective towards pc have changed from what I had before taking this course and what it is after completion of this course, and am surely considering to make my career along this path.
Yavuz Oruc
ENEE446

Expecting an A-
unspokenkibbles
05/09/2013
Professor Oruc is one of the most agreeable and pleasant people you're likely to have the pleasure to meet. He's friendly, understanding, and takes interest in the well-being of his students. Also, if you have any interest in European history or culture, be sure to ask. As a professor, Oruc is what I like to call "aggressively competent." He really knows the material, and communicates it effectively and clearly, for the most part. He's also not prone to rambling or wandering off-topic like some other professors. Importantly, he doesn't take things too seriously, and has a sense of humor. That means that lectures can be downright enjoyable in addition to being fun. In summary: even though it wasn't the easiest, 446 was probably the most fun class I took this semester. If you've got a chance to take a class with Oruc, jump on it.