March 16, 2009

Posted in Uncategorized at 4:50 pm by carolynresearch

Bibsonomy seems to be the best “handle your citations/references” tool out there, so I spent a couple hours trying to import my papers into it. It’s a good use of my slightly addled brain today – I am about ready to give up on my “I’m not sick” assertions.

I’m still figuring out Bibsonomy, but I’d be interested in the ability to see what papers others have found similar to one I’ve imported…say, what papers have other people tagged with the same keywords as my interesting paper?

Maybe I should ponder this a bit more when I’ve stopped taking decongestants, and make a concrete suggestion – it might even be possible in a way I can’t figure out.

Of course, that would require a critical mass of people using the site – given that I have username “carolyn”, I think it’s not there yet.


February 24, 2009

Current Plans

Posted in Uncategorized at 7:04 pm by carolynresearch

  1. Write up my notes into a first draft follow-up survey
  2. Revisit the research  questions and see if they are all addressed, or need revisiting
  3. Go back into the data, and look for correlationswhere it makes sense.
  4. Revisit the pain points encoding. Start looking at clustering. Make sure any questions suggested by the pain point cluster are addressed.
  5. ?

February 11, 2009

Plan for the next 6 months

Posted in Uncategorized at 4:59 pm by carolynresearch

So, I just sent off my wonderful (cough – or less than wonderful – cough) thesis. I really should look forward and decide what I’m going to do to turn a half-done piece of work and everything I’ve learned in the last year into an interesting piece of research.

1 – Sort my literature out. I started using .pdf files in a directory structure, citeulike, and paper notes on the train. In the end, I have an unsorted BibTeX file with extra fields added in a less than systematic way. I think I like CiteSeerX better, as it seems to have better coverage of articles I think I should read. Regardless of the solution, I need put all of my notes and summaries together, and make sure I haven’t misplaced anything. That means I have to go though my files and my old notebooks.

2 – I need to take the conversations I’ve had recently with my officemates, and turn the one-minutes and ten-minute summaries of what I’ve done and what I’d like to do into something written on my web page, and something longer. The longer version, I should turn into a poster for Grace Hopper (or somewhere else appropriate in the fall?). I should also make my web page more than a placeholder – I have no excuse not to have at least my resume, some research details, and a link to this blog up. I have no excuse for not being able to intelligently summarize my research.

3. In the next month or two, plan the next study I’d like to do.

4. ??? I’ll have to think about this more. I know there’s a lot I want to accomplish, but I haven’t broken my big goals down into manageable chunks.

Somewhere along the line, I’d like to sit and do a coding project, too. Pretend I’m still a programmer, or something.

(And a bonus item – stop FireFox from crashing quite so often on me. Every time it auto-updates, it breaks itself on Vista and on Debian. Grrr.)

February 10, 2009

I still have a blog, really.

Posted in Uncategorized at 4:56 pm by carolynresearch

Today’s lecture in Greg’s consulting course involved a couple visitors talking about working in start-ups. They were shocked, shocked, that we didn’t all have active blogs. I don’t know why I never got into blogging, but after that, I figured I should put together a post. Maybe two.

I have some research thoughts to post, but they will take time to make even half-baked. I’ll go more speculative first.

I bought myself a Sony reader (the PRS 505). Lovely little device, weighs a lot less than the several hundred books it can carry, and doesn’t kill nearly as many trees as trying to print out the .pdf for every paper I’d like to read.

The high school girls I tutor are fascinated by it – enough that they let me ramble on about electronic ink systems, file formats, and so on. It’s little devices like this, which build on the success of technology we don’t even see as technology anymore, like, say, the book, that excite me. The web and what we can do with it is cool enough, but I’ve been waiting for paper 2.0.

I marked an assignment with hand-drawn UML diagrams last week. Somehow, I think this is connected.

January 29, 2009

Back to Basics

Posted in Uncategorized at 7:44 pm by carolynresearch

I have been caught in the details of my thesis for so long, listening to poor quality audio recordings, trying to generalize and theorize and so on, that I think I’ve lost sight of the big picture. I’m trying to take a step back and think of my big interests, and how they might have changed over the last year or so.

Way back when I decided to go back to school, one of the topics that fascinated me was how it might be possible to make “perfect” software, or at very least, software with a predictable failure rate. I sometimes think I obsess over this more than most people – when I looked for work, I wanted to work on safety-critical applications, medical applications, avionics, or something like that. While I guess a lot of this isn’t really as cool as other applications, it just calls to me. How do people make software that works well enough, fails gracefully enough, recovers well enough, when its really important? That’s what I want to know. Learn from those who do it well, and help those who don’t.

One of my adviser’s colleagues who spoke to a class about testing said he stays away from medical applications – I just don’t understand why so many people I know don’t want to work on things they consider safety critical. I think some of them might not realize the safety implications of their work on “normal” applications, but that’s another story.

I guess its a similar “importance” idea that explains why so many people are interested in security. I think I just avoid focusing on security because I see it getting enough attention, and because I like making things move in the real world. For a mathematician and computer scientist, I really like getting my hands dirty. Of course, that’s why I went to grad school. 🙂

I’ve also always been fascinated by the way other people approach problems in programming. I’ve always been a math geek – it’s natural for me to move to a more formal notation when it matters, and to step back when I want to see the big picture. I don’t know where I learned that skill, the one that makes it easy for me to decide how much detail a proof needs in a context, and to step back from code level details.

This moving between levels of abstraction that seems foreign to a lot of the students I talked to, and observed in my masters’ thesis research. I think it’s one thing that makes concurrency hard for them. Moving away from a line-by-line approach seems to be a big challenge. This has been one of my surprises. I guess I keep falling into the trap of thinking that others think like me. You’d think that after tutoring high school math for close to 20 years, I’d have figured out that isn’t true.

I really want to keep looking at design, formalisms, parallel algorithms, and novices. I might have one of my office mates as a collaborator, which would be nice. One thing I’d like to do is improve or create a tool which really helps novices write parallel code, or one which helps them analyze their failed tests.

I’m also trying to trade ideas with another office mate who is looking at how to teach climate science ideas to high school students using models they can manipulate. Maybe I can point him away from some of my mistakes.

I think I have enough going on to keep my busy. I should get started looking at the scientists’ survey data when my thesis work is put to bed. I’m sure there are a lot of follow-on projects from that, but they’ll need more analysis than the quick look through I did before Christmas. I’d like to present a poster with my thesis work at Grace Hopper next year, while I try to extend on it and make it a really good conference paper. I might like to see if I can do a testing “in the wild” study at the AST conference this year – I made a few connections there last year as a volunteer, and got the impression the attendees would be open to something like that.

I think this is a little unfocused, but I guess that’s OK. A little pondering and planning is probably a good idea at this stage. I guess I’ll have to figure out a plan for my PhD research soon enough, and I’m starting to see a fuzzy plan forming.

December 19, 2008

An observation from my study data

Posted in Uncategorized at 4:21 pm by carolynresearch

I was going through my notes and transcripts from my study, and noticed something odd. When the students were trying to figure out the Promela code I gave them, they talked about what “whoever wrote the code” was trying to do, or meant to do.

For example, I asked them to identify the problem in and fix a critical section algorithm. Once one student figured out that it was possible to have both processes in the critical section, he said that whoever wrote this algorithm was just trying to slow down the running of the process to have the processes end up out of synch.

It’s interesting, and somewhat confusing. With TA-ing and my study, I’ve been paying a lot of attention to the details of how undergrads approach problems. There’s a lot of little details that I don’t understand – and more and more I find differences in the way different people reason about code.

December 9, 2008

Make tool, evaluate tool

Posted in Uncategorized at 7:35 pm by carolynresearch

One of my officemates gave a presentation of his research yesterday – and I decided to come and listen. Like me, he has an interest in CS and Math education and tools for the same. He’s got a different approach, than I do, though.

He presented a notation for formal proofs of correctness, and proposed a tool to help undergrads produce these proofs by providing available “next lines” for the proof. I cringed a little every time he said his notation was “proven consistent and complete” (If so, he’s got something bigger than a thesis project on his hands), but mostly I wanted to know why he thought it would be at all helpful. He and his adviser had a thought that it would make exploring possible proofs less tedious, and so on. Maybe, but from what I’ve read, the parts of writing such a proof that students have most trouble with are parts that are almost invisible to this tool – understanding definitions, moving between levels of formality, and so on.

It’s something that frustrates me about some CS research. You make a tool, then see if it helps. And you design the tool based on your own conceptions. My officemate is a nice guy, but he’s one of the people I know who is most into formalisms and notation. He doesn’t approach proof like most mathematicians I know, who have a more “holistic” kind of approach where they move between levels of rigour.

We took a mathematical course together last year, and I noticed that he didn’t do the same sort of “frame of reference” shifting I like to do – turn a question about codes into a question about vector subspaces or fields, or proving non-existence by contradiction (my favourite kind of proof). He really did approach proofs in a step-by-step manner, applying a known law or transformation at a time. We both did well, so I don’t want to say my approach is better. I do think, from what I’ve read, it’s more like the average mathematician’s approach – my undergrad profs must have trained me well for the discipline I’ve abandoned.

I did convince him he should read a little about mathematics and computer science education research. I put a lovely paper about learning formal proving on his desk – I’m hoping to get talking with him about it. If he is willing to consider the way learners really do think about proof, I’d love to help him develop this tool. I might have to sell him a bit more on this, though.

November 16, 2008

Philosophical Ponderings

Posted in Uncategorized at 8:46 pm by carolynresearch

I read a book on Friday, “Proofs and Refutations” by Imre Lakatos. A lot of the mathematics education papers I’ve read reference it, and there was a copy in the Math and Stats library, so I decided to give it a read. Much of it is a discussion between students and a teacher in a class, defining and proving things, with a commentary about what has been done. How do they approach a conjecture? What is a proof? How do you decide what is a weakness in a definition, as opposed to a weakness in the proof itself? They start with a conjecture that in a polyhedron, Vertices – Edges + Faces = 2. From that comes a proof, counterexamples, proof analysis, formalism, and an anti-formalist and anti-positivist look at mathematical methodology and intuition. He argues that if we consider mathematics to be simply formal mathematics, well, it becomes boring. The situational logic of informal mathematics isn’t blind guessing, and it isn’t mechanistic.

I found it very interesting, and reminds me how much work has been done on the philosophy and methodology of mathematics. And personally, I like any book where they talk about “Monster-Barring”, and where the almost impenetrable math jargon emerges, is challenged, and tamed.

Reflecting on this, I wonder if computer science should be considered more like mathematics than engineering. I mean, the proof analysis discussed really looks like code review or debugging if I squint just a little. I haven’t read much about the philosophy of engineering – and I think it might be a useful thing to think about.

I remember a couple years back, I took a psychology course and got into a conversation with another student who was into philosophy. He said that physics has an established philosophical basis, and psychology doesn’t, and psychology needs that in order to proceed. I have since learned just how much of the philosophy of physics is not fixed and fully understood. It’s made me think of philosophy of science as a more living thing – not the prescriptive formulae that some philosophy undergrads seemed to tell me about, but an implicit understanding of what “doing science” means.

I’m not even sure what a philosophy of computer science would look like. I’m not at all sure if there’s much out there about it. I should get back to work on my thesis, but once that’s under control, I might go look around for such a thing. I’m hoping to learn some more math in my PhD courses, but I’m also starting to see the value in these fuzzy, squishy ideas that I used to dismiss and not rigorous enough.

November 12, 2008

How about a scheduling problem?

Posted in Uncategorized at 8:26 pm by carolynresearch

Take five students, each taking three courses and TA-ing one course. Some aren’t morning people, so forget about any times before 10am. Add meetings, outside commitments, a couple part-time jobs, and so on.

How many 1.5 hour slots are exist in which all five students area available?

Current hypothesis – none.

The cranky part of me wonders why I’m doing an empirical study. I could have done coding, or math. Algebra and code are always available.

November 10, 2008

“Customers don’t know what they want”

Posted in Uncategorized at 9:20 pm by carolynresearch

I took a bit of my afternoon break flipping though “Joel on Software”, the first thing to catch my eye on the bookshelf in the debugging room. In chapter 25, he makes the statement that I objected to:

“Customers don’t know what they want. Stop expecting customers to know what they want.”

To me, that’s a very patronizing statement. Perhaps customers don’t know what architecture they want, or what technologies need to be put into play. Maybe they don’t know exactly what a solution to their problem will look like. But a customer willing to spend money usually has a problem they need solved.

They need to create reports to comply with a new tax law, or with the new privacy regulations. The trains need to come less than one minute apart during peak hours 99% of the time. The machine can’t ever release an empty milk crate. They may not know PHP from a hole in the ground. They may think you are the stupid one, though, becauseyou don’t understand why two kinds of investments are completely different.

This idea that customers don’t know what they want seems to come from people who don’t think there’s a difference between what a customer wants, and what a programmer needs to do to give the customer what they want. The customer may not be able to communicate what they want very well. If they are asked, maybe they’ll describe a solution they’ve seen, or give their own guess as to what the finished solution will look like. But maybe what these customers who don’t know what they want really need is someone who takes the time to listen to what they really want, rather than expect a non-programmer to know how to solve their own software problem.

(In other news, I finished writing up all the relevant math research for my literature review…or at least all that I’m going to write up for the first draft. If this computer science thing doesn’t work out, well, I can always ghostwrite math education theses – heh)

Previous page · Next page