Showing posts with label Carnegie Mellon University. Show all posts
Showing posts with label Carnegie Mellon University. Show all posts
Wednesday, January 16, 2013
Friday, December 21, 2012
Students' Revelations about ImNotSure and Static Analysis
A small note on students reacting to ImNotSure.
Thursday, October 18, 2012
End-user Architecting
Instead of Intro
Software is eating the world. It's everywhere these days: all those computing devices around us are not trivial electronics anymore. They provide computational platforms for the more malleable and complex substance of software. On the one hand, we just got ourselves a new pain. On the other hand, we can now achieve much more with little cost.
Many companies, who stayed far away from the traditional computer business, are now in the business of writing software. Banks, casinos, hospitals, supermarkets, car manufacturers, and many others. Moreover, their competitive advantage now depends on how well they handle software development. Outsourcing, being a tricky thing on its own, helps fewer companies than we would expect. Who wants to give away their critical IP (making it a potential lawsuit subject) and completely rely on third parties in very sensitive and specific tasks that span the whole business?
The described tendency results in plenty of non-professional programmers (end users) writing code. A vast majority of scientists and engineers write lots of low-level code. People who handle data face the challenges of spreadsheets and SQL. All that without really knowing the pitfalls of software engineering, which are internalized by students in software-related classes. In 2005 Chris Scaffidi (an alumnus of my current program) estimated an order-of-magnitude difference between the numbers of professional programmers (3 mln) and end user programmers (90 mln) in American workplaces.
As a response to the huge numbers of end-user programmers, the research field of end-user software engineering has been opened. It is concerned with providing useful and usable abstractions and tools for end-user software engineers, which might not have much training and expertise, but still have to do their job. The field encompasses not only the programming activity (which undoubtedly was the "founding father), but also such things as end-user requirements engineering and end-user testing.
End-User Architecting
The idea originated in our ABLE Group was to extend the above consideration to the counterparts of software architects in the end-user world -- end-user architects. Such users compose systems from components at relatively high levels of abstraction. They have to consider quality attributes, tradeoffs, different configurations and prototypes, just as software architects do. These activities are often more challenging than programming because they involve making uncertain decisions in the face of numerous concerns. We termed this activity end-user architecting.
Despite these challenges, there is little to no tool support for end-user architects. They often have to tamper with low-level scripts and tools in order to assemble a system they want. This is a tedious and error-prone process, which has much to be optimized.
Recently we wrote a paper about our case studies of end-user architecting. We took several existing platforms for end-user architects (one for social analysis, one for brain imaging, and one for intelligence analysis) and tried formal architectural modeling as a means of helping end-user architects achieve their goals. We also described our perspective on what kinds of things end-users may need in the future. I think the abstract summarizes the paper well:
Within an increasing number of domains an important emerging need is the ability for technically naive users to compose computational elements into novel configurations. Examples include astronomers who create new analysis pipelines to process telescopic data, intelligence analysts who must process diverse sources of unstructured text to discover socio-technical trends, and medical researchers who have to process brain image data in new ways to understand disease pathways. Creating such compositions today typically requires low-level technical expertise, limiting the use of computational methods and increasing the cost of using them. In this paper we describe an approach, which we term end-user architecting, that exploits the similarity between such compositional activities and those of software architects. Drawing on the rich heritage of software architecture languages, methods, and tools, we show how those techniques can be adapted to support end users in composing rich computational systems through domain-specific compositional paradigms and component repositories, without requiring that they have knowledge of the low-level implementation details of the components or the compositional infrastructure. Further, we outline a set of open research challenges that the area of end-user architecting raises.
Vishal is currently working on something amazing for end-users. If it's not amazing, he's not getting his PhD any soon. I bet he would've written all this text much more elegantly. He would've reached for your souls and started the fire of end-user compassion there.
Friday, April 20, 2012
CMU ITA Test: Passed
Background
For those not concerned, Carnegie Mellon University performs blatant discrimination of non-native English speakers via the International Teaching Assistantship test (ITA). The policy is: if you are a foreigner and you want to be a Teaching Assistant (TA) at CMU, you need to pass the test. No matter what you do---from grading assignments to giving lectures---you have to take it before.
The ITA test is conducted by the Intercultural Communications Center, a constituent of CMU. This center also provides seminars, workshops, and classes for non-natives.
The ITA test potential results are as follows:
The essence of the test is that a student has to give a 5-minute (strictly timed) talk with a randomly selected topic (from his proficiency area) using only a whiteboard and a marker.
Motivation
CMU needs the ITA test in order to comply with the PA state law that requires that all TAs are certified. By the way, the law does not establish any competitive standards for the test, categories, or anything.
The ICC needs the test to motivate its own existence: they need people to spend time in their classes, and the ITA test puts the people in the classes. Since the ICC sets the rules and categories as well as conducts the testing, I see a small conflict of interests here.
Preparation
This is the crux of this post. In preparation for the ITA test, you need to get a set of things into your mind and be able to check if your speech complies to all these requirements. In case it does not, you need to adjust it immediately. I give italicized examples to several points below.
So, my list of ITA test strategies:
You are graded based on a similar checklist. Your category is determined by the average of all those scores.
The Test
Well, you just go into a room with the ICC staff, they promptly pick you a topic, and without any preparation you start talking.
The test worked out pretty well for me. I scored in category 1 on April 16, even though I didn't actually expect that. I'm free and happy now.
For those not concerned, Carnegie Mellon University performs blatant discrimination of non-native English speakers via the International Teaching Assistantship test (ITA). The policy is: if you are a foreigner and you want to be a Teaching Assistant (TA) at CMU, you need to pass the test. No matter what you do---from grading assignments to giving lectures---you have to take it before.
The ITA test is conducted by the Intercultural Communications Center, a constituent of CMU. This center also provides seminars, workshops, and classes for non-natives.
The ITA test potential results are as follows:
- Category 4: you suck and cannot TA anything.
- Category 3: you better have a TA position where you wouldn't interact a lot with people because their ears bleed when you talk. Please spend 15 hours per semester in ICC classes to improve your English.
- Category 2: you're basically a loser because you can TA whatever you want, but you have to spend 15 hrs/semester of your precious time in ICC classes.
- Category 1: You're cool and owe nothing to the ICC anymore.
The essence of the test is that a student has to give a 5-minute (strictly timed) talk with a randomly selected topic (from his proficiency area) using only a whiteboard and a marker.
Motivation
CMU needs the ITA test in order to comply with the PA state law that requires that all TAs are certified. By the way, the law does not establish any competitive standards for the test, categories, or anything.
The ICC needs the test to motivate its own existence: they need people to spend time in their classes, and the ITA test puts the people in the classes. Since the ICC sets the rules and categories as well as conducts the testing, I see a small conflict of interests here.
Preparation
This is the crux of this post. In preparation for the ITA test, you need to get a set of things into your mind and be able to check if your speech complies to all these requirements. In case it does not, you need to adjust it immediately. I give italicized examples to several points below.
So, my list of ITA test strategies:
- Speech
- Be slow! No, even slower! The slowest speed reasonably possible! So that a bunch of pedagogues could listen to you, understand you, take notes, and think up questions.
- Stress: A formula used in the ICC is: louder, longer, pause [on the important word].
- Intonation: the classic American staircase step-down intonation with pitch jumps on important words. BAB is an awesome guide.
- Individual phonemes: if you said [ah] instead of [eh], just go back and correct yourself. Much better than have them complain about your pronunciation.
- Gestures: don't do anything wild. Don't stay still. Your gestures should help listeners understand what the hell you're talking about.
- Talk organization
- An attention-catching opener: I know how to save billions of dollars today.
- An overview of the talk: first, I will talk about pipes, then about pipelines, and finally about piperlines.
- A coherent flow of ideas:
- Roses are red,
- Violets are blue,
- Cows are fat,
- And so are you.
- Reliance on the board: draw stuff there and refer to it. They like it.
- Final highlight: what I want you to remember from this talk is that all of us are mortal.
- Explanation
- Teacher's language: the Bayes theorem is counterintuitive, so here's how I prefer to think about it...
- Analogies. Be sure to explain how the analogy is related to the topic, what the similarity is, and what your conclusion is. A poor analogy is like a kitten and a mirror.
- Examples. 3rd Newton's Law of Motion: for every action, there is an equal and opposite reaction. For example, if I punch you in the face, I will fail the ITA test.
- Definitions. A is B that is C - that's the form they like. You may want to use a "near miss" definition: A is almost like B, but C in A is different.
- Audience participation
- Eye contact: make sure to check back with the listening professors once in a while. Otherwise, they start feeling terribly lonely.
- Opening questions: have you ever thought how animals manage to survive Winter?
- Polls: how many of you ever used a debugger?
- Ask confirming questions: did I put that clear? Never ask whether they were able to understand as it puts the responsibility on them, which is not considered right in the American speaking culture.
- Let them prove themselves worthy and throw you a question or two.
You are graded based on a similar checklist. Your category is determined by the average of all those scores.
The Test
Well, you just go into a room with the ICC staff, they promptly pick you a topic, and without any preparation you start talking.
The test worked out pretty well for me. I scored in category 1 on April 16, even though I didn't actually expect that. I'm free and happy now.
Thursday, September 8, 2011
Classes at CMU: First Impressions
Let me skip the intro and jump to what positively impressed me in how classes are taught at Carnegie Mellon.
Saturday, September 3, 2011
My CMU Office
So I dare say that I've finally set up my new office place, and I can share some photos of it now.
Thursday, August 11, 2011
Wean Hall
One can think that it's one of the most conservative (or even ugly) buildings on CMU campus, but it's still very impressive.
Monday, August 8, 2011
Carnegie Mellon Campus
Subscribe to:
Posts (Atom)