As I sit here working on a project in lieu of going to class for the umpteenth time, I realized with sudden clarity that perhaps the current way that Computer Science is taught in universities is not the optimal way. Large lecture halls, clunky languages– it’s a bad sign when even a die-hard “learning for learning’s sake” student skips class on a regular basis.

anyway, a few thoughts on how I would change the structure of Computer Science courses to maximize efficiency + interest and minimize pain:

STOP TEACHING JAVA.

Seriously. I have never, ever been required to interview in a specific language at any company (even the “big names”), and if the people you’re talking to are deadset on Java, you probably don’t want to work there anyway. C is a much, much better “lower” level language for really grasping the way programming works, and Python is a much, much more fun language if you want to lower the barriers to entry and get students making things right away.

MAKE GRADES ENTIRELY PROJECT BASED FOR NON-THEORETICAL CLASSES

For classes like data structures, advanced programming, OOP, etc., etc. students tend to learn a great deal more and invest much more time and interest in coding projects. These should be the heart of the course, and is what matters in “the real world”, anyway. No one’s going to give you a bonus for remembering the difference between inheritance and polymorphism: let’s face it, you’d take the 5 seconds to Google the
definitions and move on. Big projects, tight deadlines, collaboration: this is where the real learning is.

IF YOU MUST MAKE STUDENTS TAKE EXAMS, STOP ASKING LANGUAGE-SPECIFIC SYNTATICAL QUESTIONS

In my opinion, you should not administer written exams in technical classes (see above). However, if you must, for heaven’s sake, please, please do not ask us things like the difference between strcmp and strncmp. Sometimes coding by hand with pencil and paper is good practice for interviews, but the code should be judged for logic and not syntax. Exams should be theory-based. Technical evaluations should be project-based. EOM.

IF YOU MUST HAVE LECTURE COURSES, PLEASE LIMIT THE SIZE OF THE CLASS

Size matters. This one is a given. Of course small seminars are best, but it’s understandable that budget might not allow for it. Lectures for intro courses only, and please, please try to cap them: there is a huge difference in ambiance and quality of learning between a lecture of 50 and of 250. I’m talking to you, Columbia. When I’m in a room with 300 other students learning about the difference between * argv[] and ** argv I immediately want to fall asleep or eat.

THAT’S ALL I CAN THINK OF FOR NOW.

then again, it’s entirely my fault for taking up class time to write in English instead of C++.

P.S.: Shout out to everyone in AP lecture who’s on Facebook right now. Hello! Now I feel less guilty for skipping class. At least I’m “working” in the library.

P.P.S.: For the record, I do believe that Jae is a great professor and administers valid albeit perhaps too difficult exams. Personally, I enjoy tough exams (sink or swim time/everyone failed so I feel less bad for not studying). The main clincher here is a) the size of lecture (TOO BIG) and b) little grade weight on projects. Neither of these can really be blamed entirely on the professor, cough *administration* cough cough

P.P.P.S.: Yes, perhaps strcmp and strncmp + polymorphism are not the best examples, as esp. the polymorphism question is more theoretically important. But you get the gist of the idea.

P.P.P.P.S. It is probably true that if I took 10 minutes to edit my posts I would not have to use postscripts, but what’s the fun in that?

Tags: ,

· · · ◊ ◊ ◊ · · ·

talking to dad

25 Nov 2012

This Thanksgiving dinner, something miraculous happened: I finally felt smart enough to talk to my dad about science.

Now, granted, lest you think I have uncommunicative parents, my dad has been trying to talk to me about science since birth (at 5: do you want to build a computer board with me? now wouldn’t that be fun? me: no! i want to play with Barbies). However, it took me a full 20 years of life and 2 and counting years of Ivy league schooling to finally, finally know what he was talking about.

I feel like this monumental event speaks volumes about a number of important things.

First: that barriers to entry and barriers to culture in science, especially computer science, are, as previously suspected, very very high. I talked a little bit about the use of jargon and how it can discourage many new learners before, especially newcomers and women. Keep in mind that my dad is probably the nicest guy I know, and extremely enthusiastic in trying to get his children to be interested in his work, yet previous to this fall, even when I had been coding for more than a year, it was still intimidating and tough to talk to him about my work.

Second: on the power of being a role model and a huge influence on one’s life without ever telling someone what to do. Growing up, I spent a great deal more time with my mother (who didn’t work) than my father (who is a night owl and worked way past my elementary school bedtime). Neither of my parents told me what I should study or what sort of career to pursue, and my dad especially never tried to push any sort of academic dogma on me. I always felt that he was incredibly smart but that coding and computer science were something I had neither the aptitude or interest in: plus, since my parent did it, it must be, in some way, decidely uncool.

Fast-foward 20 years and he has two daughters in the hard sciences: one is a ph.d student at Princeton and another in Columbia engineering school. It’s especially fun to see how much my area of interest turned out so similiar to my father’s work: both of us are either studying or working in the field of Natural Language Processing, and in fact, I am taking a class under the direction of one of his former colleagues during the glory days of Bell Labs. Note that, being stubborn and independent, I never, ever talked to my dad much about what I was studying at school or doing at my summer jobs. He didn’t suggest NLP or AI to me; I just sort of fell into it, and loved it. An anecdote to the power of being a good role model. (Cathy talks a bit about a similiar topic on her great post, on the making of a girl nerd.)

Or, perhaps the apple really does never fall far from the tree.

Tags: , ,

· · · ◊ ◊ ◊ · · ·

thanksgiving

22 Nov 2012

Every day I am thankful but some days I forget.

It is easy to forget and attack the day in steely resolve because life does not take so easily to being loved. We wish for her to be always apple-cheeked and rosy like the girl next door of our childhood dreams: forever preserved in our imaginations, she never loses her temper; her skin always porcelain and clear.

In reality this is not so. Life, she is complicated. When she frowns upon us it is not always the pout we wish we could adore. There are times when she rages and the rage is geniune, full of hatred, bigotry, and fear. She is full of angst and her complexion polluted by man. She is fickle, she smiles upon the beautiful and the wealthy, and she is unfair: unabashedly so.

Still, we would not have it any other way. (Save, maybe, for the extremely uncreative or extremely boring.) There is no great art without an element of tragedy; there is no great genius without a touch of insanity. In its greatest imperfections and frustrations, Life is most human, most poignant. Only chaos can give birth to a dancing star.

Every day I am thankful for a million different things: a list that could be processed across a dozen parallel computers and still take more than seconds to complete. I can’t always recite them but I know they are there. These are just a few.

I am thankful to have a wonderful, caring boss at my work study job who bakes the whole office cake and lets us all know that there is still a place for Southern hospitality in a no-nonsense, metropolitan school.

I am thankful to have parents that are open-minded and loving: it is their eccentricities that make me unique.

I am thankful to have a sister who is my best friend that I talk to everyday just like in books.

I am thankful to have best friends who are like sisters (and brothers). They keep me afloat and are great fun to boot.

I am thankful to be privileged to attend this University; flawed though it may be at times, the knowledge and opportunity is unsurpassable.

I am thankful to have found a field of study that challenges and never fails to fascinate me. I am especially thankful that academic grades are relatively irrelevant in this field.

I am thankful for my good health despite my sleep deprivation and correlated penchant for caffeine and sugar.

I am thankful to wake up in the city that never sleeps, where even shopping for groceries could have taken place in a movie. I never fell in love as a teenager and the City is my first.

Above all I am thankful to be able to put my thoughts into words and those words on a page. This is, perhaps, as Aristotle suspected, what really makes (wo)man (wo)man.

Happy holidays. Take care.

Tags: ,

· · · ◊ ◊ ◊ · · ·

A lovely ode to all those “unconventional families” out there. Really hit a familiar note for a girl who grew up in the library. Life might be easier if we all had PTA moms baking us cookies, but as my Linear Algebra textbook says, “Uniqueness implies existence, and existence implies uniqueness. (Therefore the matrix A is
invertible.)”.

[pet peeve: why in MLA format must punctuation go outside the quote? well, I don't like it.]

Tags: ,

· · · ◊ ◊ ◊ · · ·

happy hump day

07 Nov 2012

first: congrats to President Obama on his second term! what a nerve-wracking and exciting election it was. in general i do not enjoy very much politics as it is, in my opinion, far too political and rarely efficient nor rational. the best thing about election years, in my opinion, is the discussion and debate it causes people to have with each other. although i generally vote democratic I have had a number of really great conversations with my peers: liberal, conservative, and independent. however, here’s to hoping we do indeed move Forward with an open mind and real change.

no rant today, just a few things that have been on my radar lately and will hopefully get your brain a little extra food for thought on this rainy and frigid wednesday. and yes, i feel like writing in all lowercase today. interesting how the way words look on a page can have so much of an effect on one’s voice. in general, i have a thing for ALL CAPS (certain works, in my ideal world, should always be written in CAPS, such as the words of KANT), however it’s the first day back to school after a strange hurricane week, 4 days off from school, an exhilarating election, and i have a midterm tomorrow. so, undercaps (is that a thing?) it is.

recently read this article written by an MIT student whose experience mirrors my own conflicted feelings about attending a high-pressure high-cost university. no matter what college you may be studying at or not even in school at all, it is a very well-written, touching piece and a good thought-provoker.

second, and more nerdy-fun thing: say what you may about Facebook’s privacy policies/business interactions/Mark Zuckerberg, etc. etc. (I actually am not a huge fan but i am, as always, biased) but it is for sure one hell of an addicting product. and, being scientifically minded, i’ve always been fascinated by guessing the algorithms it uses to queue up one’s friend list and other auto-complete actions. i spend a good deal of time guessing why it choses to show the friends it does on a certain profile, etc. etc. but maybe i’m just a nerd.

ANYWAY, i found this very interesting JS bookmarklet and a great explanation of how it works on this blog post. in short, the bookmarklet will pop up a list of rankings based on how FB guesses what your order of searches will be. aka who does it think you stalk the most? potentially embarrassing, but certainly fun. the algorithm FB uses is called EdgeRank. google it for more fun distracting research!

Tags: , , ,

· · · ◊ ◊ ◊ · · ·