Difference between revisions of "User:Mtheng"

From Floor Pi Wiki
Jump to: navigation, search
 
(5 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
name=Mark|
 
name=Mark|
 
year=2021|
 
year=2021|
room=M307|
+
room=M308|
 
course=6
 
course=6
 
}}
 
}}
  
Hi! I'm Mark from Singapore. I like computers, math, physics, [http://tpt.io/~2046454 subframe technology], video game music and, most of all, sleeping.
+
Hi! I'm Mark, from Singapore. I like computers, puzzles, [https://krawthekrow.github.io/subframe.html subframe technology], video game music and, most of all, sleeping.
  
 
== Classes ==
 
== Classes ==
 +
 +
Other people who provide class reviews: [[User:Cjq|CJ]], [[User:Sir0064|Sebastian]], [[User:Bpchen|Brian]], [[User:Alweiss|Ryan]]
 +
 +
=== Fall 2020 ===
 +
 +
* 6.374, Analysis and Design of Digital Integrated Circuits (Sze)
 +
 +
=== Spring 2020 ===
 +
 +
* 6.822, Formal Reasoning About Programs (Chlipala): Take this class if you want to do CS, but actually do math, but actually it's a video game. Yeah, I've said it, Coq's a video game. Chlipala's cool, though the lecture material can be a bit hard to follow live.
 +
* 6.858, Computer Systems Security (Kaashoek, Zeldovich): Another labs-and-papers systems class. It's a nice, broad survey of the field, with a strong focus on security in practice without delving too much into the weeds.
 +
* 18.102, Introduction to Functional Analysis (Melrose): Harder and less of a meme than I was sold, but still manageable. ...I mean, it's a math class, what did I expect. Just be prepared for a really tough final -- a list of 25 problems is released just a week before, from which a few would be chosen. That's like doing 5 psets on exam week.
 +
* 21G.502, Japanese II (Ikeda, Rafique): I got lotteried out of another HASS and thought this would be the silliest class to replace it with. Turned out to be a great choice -- the teachers are really nice, and it was probably the most useful class I've taken at MIT.
 +
 +
=== Fall 2019 ===
 +
 +
* 6.035, Computer Language Engineering (Rinard): Rinard's an entertaining lecturer, but definitely not for everyone -- he spent probably half the time telling irrelevant stories, though he does try to adapt his lectures to the audience. Writing a compiler from scratch was fun, though the language was icky (java? ew), and groupwork was once again ehh since my work schedule never seems to align with anyone else's.
 +
* 6.826, Principles of Computer Systems (Lampson, Zeldovich): Very misleading class name though I already knew that when I took the class. There was just enough computer-verified proof writing to be fun but not tedious. Same paper-then-lecture format as other systems classes so lectures were again a little redundant, though no exams was a big plus.
 +
* CMS.618, Interactive Narrative (Montfort): Play my [https://krawthekrow.github.io/flight-zc7796.html game]!!! Needless to say, I enjoyed the class. Nick is a huge nerd and a supportive teacher, and has quite the taste for postmodernist stuff, which was awesome.
 +
* 21M.139, Ragtime Composition (Shadle): Probably the most fun class so far, rags are such a huge fun to write, Shadle's such a big nerd, there were only like six of us so the discussions were very interactive. There ought to be more six-unit classes like this. Shadle performed all our rags, you can find the recordings [https://www.dropbox.com/sh/wordb1xzle24wnw/AADxlVmQA_U6xxNLFy9eFg1Va?dl=0 here]... (though I kinda prefer the [https://krawthekrow.github.io/static/files/music/dragonfly-dance-musescore.mp3 MuseScore rendering] oops)
 +
* 21M.387, Fundamentals of Music Processing (Humphrey): Apparently the state-of-the-art for music processing is pretty kludgy to begin with, but there's still a lot to learn. The material was relatively easy, but the workload was very small, so the value-to-work ratio ended up being pretty good.
 +
 +
=== Spring 2019 ===
 +
 +
* 6.856, Randomized Algorithms (Karger): Interesting material, neat tricks, fun how everything reduces to a Chernoff bound with a few insights. Karger's a pretty good lecturer, considering how dry the derivations were. The p-sets were horribly long, though.
 +
* 6.823, Computer System Architecture (Sanchez): Fun tour of comp-arch tricks beyond slapping logic gates together. I have no idea how they managed to pull it off given the large breadth of content (by nature), but they did.
 +
* 21M.302, Harmony and Counterpoint II (Shadle): Shadle's a very supportive person and a great teacher. He's also pretty damn awesome at the piano. The add-ons were still obnoxious but the sight-singing lab was (once again) conducted surprisingly well. I ended up reharmonizing a melody in five completely different styles for the final project -- that was definitely fun.
 +
* 9.00, Introduction to Psychology (Gabrieli): I wanted a HASS-S that wasn't econs, so... actually this class was also pretty fun. Gabrieli's just a fun lecturer in general. Good avenue to pad up your general psychology knowledge if you don't read self-help books.
 +
* 6.UAT, Oral Communication (Tony): This is the only class in MIT I've ever taken (and will ever take) solely to satisfy a requirement. Also, I have a strong negative prior when it comes to general communications classes, I just think the premise is flawed to begin with. Surprisingly, I didn't end up hating the class as much as I thought I would. Take of that what you will.
 +
 +
=== Fall 2018 ===
 +
 +
* 6.828, Operating Systems Engineering (Belay, Kaashoek): Similar to 6.824, fun but hand-holdy lab sequence, interesting papers but somewhat redundant lectures. Coding in C/asm was a joy, though. I ended up just doing the final lab because I didn't want to have too many final projects this semester.
 +
* 6.111, Introductory Digital Systems Laboratory (Gim Hom): FPGAs! Verilog is a horrible language but writing HDL is big fun and Verilog is the best of a bad lot. Gim was once again an awesome person. I wrote an [https://github.com/krawthekrow/encrypted-ethernet Ethernet driver] for the final project, which I thought was easy picking but they apparently didn't.
 +
* 18.725, Algebraic Geometry I (Pixton): Crushing p-sets, horribly abstract material, exactly what I wanted. Pixton's a decent lecturer, Vakil's notes were a decent reference, it was a Good Time (TM) but I'm not masochistic enough to take 18.726 next semester.
 +
* 21M.301, Harmony and Counterpoint I (Ruehr): Ruehr was an excellent teacher, very enjoyable class though the add-ons were a bit obnoxious. My final project ended up short and sweet.
 +
 +
=== Spring 2018 ===
 +
 +
* 6.824, Distributed Systems Engineering (Morris, Schwarzkopf): Fun lab sequence, Go channels are such a joy. The papers provided a nice breadth, though mandatory reading before lecture was kinda redundant since the lectures just went over the papers anyway. There's a final lab/project option but mine went a bit wonk.
 +
* 6.101, Analog Electronics Lab (Gim Hom): Gim's an awesome person who really cares about students. There's a lot of focus on how real circuits fail to conform to theory, which in analog is all the time. Get ready for lots of wire stripping, caps exploding and circuits changing behavior when you measure them twice.
 +
* 18.212, Algebraic Combinatorics (Ferber): Relatively light workload, lots more focus on linear algebra and expander graphs than expected. There were some fun theorems and problems though.
 +
* STS.049, The Long War Against Cancer (Scheffler): I wanted a CI-H HASS-H that wasn't philosophy, so... actually this class was pretty great. The lectures were entertaining, at least. The exams were a bit obnoxious, and there was a lot of talk on racism/sexism etc., but that's kind of to be expected for a history class.
  
 
=== Fall 2017 ===
 
=== Fall 2017 ===
  
* 6.008 (Golland, Wornell): Rather standard class. It was nice to patch up the gaps in my knowledge of foundational probability theory, though it could certainly have gone faster.
+
* 6.008 (Golland, Wornell): Rather standard, but it's the best class that satisfies the introductory requirement so I'm not complaining (satisfies by petition -- I only learned about this after taking the class).
** It's probably the best class that satisfies the probability requirement (the focus on algorithms is nice), so I'm not complaining. Also, it substitutes the introductory subject requirement, which is a great plus.
+
* 6.012, Microelectronic Devices and Circuits (Shulaker, Palacios): Strongly intuition-focused, which was great, though it surprised me that the class was all devices and no circuits (turns out the class was recently revamped). Shulaker was so idealistic and full of energy, I wonder if the few more years of MIT has jaded him yet.
* 6.012 (Shulaker, Palacios): Crazy awesome, though a bit slow at times. The class was only just revamped to have a sharp focus on intuition, which aligns exactly with how I see education.
+
* 6.837, Computer Graphics (Solomon): Entertaining lecturer, fun assignments, though I *kinda* already had a lot of background to be taking this. The class doesn't actually cover the GPU, but I did a GPU final project anyway for funsies -- [https://github.com/krawthekrow/real-time-sph Real Time SPH]
** Shulaker was very idealistic, but it worked out for me because his ideals matched mine.
+
* 21M.011, Introduction to Western Music (Pollock, Neff): Great CI-H. I'm not much of a fan of classical music, but I do like analyzing music in general. Almost every lecture had a guest lecture/performance section, which was fun.
** I found the design project very fun and instructive, but only because I "cheated" and automated the entire simulation process. Hopefully they would allocate more time for it in subsequent versions of the class.
+
 
** I have to mention the lab, because it's a great example (and hopefully serves as a great precedent) for education -- it was entirely optional, but most of us did it anyway because it was cool.
+
== Not Classes ==
** I was originally hoping to learn more about the architecture side of things but, as it happens, that entire part was removed from the class during the revamping. Turns out that the "correct" classes to take are 6.301 and 6.374 (and, on a higher level, 6.823), all of which I'm hoping to eventually take in subsequent semesters.
+
** Apparently, Palacios is helping to revamp 6.002 next semester. I'm curious to know how that turns out.
+
* 6.837 (Solomon): Now I'm just kidding myself. I already had quite a bit of background in computer graphics, and the GPU is my favorite thing ever, so the amount I leaned (in-syllabus) from this class was rather limited. But I got the excuse to sink an embarrassingly large amount of time into making my [http://18.181.3.53/fluidsim_final.mp4 first CUDA project], so I'm happy. (If this link is dead then let us take a moment of silence to mourn the death of XVM.)
+
** Solomon is an entertaining lecturer and the homework (which consists entirely of programming assignments) is fun and relevant, so I think this class would also be enjoyable for people without background.
+
** This class doesn't actually talk much about the GPU -- in fact, you only need to write shader code in the last assignment. It's rather unfortunate that there doesn't exist a class for "GPU Programming and Optimization". There ''is'' a performance engineering class for the ''CPU'' though (6.172) -- I'm hoping to take that eventually.
+
* 21M.011 (Pollock, Neff): Awesome class with awesome instructors. I actually feel better able to appreciate music (and art, in general) after taking this class, and that's something I would never have imagined saying of a class.
+
** The entire class revolves around answering the question: "What makes [insert piece here] sound good?", and it happens that I already ask myself that question a lot in searching for good music to listen to and trying to make music myself. I'm not sure if I'd have enjoyed this class as much if I wasn't already interested in the subject.
+
** Almost every lecture had a "guest lecture" section, where an external speaker would be invited to present or perform things sometimes only tangentially related to the class. That was awesome.
+
** Unfortunately(?), this class only covers "high culture" classical music, which doesn't match my tastes that well (some of the Baroque and Romantic pieces do come very close though). The obvious continuation is 21M.2xx classes, but the best I can find is 21M.284 (Film Music) (which I actually hope to eventually take). I'm sure we would all agree that a class to the tune of "Anime and Video Game Music" would be a very, very good idea, though it feels like that needs 50 more years to become even remotely possible.
+
** The listening quizzes are annoying, but they actually help a lot.
+
  
If I had any advice to give to my prefrosh self, it would be to be more confident of myself and actually take advantage of P/NR by taking harder classes. But then, I definitely had a lot of fun this semester so I'm not sure what the right lesson to draw is, if any. In any case, I'd certainly go for harder classes next semester (currently looking at 6.824 and 6.101).
+
[https://krawthekrow.github.io/pi-connect/ only connect client]
  
Oh yes, also apparently there exists a UROP deadline. Don't be like me and wait a few weeks to "get used to things" before looking for one. Or maybe do, because there are so many other fun things to try in your first semester besides research.
+
[[File:mtheng-tvl-art.png|thumb|none|500px|alt=Sketch of TVL.|memories <3]]
  
 
== Notable Achievements ==
 
== Notable Achievements ==
Line 37: Line 70:
 
* Updated my floorpi wiki page.
 
* Updated my floorpi wiki page.
 
* Updated my floorpi wiki page again.
 
* Updated my floorpi wiki page again.
 +
* Destroyed my floorpi wiki page?
 +
* Updated my floorpi wiki page!
 +
* Updated my floorpi wiki page yet again!
 +
* Restored my floorpi wiki page. I'm a hero.
 +
* Updated my floorpi wiki page!

Latest revision as of 00:34, 11 September 2020

Mark
Room M308
Year 2021
Course Electrical Engineering and Computer Science


Hi! I'm Mark, from Singapore. I like computers, puzzles, subframe technology, video game music and, most of all, sleeping.

Classes

Other people who provide class reviews: CJ, Sebastian, Brian, Ryan

Fall 2020

  • 6.374, Analysis and Design of Digital Integrated Circuits (Sze)

Spring 2020

  • 6.822, Formal Reasoning About Programs (Chlipala): Take this class if you want to do CS, but actually do math, but actually it's a video game. Yeah, I've said it, Coq's a video game. Chlipala's cool, though the lecture material can be a bit hard to follow live.
  • 6.858, Computer Systems Security (Kaashoek, Zeldovich): Another labs-and-papers systems class. It's a nice, broad survey of the field, with a strong focus on security in practice without delving too much into the weeds.
  • 18.102, Introduction to Functional Analysis (Melrose): Harder and less of a meme than I was sold, but still manageable. ...I mean, it's a math class, what did I expect. Just be prepared for a really tough final -- a list of 25 problems is released just a week before, from which a few would be chosen. That's like doing 5 psets on exam week.
  • 21G.502, Japanese II (Ikeda, Rafique): I got lotteried out of another HASS and thought this would be the silliest class to replace it with. Turned out to be a great choice -- the teachers are really nice, and it was probably the most useful class I've taken at MIT.

Fall 2019

  • 6.035, Computer Language Engineering (Rinard): Rinard's an entertaining lecturer, but definitely not for everyone -- he spent probably half the time telling irrelevant stories, though he does try to adapt his lectures to the audience. Writing a compiler from scratch was fun, though the language was icky (java? ew), and groupwork was once again ehh since my work schedule never seems to align with anyone else's.
  • 6.826, Principles of Computer Systems (Lampson, Zeldovich): Very misleading class name though I already knew that when I took the class. There was just enough computer-verified proof writing to be fun but not tedious. Same paper-then-lecture format as other systems classes so lectures were again a little redundant, though no exams was a big plus.
  • CMS.618, Interactive Narrative (Montfort): Play my game!!! Needless to say, I enjoyed the class. Nick is a huge nerd and a supportive teacher, and has quite the taste for postmodernist stuff, which was awesome.
  • 21M.139, Ragtime Composition (Shadle): Probably the most fun class so far, rags are such a huge fun to write, Shadle's such a big nerd, there were only like six of us so the discussions were very interactive. There ought to be more six-unit classes like this. Shadle performed all our rags, you can find the recordings here... (though I kinda prefer the MuseScore rendering oops)
  • 21M.387, Fundamentals of Music Processing (Humphrey): Apparently the state-of-the-art for music processing is pretty kludgy to begin with, but there's still a lot to learn. The material was relatively easy, but the workload was very small, so the value-to-work ratio ended up being pretty good.

Spring 2019

  • 6.856, Randomized Algorithms (Karger): Interesting material, neat tricks, fun how everything reduces to a Chernoff bound with a few insights. Karger's a pretty good lecturer, considering how dry the derivations were. The p-sets were horribly long, though.
  • 6.823, Computer System Architecture (Sanchez): Fun tour of comp-arch tricks beyond slapping logic gates together. I have no idea how they managed to pull it off given the large breadth of content (by nature), but they did.
  • 21M.302, Harmony and Counterpoint II (Shadle): Shadle's a very supportive person and a great teacher. He's also pretty damn awesome at the piano. The add-ons were still obnoxious but the sight-singing lab was (once again) conducted surprisingly well. I ended up reharmonizing a melody in five completely different styles for the final project -- that was definitely fun.
  • 9.00, Introduction to Psychology (Gabrieli): I wanted a HASS-S that wasn't econs, so... actually this class was also pretty fun. Gabrieli's just a fun lecturer in general. Good avenue to pad up your general psychology knowledge if you don't read self-help books.
  • 6.UAT, Oral Communication (Tony): This is the only class in MIT I've ever taken (and will ever take) solely to satisfy a requirement. Also, I have a strong negative prior when it comes to general communications classes, I just think the premise is flawed to begin with. Surprisingly, I didn't end up hating the class as much as I thought I would. Take of that what you will.

Fall 2018

  • 6.828, Operating Systems Engineering (Belay, Kaashoek): Similar to 6.824, fun but hand-holdy lab sequence, interesting papers but somewhat redundant lectures. Coding in C/asm was a joy, though. I ended up just doing the final lab because I didn't want to have too many final projects this semester.
  • 6.111, Introductory Digital Systems Laboratory (Gim Hom): FPGAs! Verilog is a horrible language but writing HDL is big fun and Verilog is the best of a bad lot. Gim was once again an awesome person. I wrote an Ethernet driver for the final project, which I thought was easy picking but they apparently didn't.
  • 18.725, Algebraic Geometry I (Pixton): Crushing p-sets, horribly abstract material, exactly what I wanted. Pixton's a decent lecturer, Vakil's notes were a decent reference, it was a Good Time (TM) but I'm not masochistic enough to take 18.726 next semester.
  • 21M.301, Harmony and Counterpoint I (Ruehr): Ruehr was an excellent teacher, very enjoyable class though the add-ons were a bit obnoxious. My final project ended up short and sweet.

Spring 2018

  • 6.824, Distributed Systems Engineering (Morris, Schwarzkopf): Fun lab sequence, Go channels are such a joy. The papers provided a nice breadth, though mandatory reading before lecture was kinda redundant since the lectures just went over the papers anyway. There's a final lab/project option but mine went a bit wonk.
  • 6.101, Analog Electronics Lab (Gim Hom): Gim's an awesome person who really cares about students. There's a lot of focus on how real circuits fail to conform to theory, which in analog is all the time. Get ready for lots of wire stripping, caps exploding and circuits changing behavior when you measure them twice.
  • 18.212, Algebraic Combinatorics (Ferber): Relatively light workload, lots more focus on linear algebra and expander graphs than expected. There were some fun theorems and problems though.
  • STS.049, The Long War Against Cancer (Scheffler): I wanted a CI-H HASS-H that wasn't philosophy, so... actually this class was pretty great. The lectures were entertaining, at least. The exams were a bit obnoxious, and there was a lot of talk on racism/sexism etc., but that's kind of to be expected for a history class.

Fall 2017

  • 6.008 (Golland, Wornell): Rather standard, but it's the best class that satisfies the introductory requirement so I'm not complaining (satisfies by petition -- I only learned about this after taking the class).
  • 6.012, Microelectronic Devices and Circuits (Shulaker, Palacios): Strongly intuition-focused, which was great, though it surprised me that the class was all devices and no circuits (turns out the class was recently revamped). Shulaker was so idealistic and full of energy, I wonder if the few more years of MIT has jaded him yet.
  • 6.837, Computer Graphics (Solomon): Entertaining lecturer, fun assignments, though I *kinda* already had a lot of background to be taking this. The class doesn't actually cover the GPU, but I did a GPU final project anyway for funsies -- Real Time SPH
  • 21M.011, Introduction to Western Music (Pollock, Neff): Great CI-H. I'm not much of a fan of classical music, but I do like analyzing music in general. Almost every lecture had a guest lecture/performance section, which was fun.

Not Classes

only connect client

Sketch of TVL.
memories <3

Notable Achievements

  • Updated my floorpi wiki page.
  • Updated my floorpi wiki page again.
  • Destroyed my floorpi wiki page?
  • Updated my floorpi wiki page!
  • Updated my floorpi wiki page yet again!
  • Restored my floorpi wiki page. I'm a hero.
  • Updated my floorpi wiki page!