Skip to main content

BCG - Multidisplinary Project (MDP)

It's that time of the year, again??

Under normal circumstances, this would be my "Year 3 Sem 2" post. Which isn't very feasible due to corona-chan. I hope everyone is doing fine and staying healthy (physically and emotionally) during the "circuit breaker". If any future juniors years later find this, yes we were tiding through COVID-19 when this semester happened. As a result, I... can't even properly evaluate any modules for this semester. For so many reasons let me just list a few:
- Lectures are not even lectures. I mean I never go down for lectures for starters, but there is zero form of substitution of live lectures (such as livestream. None of that.). Just took from AY 18/19 lectures.
- Assessments? Just a mess. Actually I think it's a good place to address my school's measures but a quick TL;DR in this aspect: No gathering for finals -> cramped "week 13 quizzes" -> quizzes cancelled and no assessments due to government intervention. 
- Option to SU. Again I will address that in detail. But what you need to quickly know from my part is I chose to SU everything but MDP.

With those being said, the infamous MDP is the only module that I felt like I have properly went through. Yes there were changes, but the experience is still mostly intact. Now allow me to express my thoughts with absolutely no structure~

CZ3004 - Multidisciplinary Project (MDP) (CS Core)

Picture of my group's robot (for thumbnail purposes)

Course coordinator: Dr Smitha, Mr Tan Kheng Leong
Assessment: (Note - altered due to COVID-19)











To sum up YOUR overall experience: Yes groupmates will make or break your experience. Or in the words of my senior: "Pris you take 19 AUs (less than my normal intake) right? If your group is good, 19 AUs will be quite free. If your group is bad, 19 AUs will feel like overloading." So yes I am on the side where I'm blessed with very competent teammates 😊 Competent + harmonious so yes generally the mood is aju nice

To say that it's fun but you learn nothing... that's not quite right. I agree 70% with the "learn nothing" part - since most, if not all of the groups, adopt someone else's code and just run bobi it works try to internalise and understand. 30% because our group has a Google intern teammate and he really likes to show us a lot of neat tricks every now and then 👍 Fun is also not quite the word, but there is a sense of achievement when little by little, the different component starts to work. And even better, the whole robot perform as expected in leaderboard~

Ugh let me try to structure a bit... (but I will sprinkle advice and stories every now and then)

Disciplines (more on RPi - since I was doing that)
Basically there are 4 parts in this project, with this cliche analogy:
1. Android - the outer appearance
2. Arduino - the body
3. Algorithms - the brain
4. Raspberry Pi (RPi) - the heart + eyes (HEART*IZ - now stream IZ*ONE thank you~)

I was working on the RPi, which has 2 parts. I was working on communications (connecting to Android, Arduino and PC(Algo) together), definitely manageable. Code written in Python, then SSH the changes into RPi. My teammate was working on image recognition, not my forte but she knows her stuff there. A bit of hiccup in the setup so RPi was a bit slower than the others but honestly RPi can afford to be slower since it can only show its results after integrating the aforementioned 3 components. Finishing communication by week 7/start of recess week is a reasonable timeline I feel. As for IR, I can't speak for my teammate but here's my general observation: training the model is not the tricky part (maybe it will be when the school introduces trickier images - which they do every AY - for subsequent years but hey). The tricky part is... anything else but that. From how you place the camera (algo team will thank you for that), to getting the camera to run + RPi/PC to recognise without significant bottleneck. Oh yes and deciding where to run your image recognition. RPi is not suitable for too much computation (it will actually burn up when overused), but sending over to PC to recognise is also a bottleneck. Each has their own pros and cons~ Our group went with RPi since we have a .pkl file with a good pre-trained model which made our life easier~

Advice 1: The stereotype of "Com Engineering students do Arduino (hardware)" can go. Not true. Ok my team Arduino was done by CE students. But I've seen friends where CS students took over Arduino or CE students did other parts instead. CE students just happen to know a thing or two about hardware but if the CS student has more suitable skillsets, they can do a fine job too. (There's also the point about incompetent CE students driving my CS friends to take up Arduino but that's a different can of worms.)

Story 1: I call this "It takes 8 brains 2 days to delete 2 lines". We faced this stupid problem for 2 days. RPi will start the camera, and everything else then. Works fine the first time round. But the moment we stop and restart the RPi program... wait for it... Android cannot connect via Bluetooth. If this problem can be Googled, we won't need 2 days. Anyway we tried everything from changing OS version back to Raspbian Jessie (previously was Buster - the newer but not stable version), switching RPi hardware, even GRPC (ask my Google teammate). Anyway the real solution is to remove... 2 lines:
camera.brightness = 55 # Not exactly the problem but redundant
camera.led = True # Yes this! Something about LED locking GPIO
Wasted our effort for 2 days but who doesn't face such funny little dumb development bugs every now and then?

Checklist
This is basically the gist of your 1st half of MDP. The deadline is usually end of week 8, but I would advise to finish by end of recess week (so that you can start week 8 just focusing on leaderboard). Since yknow MDP doesn't teach you anything, you just fallback to this checklist to know what you're supposed to do. Don't have much to say for other parts (my groupmates cleared them quite promptly), for RPi - well literally only 2 things. Communicate with the 3 other components simultaneously, and perform image recognition.
One tip I can give for checklist though - try to find the TA or lenient profs as much as possible. My lab profs are actually super MIA, so thank god because they don't have the best rep according to my seniors. But yep for the most part, our group let the TA clear our components, and the last few was cleared by Dr Smitha 😊

Leaderboard
The real meat for MDP. Clearing checklist only guarantees a marginally functioning robot, but much more work is done to get yourself in a good place for leaderboard. If I have to say it, Arduino and Algo will be the ones on overdrive here. (Android and RPi as components are pretty much done - but we as members still stayed back and help.) Quite a funny experience though, we find ourselves trying to 画蛇添足 so many times, somehow our robot is worse off after trying to improve it 😭 Honestly if it's people like me, I would (and perhaps did) clamour to revert back to a much more stable version - especially at earlier stages when we haven't secured a good leaderboard position yet. But I admire my teammates who actually push forth to fixing those improvements - so we eventually did get improved and stable performance 👍

Yknow everyone says this about leaderboard: Murphy's Law - Anything that can go wrong, will go wrong. Yea don't be surprised, it really happens! I've heard a bunch of whack ass stories. But no point fretting over external circumstances that you can't control at the moment. Just do everything else that you can.
Advice 2: You know how SCSE student lounge has 2 maze boards? And how you might see seniors (maybe our batch not so crowded cuz COVID-19) crowding there, especially on D-1? Would advise against that, unless necessary. Cuz different lighting, calibration, blocks also different size. When my team needed to use student lounge (mostly our only purpose is to see one successful run in D-1 and we haven't seen it before our lab closes), we just avoid initial calibration as a whole, and just run it with our lab calibration.

A bit about my lab: Mine is at HWLAB3 - so the ONLY pro? It's a well-lit lab. Nothing nicer to say. Our maze is on a trolley, with a slightly tilted floor. There is a pothole in the middle of the maze. (I would keep saying that if your robot is good enough, it should work around these flaws - but hard to overlook if only our lab faltered at around the same place.) Our lab profs... yea they do have a reputation so 😶 There really are too much RNG elements in MDP but well gotta make do~
Few advices before I drop my story proper:
- Do keep your battery at your desired level. I would've said charge fully but sometimes overcharging hurts too. Or you can overcharge to the brim and use the robot a bit, for the battery to drop to the desired voltage. 
- Please, PLEASE! Clarify instructions with your lab prof beforehand. The official instructions are clear cut but not to some profs. If they interpret differently and your team get DQ-ed for that then ggwp.

Alright so now is storytime! Unfortunately I didn't keep any pictures/video during the run to put here, so pardon by just try to visualise by my words~
Week 8
Oof! Really not a good week at all. Felt like they immediately started with the hardest maze (exploration-wise). The groups in our lab did... well not good. Even our group lucked out when our robot miraculously broke out of an infinite loop! Timing was 4 mins + (cuz we spent 2 mins at the infinite loop). Got 289 (1 wrong grid).
Fastest path was... well KABOOM CITY! Add the penalties from exploration, we were almost at 2 mins (1 more bang and we would've DQ-ed).
If we had done IR, we should have gotten 4 images + coordinates but never mind that. Anyway at that time, getting into leaderboard (even with not ideal results) was a small win. But yes we can do better!

Week 9
(Our exploration and IR results were from this week)
A much more lenient maze for exploration. If our FP was ok, we could've just panggang right there and then. We got all 300 grids in 2:21, which is our expected performance from our robot. Got 3 images + coordinates for IR (also what we expected, our camera and algo were not meant to see the remaining 2 so we let it slide~)
Our fastest path though, my my I do have a lovely story! When my teammate press "Start", our robot did not move. FIRST TIME HAPPENING! We were all ?!? and panicking. Wanna know why? The PC went to sleep 😴 So we woke up the PC and the robot properly moved. But it was a DQ since we touched the PC. So yes a very dumb Murphy's Law lesson but please ensure your PC never goes to sleep 😭

Week 10
(Fastest path timing was from this week)
We only have one mission for our last leaderboard: Get a good FP timing. But to do so, we till need to do exploration properly. So we decided to slow down our robot during exploration, for very good measure. Which we did get the 300 points with slower timing so didn't count.
And then, fastest path. 8 pairs of eyes, intensely gazing and pinning their hopes on a robot boi... ok I'm not good at narrative basically yes we made it in 14 seconds! Can't beat those top tier 10 second groups but still a nice timing.
Also we knew we can only get 2 images for IR so we didn't care about that.

Unfortunately, we don't have week 11 leaderboard - the profs preemptively cancelled the last run (which turned out to be a good move because that's when PM Lee announced right on week 11 that we will be starting circuit breaker). But anyways lucky us we still made it to all 3 leaderboards~

Final leaderboard positions (amongst 19 teams)
A) Exploration: 300 (all 300 grids correctly), 2:21 [5th]
B) Fastest Path: 0:14 [4th]
C) Image Recognition: 45 (3 images + coordinates) [4th]
There are other groups with more impressive results but our position is still pretty consistent so 👍

Time to celebrate 🎇🎊

Ok not yet, lads. Just a few more deliverables to go. Mainly the video and wiki (and compiling all the source code). For wiki, would advise to regularly update once you're 80% done with your part. Just to make sure that you don't last minute rush through. There's a soft guideline to keep it within 20 pages (basically Ctrl + P your web pages and see from there).
Our video though! Couldn't really do much due to COVID-19 halting our on-site production prematurely, but we still managed to meet up for 1 day before the cb announcement. Some might say it's a cesspool of retrospective embarrassment, but honestly it's a good reliever after all the blood, sweat and tears we put into MDP. For our group, we did little jumping sequence and all - and slap fx effects inside hahahahahahaha! Obviously under more favourable circumstances, we wanted to do more. But sadly the rest had to be improvised from video recordings and screenshots~ (No I shall not share the link here, my teammates don't want to hahah just have fun finding other group's publicly listed videos~)

So yea, that's all I have for MDP! Everyone's experience will vary due to (like I said) the cesspool of luck aspects. Well GLHF juniors :) They will progressively amp up difficulty so that y'all don't copy senior's stuff straight lah. But yea when everything falls in the right place, you should be good. Will update my grades when I got it. Good lord this is the only thing affecting my GPA this semester, not sure if that's a good or bad thing hahah.

As for my other modules...
*Well see again I waited for WEEKS to continue so I don't even remember my real motive for leaving this section - and what I actually want to write*
I guess I am in no right to talk extensively about NTU's policies, or very frankly give my opinions. But I can briefly share how my other modules have shaped their assignments. And just my general sentiments to studying through COVID-19.

The first and basically most glaring measure for students: All modules can be SU-ed this semester (except for FYP). Whatever you SU-ed won't eat your balance SU count (eg. I still have 12 AUs left to SU - but however many or little mods I SU for this semester, the balance will remain as 12 AUs.) However, we cannot see our grades and decide afterwards (other schools can but tradeoff is they have an AU cap).

The other glaring measure is "alternative assessments". Rather the lack thereof afterwards. I will explain in detail for my modules afterwards. But generally, they initially decided to cancel about 75% of finals - and replace it with week 13 "quizzes". Yes suddenly quizzes worth more than finals weightage with lesser time given. In zoomer jargon: big brain moment. And all cramped in week 13. Basically finals spread out over 3 weeks, squeezed into a single week of "quizzes" in smaller areas. Very counterintuitive to the whole social-distancing shtick. And it garnered a lot of uproar (let me just reference Mothership). IDK about other faculties but SCSE did ask for students feedback and the committee is working on spreading the "quiz" to 3 weeks. 
The lack thereof part happened on end of Week 11, after the cb announcement. NTU pretty much said "Nope, no more quizzes." I would and honestly rather expect change to online assignment form, or at least supervised online quiz (again, other schools can pull it off!). But no. Really no quiz at all. In more official wording, all the prior assessments will be weighted to 100%. If you have a 10% quiz earlier on, oh too bad it's now 100%. Personally, I really am not happy about this, but I don't want to make this a rant post. Understand that NTU has administrative constraints sigh what2do?

Alright more details about my other modules~
- Comm Mgmt Strategies: The dreaded communication mod. I am MORE THAN GLAD to SU this. Anyway again this isn't a rant session. I'm just here to cover change in grading. I can't keep tabs on the reweighted grades, but they only removed post-writing test on week 12. Group presentation is still required. But since we cannot even go to school and meet up in any way, it's now a pre-recorded video. Full body shot + slides required (and the tutor didn't even suggest HOW to go about that - just kept pestering via email asking people to follow these requirements... ranting for another day). Also Q&A portion removed.
- Cryptography (CS TE): I can't even say "ranting for another day" for this. I feel absolutely shafted (I might actually get U but we'll see). What was originally a 2-question 25% quiz. It's now 100%. Well I mean they magnanimously raised it significantly by 5%, to 30%. And 70% was supposed to be week 13 quiz. But the announcement came and this is where I wasn't happy at all that there was zero alternative arrangements being made. Thing is, I did write an email to the course coordinator (he openly asked students for qualitative feedback about the assessment scheme) and reasoned out why assignments would be a preferred arrangement. I don't blame the prof but it's clear that the school isn't exactly giving the resources to pull that off. Hence the fiasco as per today. Also we got to see the solution for that lovely singular quiz. I know my answers are wrong (made careless mistakes for BOTH questions). My method marks is a bit iffy for both questions (but I knew I should get to the correct answer with my methods). So yea see why I'm worried? I will just leave my thoughts here.
- Machine Learning (CS TE): It's good that we don't have finals but now I really learn absolutely nothing. Well it became 20% on programming assignment (quite a simple one) and 80% on project. I did contemplate to not SU, but I also can't bring myself to put in too much faith on the project. Especially one where you Kaggle leaderboard position matters (we didn't reach top 20% so...), and just my group didn't really try hahah - we are as good as starting the work 2 days before deadline so...
- Decision Modelling and Analysis (BA TE): Actually no change in terms of weightage. Only change being group project not having a presentation component (ie. just submit report).

Basically my almost fully SUed semester is like an exchange semester. Except I'm stuck at home. But yes I will take it. I'm not a good role model at all to say that I didn't try after the SU option is available, but even before that, the inconveniences from COVID-19 doesn't make the learning environment any easier. Hope that is understandable.

Let me end of by sharing the only 2 good things from this semester :))))


Of course it's food! Specifically, new salad place. The Crowded Bowl. I was skeptical at first since it's vegetarian (and I don't like veggies my friends know that) and yea the smell of the place is off-putting. But I ordered it and BEST DECISION OF MY LIFE! In fact, I first ordered it 1 week before cb announcement. I have eaten it, three times (wait maybe 4... right I also 打包 for my parents to try), in that one week. It's that good! As the time of writing (15th May) I have been craving it for 1.5 months! I'm not even fazed with McDonald's closing down for 1 month. I find it a travesty that The Crowded Bowl don't have delivery service, hence my crankiness for the past 1.5 months...


The popular Chicha Sansen bubble tea~ (finally a decent bbt option, Each-A-Cup and LiHo just aren't it man.) On the pricier end but glad that it's finally here~ For about 2 weeks before cb announcement again T^T Hope I still have more time to get it before I grad next year though :]

Alright real end of this (same ol') unstructured post. Hope everyone is staying safe through COVID-19. Tough times but please stay at home, practice social distancing when outside and practice good hygiene measures. And get a good rest during this period (as much as our innate need to be productive is a thing cuz capitalism woo~) please we are fighting a pandemic keep your health and sanity before anything else! Cheers everyone~

Comments

  1. thanks SO much for making and writing this blog! the amount of documentation on bcg out there is really sparse and this helps bridge that info gap. good luck for your final year in bcg!

    ReplyDelete

Post a Comment

Popular posts from this blog

Getting a driving license in Singapore~

I only added this image so that my blog preview would make sense. Imagine seeing the BBDC course outline (next picture) in the preview. Nani? Guess who got her driving license?!~~~ Ok there must've been so many blogs out there giving nice, concise details about how to get a driving license in Singapore. But I guess my approach here isn't to educate anyone. I just want to write down my own experience. After all, it's quite a milestone in a Singaporean kid's life. LMAO one telltale sign that I'm actually an adult fml... My decision to get a driving license And also my rationale to a few key decisions that I need to make before I start anything~ No, I did not immediately work towards getting a license once I turned 18. It was about 16 months before I decided to commit to getting a license. (What happened in the 16 months? A levels, 6 month temp office job, and trying to make sure I don't flop in uni before I dare to think about multitasking my studies w

BCG - Year 3 Semester 1

Howdy I’m actually not dead, my friends! Hope everyone is doing fine 😊 I clearly have not updated this for… 7 months ish? That is exactly how detached I am from life. By the time this comes out, it better be before my holiday trip (no guarantees). If that actually happens, it means that I have not gotten my grades back and I will basically be harping how screwed I am. I’m starting to look into technical electives (planning to take cyber security spec and/or data science) so that’ll make an interesting post I guess. Also took a popular GERPE so you might wanna stick around~ With my rusty and untrained writing skills, here goes. (Memeful start with a video of Dreamcatcher’s SuA. Actually me after every paper: https://www.youtube.com/watch?v=AAtQklb6zUw ) * I can’t copy the thumbnail picture but an arbitrary cute SuA picture works too. Now just imagine her loud Leo side coming out. That’s the video above. * "AAAAAAAHHHHHHHH!" - Kim Bora, 2k19 AB1501 – Mark