A bored NUS Electrical Engineering student!

Showing posts with label EE2028. Show all posts
Showing posts with label EE2028. Show all posts

Tuesday, 7 January 2020

14

Module Review: EE2028 Microcontroller Programming and Interfacing

Hell Module?! 
The first hell module EE students will encounter (surprise surprise, PC2020 is the other). Don't just take my words for it, go Google for past reviews on EE2028/EE2024 (old module code). Your base board from EE2026 will be upsized into something of monstrosity. Big, bulky and with many accessories. There are two graded assignments, both pair work. Start searching for project partners early because you don't want to be randomly paired with the leftovers for obvious reasons 🤔. For Assignment 1 (20%), you will start with assembly language, which will be taught in lectures and has a simple syntax. But the assignment isn't as simple due to complicated requirements, which was to implement a circular buffer for my cohort. My suggestion is to start early and ask around if you are stuck. There's no time to waste. For Assignment 2 (30%), you will use C language to interface with various peripherals on the main board to create a device based on the project requirements. My year was to detect movement and temperature changes in a simulated environment. In between assignments are labs, where the GAs will give hints so that you're a familiar with controlling the board. 

EDIT (2022): On NUSmods comments...
Saw some recent reviewers sharing that EE2028 isn't as bad as what others are saying, but just want to emphasize that they took the module during Covid where everything was open book, open computer. With things reverting back, I am not so sure it will be that simple again. A large bulk of (my) suffering was cramming for the closed book, no cheatsheet finals. Cheers and have fun! 

Lab Assignments
Project demonstrations and written reports are expected for both assignments. The most annoying part are the Q&A by the GAs during the demonstrations, where random questions are asked, sometimes with no relevance to the project. My guess is these are to ensure you're not blindly coding and know the fundamentals behind what you're doing. They also asked seemingly simple questions that many of us got stuck. Questions like where is the temperature sensor, or microphone etc located on the board . My experience with the demonstration wasn't positive. I got assessed by a GA who does not understand simple English and got into an argument with him. To mask his language deficiency, he started raising his voice which probably cost me some marks. Anyways, I wasn't the only student who has issues with him. Just pray you've a good assessor. I did slightly below average for both assignments and they won't tell you why, which was another annoying part. 

While the projects are time-consuming, you do not have midterms to contend with. I'm not sure if that's a good thing because I was lost throughout this module and it was a mad rush catching up for finals and not helping were other difficult core modules like EE2027 that took a lot of time as well. 

And when think you're done with the module after the crazy project and its demonstration, you suddenly remember you have the final paper, with all the wonderful theory you've been neglecting since week 1!!! :') 

Don't worry; I have no idea what I was coding as well :'(

Final Examination
This module is dense in content as there are many interfacing protocols to memorise. The instructors always claim no memory work is needed to do well. But they forgotten to mention they have been repetitively doing the same thing for many years, of course they have it committed to memory while we barely have 12 weeks to digest everything. Past year papers are provided, but no solutions are given. The biggest nonsense is the ban on cheatsheet. They are inconsistent with the reason on this. Sometimes they claim there's nothing to memorise. Other times will say all the required information will be provided. 

There are not many resources publicly available and sadly those who can memorise content will do significantly better. However, there's a Prof who goes through past year exams for his class. So make friends with students from his class to take advantage of that. 

During finals, I basically vomited everything I memorised. I think I did more writing than any other modules I have taken so far, which is sad given that this is an EE module. I was writing so much till the point that I have no idea what I was doing or whether the "story" I wrote had relation to the question!!!  I just threw everything I got hoping to score some marks. 

Conclusion
What I can say is this. Many of my friends struggled in the module, so please do not panic if you're in the same predicament. The most important tip to survive this hellish module is to be resourceful. Ask around for videos, tutorial answers and help if you're stuck. There's even a complication of exam solutions screenshoted from these videos, turned into a PDF which was very helpful for me. 

Right after finals ended, the EE cohort chat group was buzzing with students looking for lab partners for the next semester because they are certain they will fail. But one effect of everyone struggling is the bell curve. Despite doing so-so in lab assignments, having back-to-back exams for three straight days, and skipping some questions during the exam, I got a pretty decent grade, which I am satisfied with. 

My rating:

Difficulty: 5/5

Workload: 5/5
Teaching staff: 3/5
Overall: 2/5

Graded components:

Assignment 1: 20%

Assignment 2: 30%
Finals: 50%



Expected grade: B+ 
Final grade: Higher than B+