Information | Review |
---|---|
William Hawkins
ENEE440 Expecting a B Anonymous 06/07/2024 |
I've deliberated on this rating for awhile. In most classes, my opinion would be more-or-less finalized after the class is over and I've received my grade. This class, even after receiving my grade, I knew that whatever thoughts I would have would be biased in one direction or another. I've come to conclusion that I don't think Hawkins' style works for this class, which seems to be a sentiment shared by other reviewers. If I understood correctly, Hawkins had two primary takeaways in mind for this course: get "real" programming experience by programming a microcontroller (an STM32L476RG in our case, which we had the option of purchasing from him for $20) in assembly without an OS or simulator helping you out, and learn how to read datasheets and manuals. I think those are good goals to set, and honestly after taking the course, I understand microcontrollers far more than I did before, and I know how to look for information in datasheets and manuals. However, I don't think the course was structured very well for those takeaways. In fact, the course was hardly structured at all, especially in the second half, which Hawkins kind of takes pride in. For a course where we're learning the fundamentals such as ENEE440, I don't think this approach is very good. Lectures were pretty much just the professor rambling about whatever topic he wanted to get to that day, and there was very little supplemental material. Homeworks had due dates, but they were essentially soft due dates, which made it a bit too easy to procrastinate on all of them. This class requires self-motivation to keep up, and I just didn't have that for most of the second half of the semester, as everything else was giving me a rough time. The course has a final project worth a majority of the grade, which we know about from the start of the semester, but don't get a rubric for until halfway through. Everyone seemed to struggle with this. I got the median (96/229), and the high was a 148/229. From the professor's word, it's supposed to be just the second half homeworks glued together with documentation, but even from people who I know did better than I did in the course, the high is still quite low for that to be the case. In my case, I didn't find the MoT system he uses very intuitive, since there's not any documentation on it describing how it works from a high level, it's written in assembly, and I find the assembly files almost over-commented. I really don't think there was enough time for this project, especially considering that the class drop deadline is so soon after the content of the course starts relating to the project. I thought the class spent far too long on ARM assembly, and not enough time on getting the microcontroller peripherals to work. Of course, the class needs to have some sort of introduction to ARM assembly, but I think taking up until the midterm, as well as writing a reverse polish notation calculator, is excessive. It's likely that in any given semester, most of the class consists of computer engineers. We had an aerospace engineer in the class (computer engineering minor), but regardless, everyone's probably been exposed to some assembly language. Particularly with computer engineers, one or both of CMSC216 and ENEE350 likely had a RISC assembly language such as MIPS. ARM isn't that much different to warrant the amount of time we spent on it. I think the class should spend far more time on microcontroller programming, rather than just ARM assembly. As it stands, something as seemingly simple as getting the on-board LED to blink is done far too late (not counting the blinky program given to us at the start, as we don't learn how that works until later). The class is very Windows-centric, which took me by surprise. The IDE you install, System Workbench for STM32 (essentially Eclipse specifically configured for developing STM32 applications), works nearly flawlessly on Windows, but I had some issues with it on Linux. Not only is the last version of it from 2019, but I don't recall getting program flashing working properly, and the debugger never worked. As for the debugger, it relies on an arm-none-eabi-gdb backend, but I think it required a certain version of Python which it couldn't find, and I couldn't be bothered to make it work. I'm pretty sure M1 Mac users had issues with this IDE as well. It doesn't help that I find Eclipse to be a bad IDE, and I found it difficult extending the template projects given to us. I just configured my own command line build system and moved files as necessary. Side note: I don't understand why the course doesn't even touch on linker scripts or the startup file. By reading on and recreating crude linker scripts and startup files, I learned about memory regions, the interrupt vector table, how the data section is copied from FLASH to SRAM, how the bss section is zeroed out in SRAM, and in general just how much an operating system makes your life easier. Back to Windows-centralism, we were also given two executables: h2m.exe and testterm.exe. The source code was also given for both, and h2m seems to be written to be cross-platform, but the point stands. Thankfully, both worked well for me in WINE, but I know someone who used a Mac was having problems with testterm in WINE. Overall, I think the content of this course is well worth knowing, as knowing how the microcontroller deals with peripherals on a memory-mapped I/O level, as well as knowing how to read datasheets and manuals, are fundamental embedded skills in my opinion. However, despite the fact that I don't think this course is useless by any means, I don't think that it should be the way you acquire those skills, and I can only recommend the course to people who either need the ENEE440 credits for whatever reason, or who already have at least some foundation in embedded systems. I certainly can't recommend it to people who are taking more than 12 credits or so and don't already have a foundation in embedded systems. From what I've heard, Hawkins seems to be better for his project courses and ENEE459V, but don't quote me on that. For ENEE440, it could have been worse for sure, but it could have been a lot better. |
William Hawkins
ENEE459V Expecting an A Anonymous 05/11/2024 |
Similar to the review for the ENEE459v class back in 5/12/2023, I think that professor is like that. He is highly unstructured in this class which has its ups and downs. Downs being the obvious: unpredictable, inconsistent difficulty, and possible lack of focus. But the ups are quite interesting: being able to learn how to learn, seeing ways to approach problems, and interacting with the material. Now granted, he doesn't lecture too well, but his personality on the subject and his overall enthusiasm for the material is evident and does want to help as reflected in his approach to the lecture. He provides locations on where to find examples (albeit more simple ones) and does try to come to class with those examples or ones that he has made in general. Once done with lectures, he would also provide the class with said examples in ELMs and possibly more material to look at for further understanding. If you have a question, he will gladly ponder it and provide an answer. Due to his unstructuredness, grading is a bit more lax for homework and generally the exams seem to be similar to what was done in homework but with a bit more at times. Not all (or really most, sorry professor) will like it, but you will be challenged and will learn how to learn while learning more about STM32 boards. I will say, hopefully, you will be given a good TA that will help you along. Overall, enjoyed the class, and I wish you good luck if you try. |
William Hawkins
ENEE440 Expecting an A Anonymous 03/26/2024 |
Amazed at the recent reviews from Professor Hawkins. I took his courses in the 1990s and he was literally THE professor that taught me the most about how to be successful as an engineer. The lessons I learned from following his homework assignments I have used over and over to deliver new systems in nearly every corner of the world over the past three decades. I hope his style has not changed and that the poor reviews here were based on misplaced expectations and not a change in his approach. |
William Hawkins
ENEE440 Expecting a B Anonymous 12/19/2023 |
This is the worst class that I have ever taken at UMD. Professor Hawkins makes up the homework as the semester goes along and does not have any real course structure other than giving weekly homework and a Final Project. Instead of learning about microprocessors, you will have 4 weeks of relatively easy assembly, that is a bit tedious but fair, before being thrown into a complex embedded system that he briefly explains and then hopes you figure out the rest yourself. I would say that on average, <10% of the class finished the homework assignments every week. Hawkins not only knew this, but expected it. There is an easy way to succeed in this class, anyone can get an A if they do this, spend 15-20 hours a week on the homework assignments. However, you can submit every homework assignment partially complete and get a 100% anyways. This sounds good, until you get to the 50% of your grade final project that combines all of the class homework, as well as things he literally never even mentions throughout the class into one project. It is truly unacceptable that a professor is able to run a class like this, and for this class to be listed as 3 credits when it is expected to put 12+ hours a week in. I am not unaware of the fact that 400 level classes require students to self-teach and self-discover, but the level of laziness in not even creating a single slide set or grading any of the homework assignments properly is abysmal and not in any way conducive to learning. This isn't even to mention the fact that the TAs do not know a single thing, and Professor Hawkins rarely answers his email. Do not take this class. |
William Hawkins
ENEE440 Expecting a B- Anonymous 12/11/2023 |
I wish I never took this class... It is so unstructured and he doesn't have a solid teaching plan about anything. He goes on a whim talking about weird intricacies about ARM and some things that may be useful for the homeworks. Working on these assignments is so frustrating because not even the TAs know what's going on and Hawkins rarely replies to emails - Office Hours is a joke. Avoid this class at all costs |
William Hawkins
ENEE440 Expecting an A Anonymous 12/11/2023 |
I have read all the reviews before taking the class, so I knew what to expect going in. I chose to take this class to get some project experience with a microcontroller board, and that's what I got. While everything the person below said is true. I actually quite enjoy the no-lecture lecture style. I think I would've maybe been able to get more out of his lecture style if I started assignments earlier and came to lecture with questions. I would also add that I have never read so much for a class, most of the assignments comes down to if you can understand the reference manual, reading and digesting it is one of the main things you have to overcome in this class. |
William Hawkins
ENEE440 Expecting an A Anonymous 11/01/2023 |
He is an extremely unstructured professor who frankly is quite lazy and makes very little effort to teach effectively. There are no powerpoints or lecture notes as he lecture style is just spew some information that I think you may need for the homework assignment (this information usually came too late). His assignments are difficult due to the lack of clear guidelines and his inability to teach or have any resemblance of structure. His assignments take a long time as its ARM Assembly and debugging is a pain when your professor doesn't actually teach. He is a professor that has made me strongly regret joining UMD's ECE department. |
William Hawkins
ENEE459V Expecting a B Anonymous 05/12/2023 |
The experience you have with Hawkins depends on the class you take with him. If it’s something like 140 or an early on class then I wouldn’t recommend. You need structure for those classes and he is highly unstructured. But if it’s something like embedded systems then Hawkins is good. Its very laid back so for senior year it’s great. It’s 80% homework and you get to learn how to use an ST embedded chip, so you learn a ton. Hawkins gives guidance but doesn’t necessarily teach, but there’s a lot of resources online for this type of thing, and it is just challenging enough to feel good about what you learned. If anything it’s mostly a class in learning how to be handed a piece of technology you don’t know, a manual, google, and figure it out. Hawkins does teach things in the class too, but it’s probably just quicker to look online. |
William Hawkins
ENEE408A Expecting an A Anonymous 12/27/2021 |
Professor Hawkins is not so good at teaching, but luckily in this class all you do is work on a project of your choice the whole semester. This is your chance to build whatever electronics/microcontroller project you've been wanting to build for years, and all you have to do for Hawkins is small weekly assignments (like progress updates) and a final report. Highly recommended. |
William Hawkins
ENEE440 Expecting an A Anonymous 12/27/2021 |
I took this course Spring 2021 This class has a lot of potential but Professor Hawkins does not take advantage of it. He doesn't give you the tools or help necessary to complete the projects and no one in the class gets very far on them. The best part of the class is that you learn ARM assembly, but you could learn so much more if the professor restructured how assignments work. |
William Hawkins
ENEE459A Expecting an A Anonymous 12/20/2021 |
Hawkins has a pretty bad rap among ECE students and maybe thats fair for other courses but he is well suited for ENEE459A. In 459A, you come up with an idea for a PCB and go through all the design and fabrication process's necessary to make your board a reality. Class meets once a week for 50 minutes and is very laid back. I actually learned something tangible in this class and had fun doing it. |
William Hawkins
ENEE445 Expecting a B Anonymous 03/09/2021 |
Hawkins is by far one of the least helpful professors at this university. His classes are extremely unorganized to the point where he doesn't even know how to do the work he assigns his students. I know that he is a smart guy with tons of industry experience, but that does not translate well at all into academia. The saving grace of this course is the TA who has been nothing but helpful so far. Hawksin's whole guise as a "helper" is absolutely true, and that is not a good thing. There have been multiple occasions in which he will assign a project for lab and then when asked for clarification, he will simply deflect saying that he hasn't implemented it yet so he doesn't know. His use of the ELMS/Canvas website is awful. No sylabus page, no indication about what he is going to talk about in the weekly lecture, every lab assignment is a separate submission in elms, which wouldn't be a problem if each lab didn't have subparts to be submitted separately. Overall, I would highly recommend you avoid this professor and this course unless you want to spend hours at a time just wondering why you decided to take this course. Hawkins is a nice guy, but that is not enough to carry over to teaching. |
William Hawkins
ENEE440 Anonymous 05/28/2020 |
Sigh... where to begin? Unfortunately this course does not enable you to learn about microprocessors. What this course gives you is a haphazard and shallow view into microprocessors by doing weekly assignments with several of the lsi peripherals (timer,interrupt, etc.) on the device. This may sound fine, but it didn't help that lectures did not talk about the lsi perhipherals in any sense really. I don't fundamentally understand what these peripherals are, in what applications are they used, and how they interact with other peripherals. The assignments themselves take a long, long time after the third assignment, and they are unclear. The weekly assignments are basically using 1 of these peripherals and doing something to it. All this requires is setting up a bunch of registers, and that's pretty much it. This takes hours and hours to do, because there are several datasheets that you need to dig in to find which registers to use if you don't know microprocessors, or how to interpret the peripherals. Tbh, the theme of the class was confusion. Assignments were confusing and the hawkins himself was confused at them, while the TA was unable to help as well (not his fault really). The final project was a mess, and it was extremely confusing to understand what was required, as expectations and guidelines were terrible. We had to constantly badger him repeatedly to figure out the point of the project, and even then there were several things that no one really understood what was going on. Lectures were of course pretty useless and provided no insight to what microprocessors are and do, and what the peripherals we used in the assignments are or do. Even though Hawkins may be a nice person and friendly, as a teacher he was ineffective and unable at presenting microprocessors, an extremely prevalent topic in Computer Engineering. If you are someone wanting to take this course in order to learn microprocessors, beware. There is no structure or clarity in the course, and I feel like I ended up not learning microprocessors fundamentally which really sucks, and trust me, I put in the effort, we all did. I wonder how his 150 students survive... |
William Hawkins
ENEE440 Expecting a B Anonymous 05/22/2020 |
Taught almost nothing, did a horrible job administrating. I wouldn't recommend to anyone. |
William Hawkins
ENEE150 Expecting an A+ Anonymous 09/18/2019 |
God I took his class last semester. I had my fair share of mental breakdowns, but I made it through. I honestly feel bad for anyone genuinely trying to learn C. His projects are insane for the time that's given. The exams are hard, the projects are hard, where do I get the break? The TAs. The TAs are your life saver and having a good one is essential. Most times TAs will tell you how to solve a problem and leave it to you to code it which makes it a lot easier. would rate 10/10 would cry again |
William Hawkins
ENEE150 Expecting a C Anonymous 04/26/2019 |
The guy's cool and all, and the topics we cover are pretty useful to learn, the only issue is that they're seemingly impossible. |
William Hawkins
ENEE150 Expecting an A+ jjjnmk 11/13/2015 |
The expectations that he has of you in this class are pretty high. Homework assignments and projects tend to be at different level than the material that you're going over in class (which is usually an 8am lecture by the way). When I took this class, I just felt that the projects would be near impossible with the material we learned in just lecture. There was an enormous amount of time spent each project just googling concepts and learning them on my own. Depending on your TA, you might get out of this class with a good grade regardless, as some TAs tend to sympathize with your situation. No one got above a D on the final for my class, but as you can see that got pretty heavily curved. I had a C-average in exams and a 80% at the end of semester in the class, and that was curved up to an A+. If you put in some work and maybe get a good TA, it is possible to get out of this class with an A, but if you want to actually learn C and have a good understanding of C-programming, I'd recommend Qu or Yeung. |
William Hawkins
ENEE245 Expecting an A Anonymous 12/08/2014 |
This is my First review for a teacher because I felt I had to warn other students about this professor. If you have the option do not take him.! His class WILL stress you out. Projects are almost impossible. All the other reviews are completely accurate in describing him. You will probably get an A because he gives out A's to anyone who tries but you will have a stressful time count on it |
William Hawkins
ENEE150 Expecting a ? grizzlyman 05/09/2013 |
The things that were expected of me and my classmates from this course were impossible. From the beginning, the homework assignments were exceedingly difficult and they only got worse. Nobody could figure out what we were supposed to learn and retain from this class. This was an intermediate programming class, which was supposed to be a continuation of the C-programming class we took last semester; our final homework assignments involved using Javascript and webservers at a level that Professor Hawkins openly acknowledged was above our level of understanding. Whenever we had something we needed help figuring out, his default response was to Google it. That is an incredibly unhelpful assertion when we didn't even fundamentally know where to look to have a hope of beginning his assignments. He seemed like a very nice guy and he was also pretty knowledgeable but he just expected way too much from this class of freshmen and sophomores. |
William Hawkins
ENEE150 Expecting a D Anonymous 11/16/2012 |
Bad teacher. Don't take him. |
William Hawkins
ENEE150 Anonymous 05/11/2012 |
Hawkins Hawkins knows the material very well, but not well suited to teach an Introduction programming class. If you have no programming experience, you will suffer in this class. Lectures were not very note-taking friendly. He doesn’t make effective use of the chalkboard space. He jokes about giving us stuff we haven’t seen before on exams and labs. Also, his syllabus is horribly written, so nobody had a clue when stuff was due. The Labs for 140 can be difficult but definitely appropriate to the topics. The problem here is that if you having trouble, it is difficult to find help. He doesn’t give any other material besides the suggest book. I highly finding some external reference if you are having stuck and taking advantage of TA limited office hours. Fortunately, we have Hawkins for 1 day of the week, which mitigated the suffering we went through. |
William Hawkins
ENEE150 Expecting an A Anonymous 05/18/2011 |
Dr. Hawkins is a really nice guy and a solid teacher. He tries to come up with interesting homework problems, but can get ahead of himself considering you have only a week to do most assignments. Tests are difficult, and the homeworks even more difficult. If you work during the week, or are in a lot of extracurriculars, I'd try to avoid this class just because it is so much work. If you do end up in this class, put the effort in and pay attention in lecture. He gives helpful hints that make the assignments a lot easier. Even if you can't get your programs working fully, get them partially working and hand them in anyway. This will get you ahead of the curve, because a lot of people don't get it working at all, or turn in something that crashes instantly. Go to discussion, because homework is 50% of your grade and you will have questions. By the end of the class, if you have done the homework, you WILL know how to program in C. Try really hard at the beginning of the semester to get your programs fully working, because it only gets harder and it's nice to have some safety margin in your grade. You'll get to a point in the class where most people just give up, so if you do the work, you should be fine. If programming is your weakness, you should probably take an easier teacher. Otherwise, like the other guy said, if you have the time to put into the homework, you'll be fine. |
William Hawkins
ENEE150 Expecting an A Anonymous 08/31/2010 |
If you have previous programming experience in C or Java, and are willing to devote the time necessary to all the homework you'll do fine. He oftentimes will ask ridiculous things on the homework after inadequately covering them in lecture, but if you can't do it chances are that nobody else can either. The last 2 or 3 assignments became arbitrary at the end since nobody could keep up. Getting a 76 on the first midterm when the average was around 50 secured me an A in the class. |
William Hawkins
ENEE150 Expecting an A Anonymous 05/26/2010 |
Absolutely an awful teacher. His homeworks are so hard that not even he can do them. His lectures are pointless. They have nothing to do with the basic idea of the homeworks. He don't prepare you for the midterm or final as well. I believe this is his first time teaching an intro course so he doesn't know how to teach it. Avoid him and if he is the only teacher available for ENEE 150, take it in another semester. The only thing you have to look forward to is a ridiculously high curve. The uncurved average in our class was a 44.6/100 |
William Hawkins
ENEE150 Expecting a C terpflo 04/13/2010 |
I cannot agree more with what the below person said about Hawkins. He's a nice guy, the TA's keep insisting he's reasonable when it comes to grades, but I am not buying it (maybe there will be a giant curve?) His homeworks are ridiculously hard, and he doesn't prepare you for them at all (good thing they make up 50% of your total grade!) The first week of homework I literally spent 20+ hours on my programs trying to get them to work, but to no avail. I got a B+ in ENEE140, too. His motto is that you should be able to find out how to do things on your own by using the internet. This class with Hawkins is flat out unreasonable - I get sick just thinking about it. DO NOT TAKE HIM!!!! |
William Hawkins
ENEE150 Anonymous 04/07/2010 |
By far the worst professor I've ever had. I understand that he has good reviews for the higher up courses because he definitely knows what he's talking about but he doesn't know how to introduce these concepts to new programmers. About a quarter of the people in my class dropped because of their low grades and the average for the first exam was 45%. Not only this but he also almost never returns emails and refuses to let up on homeworks a little or make them somewhat understandable even when everyone refuses to turn them in because no one has any idea how to start. He says in order to do the homeworks, we need to find the answers online but they don't exist online. Basically, programming experience or not, DO NOT TAKE THIS PROFESSOR |
William Hawkins
ENEE150 Expecting a C Anonymous 04/05/2010 |
DO NOT TAKE THIS PROFESSOR FOR ENEE150!!!!! His lectures are completely random and don't really have anything to do with the homework. He only gives homework, midterm & a final, all of which are nearly impossible. He comes into the lectures and expects the students to have a higher level of knowledge than is taught in ENEE140. Because the homeworks are impossible, it is very difficult to know what will be on the midterm or final. He basically expects you to be able to teach yourself all the material of the class from outside sources such as google, because the book that he recommends that you get doesn't have information on more than half of the material he talks about in class. Horrible professor for this class. DO NOT TAKE HIM!!!!!!!!!!!!!!!!!!!!!!!! |
William Hawkins
ENEE440 Anonymous 04/03/2010 |
Do not take this professor for any class he does not lecture at all . All he does is encourage you to research the contents of the class on google. If u wanna learn about microprocessor u basically have two options! go to other school or go to other school. Worst proffessor ever ! Obviously nobody wants to transfer at this point since most of the people takin his class are juniors or seniors so if ur interested in computer engineering take 446 , 408C 459k but avoid this guy u will get frustrated and end up hating your life |
William Hawkins
ENEE440 Expecting an A Anonymous 12/19/2009 |
I've had him for multiple classes. In each of the classes, Hawkins has come off more as a helper than a teacher (I think he'd take this as a compliment). During lectures, he'll only introduce you to ideas and assign homeworks on them. You're responsible for hunting down the documentation and software and then approach him with questions. But the annoying part is that he's hard to get ahold of. He's only available on Tuesdays and Thursdays for a few hours. He doesn't respond to emails at all. Even more annoying is that he doesn't return graded homeworks, so you pretty much have no idea how well you're doing in his class until you get your final grades. The setup of the class is basically 2 huge projects, a midterm, a final, and a homework due every two weeks (no deadlines on the homeworks, so you can procrastinate until the final week =) ). As I said earlier, you're not going to know your grades for any of the assignments. I suspect that he doesn't even bother grading him, and bases your grade purely on the projects. |