๐Ÿ‘จโ€๐Ÿซ
My Four Weeks at DMEP, PHBS
๐Ÿ‘จโ€๐Ÿซ
My Four Weeks at DMEP, PHBS
๐Ÿ—“ Aug/18/2017
๐Ÿท๏ธ Tags: [TA, PHBS, work, career]
In the past month, I worked as a TA for DMEP (Digital Media Elite Program), a Data Journalism program hosted by PHBS* and DataWorks. It was actually a fortunate (or not) accident that brought me there.
At the beginning I applied for a Data Analytics internship at Initium Media. I was supposed to do some data analysis and optimize how the website should look and feel according to some data-driven approaches.
But there were two matters: First, I applied in March 2017 and got offered at late March 2017. For a mainland resident to apply for a working visa, the whole process typically took three months. By the time my visa got approved, it is already late June, and they expect me to work at least for three months (which is reasonable).
Second, Initium Media encountered a cash crisis as one of their investors pulled her funding. Therefore, they were cutting heads to survive that difficult period. So you can guess what would happen to the tech department: with less employees, its main duty would more or less shift to maintenance rather than adding some fancy features, not to mention user experience / retention rate optimization.
As a result, I did not join Initium Media.
One day, the former CTO from Initium, Pili, contacted me asking me if I would be interested in a 1-month TA work about Python and front-end development. He also attached a outline for the program:
1.
Allison Parrish from NYU teaches basic Python and some applications in NLP for the first two weeks. She is an expert in computer text generation ,and interestingly she is also recognized as the "Queen of Twitter Bots".
2.
Pili would teach frontend techniques in the following two weeks. He will cover HTML & CSS as well as some very useful libraries like D3.js and echarts.js.
3.
Alberto Cario, a master in Data Visualization, will teach for a intense 4-day bootcamp in principle of data visualization.
And the best part is, everything will be available on the internet for free as MOOC! After a few phone calls with Pili, I happily accepted the offer.
First Two Weeks
I arrived at PHBS two day prior to the start of the program. I wandered around the whole campus, scouting for better food and spots to chill. The scene is beautiful and there are a lot of trees around. No wonder many students prefer Shenzhen than Beijing according to a student in the program.
Along with Allison, the lecturer, there were two TAs, one is me, and the other is a Taiwanese called Spe Chen.
Her English name has a complicated story and it still remains as a mystery to me. She was a very lively and nice person. After graduating from Lede Program* in the Columbia University, she joined DataWorks and immediately started working with Tencent on a data journalism project. I felt much more comfortable and calm to have a coworker as experienced as her. She was always ebullient as if nothing can depress her.
Allison is an amazing people to work with! She is a nice person and a sophisticated teacher. She likes cats a lot (and so do I), the only Chinese she can type is ใ€Œๆˆ‘็ˆฑ็Œซใ€(I love cats). Even her bash prompt starts with a ๐Ÿฑ emoji.
One of the most interesting about her teaching approach is that she teaches loops by introducing "list comprehension"* first. If I were the teacher, I would not teach this Python-only syntax first. When I reminded her that many of our student had zero programming experience, she said it was just her way to teach loops.
And surprisingly, it turned out not bad! After we spent some amount of time explaining what a loop looks like, the students were quick to understand loops, though some of them sometimes confound loops and list comprehensions.
Guests from Saturday Workshop
On each Saturday through out DMEP, the program invited an expert from different fields to talk about their experience and expertise.
The one I liked most is the guest from the second weekend, Silva Shih. She is from FT Chinese, and she is the only data journalist in the FT Chinese team. She came to the campus two days earlier, sitting at the back of the classroom with Spe and Me, so I was able to spend three days with her. By knowing her personally, I heard many interesting stories about the industry and miscellaneous stuff. I absolutely learned a lot.
My Last Two Weeks
Pili is the lecturer for the third and fourth week. He is truly a hacker.
He has to teach HTML/CSS and the tortuous JavaScript within two weeks. We ended up with successfully teaching student to use D3.js to draw interactive graphs with SVG. With a schedule this tight, Pili managed to compress the most essential knowledge into 14 three-hour lectures.
Pili was also quick to code and provide up-to-date examples on visualization. For example, Sichuan Province in China experienced a disastrous earthquake at 9pm, Augest 9. At the next morning, he came up with a map visualizing all the earthquakes recorded near Sichuan Province.
On the other hand, it was quite stressful for me to help students with their codes. Firstly, unlike previous Python exercises, the D3.js exercises require students to scrap their own datasets and find their own approaches to visualize the data. Secondly, they code poorly (which is totally understandable). Most likely the case was about a typo in a variable or a syntax problem, but for the rest of the cases, it was the logic that cause the problem.
Then Spe and I have to go though the code with the students, helping them to debug their logic, delineate their ideas of visualization they want to make.
But anyway, it was very satisfying to see my students improved rapidly and I felt proud when they presented the alpha versions of their capstone projects. It was at that moment I felt all my efforts were worthwhile.
Footnotes
PHBS: Peking University HSBC Business School
List comprehension: For those who are not familiar with this Python candy, here is an example of list comprehension, a handy syntax to generate a list in a single line of code.
a = [i for i in iterator] type(a) # will be a list b = [str(i).replace('a', 'b') for i in iterator if 'a' in str(i)] type(b) # also a list
Python