Are the recent CS graduates from India that bad?

In the recent couple of weeks, I had not found much time to check out blogs on a very regular basis. But today I did find some free time, and so I did do a routine round-up of the blogs. In the process, I came across a couple of interesting posts by Prof. Dheeraj Sanghi of IIIT Delhi. (Yes, it’s IIIT Delhi, not IIT Delhi.)

The latest post by Prof. Sanghi is about achieving excellence in Indian universities [^]. He offers valuable insights by taking a specific example, viz., that of the IIIT Delhi. I would like to leave this post for the attention of [who else] the education barons in Pune and the SPPU authorities. [Addendum: Also this post [^] by Prof. Pankaj Jalote, Director of IIIT Delhi.]

Prof. Sanghi’s second (i.e. earlier) post is about the current (dismal) state of the CS education in this country. [^].

As someone who has a direct work-experience in both the IT industry as well as in teaching in mechanical engineering departments in “private” engineering colleges in India, the general impression I seem to have developed seemed to be a bit at odds with what was being reported in this post by Prof. Sanghi (and by his readers, in its comments section). Of course, Prof. Sanghi was restricting himself only to the CS graduates, but still, the comments did hint at the overall trend, too.

So, I began writing a comment at Prof. Sanghi’s blog, but, as usual, my comment soon grew too big. It became big enough that I finally had to convert it into a separate post here. Let me share these thoughts of mine, below.

As compared to the CS graduates in India, and speaking in strictly relative terms, the mechanical engineering students seem to be doing better, much better, as far the actual learning being done over the 4 UG years is concerned. Not just the top 1–2%, but even the top 15–20% of the mechanical engineering students, perhaps even the top quarter, do seem to be doing fairly OK—even if it could be, perhaps, only at a minimally adequate level when compared to the international standards.

… No, even for the top quarter of the total student population (in mechanical engineering, in “private” colleges), their fundamental concepts aren’t always as clear as they need to be. More important, excepting the top (may be) 2–5%, others within the top quarter don’t seem to be learning the art of conceptual analysis of mathematics, as such. They probably would not always be able to figure out the meaning of even a simplest variation on an equation they have already studied.

For instance, even after completing a course (or one-half part of a semester-long course) on vibrations, if they are shown the following equation for the classical transverse waves on a string:

\dfrac{\partial^2 \psi(x,t)}{\partial x^2} + U(x,t) = \dfrac{1}{c^2}\dfrac{\partial^2 \psi(x,t)}{\partial t^2},

most of them wouldn’t be able to tell the physical meaning of the second term on the left hand-side—not even if they are asked to work on it purely at their own convenience, at home, and not on-the-fly and under pressure, say during a job interview or a viva voce examination.

However, change the notation used for second term from U(x,t) to S(x,t) or F(x,t), and then, suddenly, the bulb might flash on, but for only some of the top quarter—not all. … This would be the case, even if in their course on heat transfer, they have been taught the detailed derivation of a somewhat analogous equation: the equation of heat conduction with the most general case, including the possibly non-uniform and unsteady internal heat generation. … I am talking about the top 25% of the graduating mechanical engineers from private engineering colleges in SPPU and University of Mumbai. Which means, after leaving aside a lot of other top people who go to IITs and other reputed colleges like BITS Pilani, COEP, VJTI, etc.

IMO, their professors are more responsible for the lack of developing such skills than are the students themselves. (I was talking of the top quarter of the students.)

Yet, I also think that these students (the top quarter) are at least “passable” as engineers, in some sense of the term, if not better. I mean to say, looking at their seminars (i.e. the independent but guided special studies, mostly on the student-selected topics, for which they have to produce a small report and make a 10–15 minutes’ presentation) and also looking at how they work during their final year projects, sure, they do seem to have picked up some definite competencies in mechanical engineering proper. In their projects, most of the times, these students may only be reproducing some already reported results, or trying out minor variations on existing machine designs, which is what is expected at the UG level in our university system anyway. But still, my point is, they often are seen taking some good efforts in actually fabricating machines on their own, and sometimes they even come up with some good, creative, or cost-effective ideas in their design- or fabrication-activities.

Once again, let me remind you: I was talking about only the top quarter or so of the total students in private colleges (and from mechanical engineering).

The bottom half is overall quite discouraging. The bottom quarter of the degree holders are mostly not even worth giving a post X-standard, 3 year’s diploma certificate. They wouldn’t be able to write even a 5 page report on their own. They wouldn’t be able to even use the routine metrological instruments/gauges right. … Let’s leave them aside for now.

But the top quarter in the mechanical departments certainly seems to be doing relatively better, as compared to the those from the CS departments. … I mean to say: if these CS folks are unable to write on their own even just a linked-list program in C (using pointers and memory allocation on the heap), or if their final-year projects wouldn’t exceed (independently written) 100+ lines of code… Well, what then is left on this side for making comparisons anyway? … Contrast: At COEP, my 3rd year mechanical engineering students were asked to write a total of more than 100 lines of C code, as part of their routine course assignments, during a single semester-long course on FEM.

… Continuing with the mechanical engineering students, why, even in the decidedly average (or below average) colleges in Mumbai and Pune, some kids (admittedly, may be only about 10% or 15% of them) can be found taking some extra efforts to learn some extra skills from the outside of our pathetic university system. Learning CAD/CAM/CAE software by attending private training institutes, has become a pretty wide-spread practice by now.

No, with these courses, they aren’t expected to become FEM/CFD experts, and they don’t. But at least they do learn to push buttons and put mouse-clicks in, say, ProE/SolidWorks or Ansys. They do learn to deal with conversions between different file formats. They do learn that meshes generated even in the best commercial software could sometimes be not of sufficiently high quality, or that importing mesh data into a different analysis program may render the mesh inconsistent and crash the analysis. Sometimes, they even come to master setting the various boundary condition options right—even if only in that particular version of that particular software. However, they wouldn’t be able to use a research level software like OpenFOAM on their own—and, frankly, it is not expected of them, not at their level, anyway.

They sometimes are also seen taking efforts on their own, in finding sponsorships for their BE projects (small-scale or big ones), sometimes even in good research institutions (like BARC). In fact, as far as the top quarter of the BE student projects (in the mechanical departments, in private engineering colleges) go, I often do get the definite sense that any lacunae coming up in these projects are not attributable so much to the students themselves as to the professors who guide these projects. The stories of a professor shooting down a good project idea proposed by a student simply because the professor himself wouldn’t have any clue of what’s going on, are neither unheard of nor entirely without merit.

So, yes, the overall trend even in the mechanical engineering stream is certainly dipping downwards, that’s for sure. Yet, the actual fall—its level—does not seem to be as bad as what is being reported about CS.

My two cents.

Today is India’s National Science Day. Greetings!

Will stay busy in moving and getting settled in the new job. … Don’t look for another post for another couple of weeks. … Take care, and bye for now.

[Finished doing minor editing touches on 28 Feb. 2017, 17:15 hrs.]

More on the project ideas. Also, a new CFD software benchmark-cum-shop-floor test.

Update added on 2015.05.17; check out the near the end of this post.

* * * * *   * * * * *   * * * * *

More on the project ideas:

In my last post [^], I had given a description of 3 different ideas for student projects. I would be interested in guiding all these projects in the near future, once I get a suitable job.

If you had gone through my earlier post about my current research interests [^], you would have sure noticed how the project idea no. 2 and 3 relate to my current research in computational modeling of the ceramic injection moulding (CIM) process.

These ideas are basically meant to provide reliable experimental bench-marks for validating separate aspects of the software that I will be writing. (I am still considering and reconsidering the issue of whether to write the software starting from the scratch, or only adapt/extend OpenFOAM.)

The project idea no. 3 (viz., paste-filling in cavity) completely keeps out the aspects of heat transfer and phase transformations, and instead selectively focuses on the aspect of mould-filling using a non-Newtonian material. Thus, if the momentum equations are handled right, predictions about the progress in the filling and the instantaneous shapes of the front at different times would be accurate. If not, the software would have to address only the momentum equations, but with better models/parameter values for the wall friction, viscosity, and surface tension.

In contrast, the project idea no. 2 (viz., melting of wax by a source) tries to selectively focus on the heat transfer and phase transformation aspects, but without significantly involving any momentum transport. (It is anticipated that the symmetry of the configuration means that convection within the molten wax would not be of much significance. However, this part, too, will have to be carefully looked into, at a later stage.)

The CIM process itself involves a liquid-to-solid phase transformation. In contrast, what the idea no. 2 models is the opposite phase transformation, viz., from solid-to-liquid. However, it does have a travelling interface. If the software handles the energy equation, the phase-transformations, and the motion of the liquid-solid interface right, then the speed of the interface should get predicted accurately. If not, the software development work would have to selectively focus only on this part.

Thus, the two project ideas split up the CIM process into two different parts. The reason is the complexity of such problems—the accurate predictions of the instantaneous positions of the moving boundary.

I was only partly successful while comutationally modeling the melting snowman (which I did during my PhD research). The software I wrote had qualitatively predicted the evolution of the shape right, but the speed of the evolution was quantitatively off the mark. I therefore knew that I had to further simplify even just this much part: of transient heat transfer, phase transformation and moving interface, but without any momentum exchanges involved in it. The project idea no. 2 tries to do precisely that: simplify just the heat-related part even further.

In the case of the melting snowman, the outer boundary happens to be the singular location where all the action happens: heat enters, phase-transformation occurs, and then, importantly, the resulting liquid gets drained away, traveling under gravity over the outer surface, and in the process exposing a new surface for the heat to enter, and also moving back the phase-transformation interface. The process thus has a kind of a loop built into it, and so, despite the apparent simplicity, from a modeling viewpoint, it actually is quite complex. Something went wrong with the timings at which the successive processes took place in the simulation. But I could not reliably locate precisely where; I didn’t have any experimental data to be able to do so. My experimentation was too simple; I could not get funds for instrumented data logging, and therefore, I had to remain content with just photographically capturing the outer profiles at successive instants; continuous monitoring of temperatures at various points within the volume of the snowman was not possible.

The current project idea tries to rectify the situation. It reduces the complexity a bit further, by completely doing away with the draining part—the molten wax remains in the jar.

However, in the process, I now realized, the experimental part has become perhaps a bit too simple for a project at the ME level. Some more work could be thrown in. So, here are two possibilities:

1. Also model solidification of wax (instead of only its melting). The liquid-to-solid is anyway the direction of the phase transformation in the actual CIM process.

The simplest model to try would be just to take an instrumented jar, pour some molten wax in it, and let it solidify. If the predictions for the solidification front—its shape and size at various times—are accurate enough, then well and good.

Realize that the project idea no. 2 (viz., wax-melting using a rod for heat input) remains absolutely essential, because experimental errors involved in determining the geometry of the phase transformation front are minimal in it: the boundary of the front has a very simple geometry (ideally, circular on the top surface), and its biggest section remains at the top surface, and therefore easily visible, throughout the process. For both these reasons, its motion would be very accurately measurable. In contrast, in solidification studies, the shape of the solidification front would remain more complicated. Further,  since the front would lie interior to the block, it would not be as easy to measure ina continuous nondestructive manner.

2. Another idea is related to bench-marking and testing. I will later on post this part (may be with a little additions and editing) on iMechanica and CFD-related fora, so as to solicit some informal comments about it. Let me note down a preliminary description here, in the next section.

* * * * *   * * * * *   * * * * *

A new software benchmark-cum-shopfloor test:

In CFD, the utility of suitable bench-marks is well-established. Think of some typical cases: flow through a converging-diverging channel, flow at a corner or at a T-joint, lid-driven flow with formation of vortices at the corners, flow past an obstacle or over a step and the resultant vortex shedding, the Ahmed body, the Rayleigh-Taylor instability, the dam-break simulation, the falling droplet, etc. These have proved very helpful in validating CFD techniques and software codes/packages—at least for comparing different packages against each other. The idea I propose is in a similar vein.

The proposed experiment is very simple to perform, and yet, it is expected to be very useful. At least I am convinced about its utility enough that I have decided to write a short journal paper on it, just for proposing this test—I mean just for putting forth only the idea of the test, without performing any experimentation/simulation involving it.

Here is the idea.

Take a small solid object, say, a ball-bearing ball made of alloy steel, or a small machined cube of copper, or a small cone of brass. (The surface roughness would need to be specified.)

Hold the object at a suitably high temperature for a sufficiently long of time that it develops a steady temperature throughout its section. Or, assuming that it initially has  been at the room temperature for a sufficiently long time, now place it inside a furnace (or over a hot-plate) of a well-controlled constant temperature for a specified period of time. Basically, the idea is that we come to specify the entire temperature profile of the object.

Take a block of wax of a specified grade i.e. material properties. (Shape and size is to be given some thought, and the issue is to be finalied after some preliminary experiments.) Drill a small hole of a specified shape and size at the center of its top surface. The size of the hole should slightly exceed that of the heated small object.

Place the block snugly fitting inside a well-insulated enclosure (of specified dimensions and material/properties). Or, may be, just place it on a ceramic tile on the laboratory table. (This in fact should work better.)

Rapidly take the small object out of the furnace (or from the hot plate) and gently place it in the hole drilled in the block of wax.

Initially, the hot object will give off its heat to the air above and to the portions of the wax block surrounding it, and so, the wax will melt locally. The object being heavy will displace the molten wax underneath, and thus it will slide deeper into the block. The molten wax will rise from the side-ways. The object will soon get completely covered with a layer of the so-molten wax now convected also onto its top surface. Simultaneously, the column of the molten wax above the object will begin to solidify from the top, by giving off its heat to the air as well as to the surrounding unmolten portions of the block. Also, the heat of the object will continue to get transferred to the wax, and so, its own temperature will go on dropping down, even as it slides down. All these processes will continue until a time when the temperature of the object goes below the melting point of the wax, and so, unable any more to melt the wax, it will come to a stand-still. All of the molten wax wouldn’t have solidified by this time, and so, so we have to wait a little longer for this to happen.

Then (i.e., after waiting for sufficient time), carefully cut through the block, and measure the shape of the region of the wax affected by the heat—in particular, the depth of penetration.

The software should be able to accurately predict the extent of the heat-affected zone, esp. its depth, say as measured by the penetration depth of the object.

This experiment is very simple to perform—it involves no instrumentation. Yet it yields a very specific measure, viz., the extent of the heat affected zone, and most particularly, the depth of the penetration.

However, the process involved in the test is expected to pose a sufficiently difficult case for any CFD software to handle. There is transient heat transfer in two different phases, two successive phase transformations (solid-to-liquid, and then, also liquid-to-solid), convection of liquid wax, buyoancy effects for both the molten wax and the hot object, and motion of the solid-liquid interface. Yet, the overall geometry remains simple enough.

In CFD, people have been studying things such as rising of bubbles and rising/falling of droplets of a second-phase fluid. The process here is somewhat similar.

It is anticipated that during the experimentation, the test should also show good repeatability, provided the wax is homogeneous, and different blocks carry the same material properties.

For processes such as the CIM, the proposed test should be of definite help in two completely different ways: not just as a benchmark for validating software, but also in industrial practice, as a convenient shop-floor test for characterizing the feedstock (i.e. for the routine process quality-control purposes).

For the latter purpose, the feedstock would have to be pressed into the form of a block. This may be achieved via simple cold-pressing, say by filling the feedstock in a container of a square base and then simply placing a specified weight on its top for a specified period of time. These aspects need to be looked into and finalized after some preliminary experimentation.

* * * * *   * * * * *   * * * * *

Update added on 2015.05.17:

This update concerns the software benchmark. A couple of points occurred to me after publishing the post.

1. Note the difference of this test from the hot penetration test of bitumen, or the hot hardness test of metals.

In the proposed test here, the hot object gets completely immersed within the wax block. We are interested not only in melting, but also in the relative motion between the hot and cold objects even as cooling takes place simultaneously. Further, we are also interested in solidification. Finally, unlike those two tests, we are not interested in measurements of forces.

(Indeed, when I thought of this idea, the hot hardness/penetration tests were not even in my peripheral awareness; I was just trying to have as simple a test suitable for processing like CIM, as might be possible.)

2. On the second thoughts, completely doing away with instrumentation may not be such a good idea.

Going by my experience of simulating the melting snowman (as well as my browsing of the transient simulations, and their experimental validations), I think that if this test is to be used as an experimental benchmark for software validation (rather than just as a quick quality-control test on the shopfloor), then it should also specify measuring the precise positions of the hot object at different times, and not just the final depth of penetration it reaches.

In other words, the software should be able to predict the times required to reach the intermediate positions, too, accutately. The intermediate times would come out right only if the software handles the entire process right.

Coming to timings, we should not ask only for the final time when the object comes to a rest. After all, it is possible that the computational technique is such that it errs on the intermediate timings, but it does so in such a way that these errors get cancelled out, and so, the total time taken for the object to come to a rest still is predicted right. Such computational techniques will still not be reliable for modeling the actual CIM processing. So, the time-position profile is of primary importance.

Since the wax (and feedstock in general) is not transparent, for experimental measurements of positions, we cannot use light, and so, a simple technique like video shooting wouldn’t work.

However, since the hot object anyway would be metallic (read: electrically conducting), it would always be possible to sense its internal positions using electromagnetic induction. From my experience of the eddy current NDT, I think, it wouldn’t necessarily have to be an LVDT, and the sensing coil wouldn’t have to necessarily enclose the entire block of wax. If my feel is right (though this will have to be determined after a bit of a trial), a simple “one-way” coil placed on one side of the wax block, should also turn out to be sensitive and accurate enough. Of course, the issue of a differential vs. a direct solenoid is something that needs to be looked into separately.

Now, inductive sensing does make the test much more complicated—you have to firsst calibrate the output of the sensing coil. However, realize, the time-position measurements would be performed only in a laboratory, not under the routine production environments. So, it should be OK. …

… Research is always multi-disciplinary. Indeed, knowledge itself cannot be compartmentalized—regardless of what many influential academicians from the Savitribai Phule University of Pune evidently think. (Though, it was not to show them down that I wrote this post/update. I was mainly concerned only with the research, here.)

* * * * *   * * * * *   * * * * *

A Song I Like:

(Marathi) “manmohana juLatil naa, taaraa punhaa”
Music: Kedar Pandit
Singer: Ketaki Mategaonkar
Lyrics: ??

[There are two versions of this song, both by the same music director, the same singer, the same melody, and in fact, both also come in the same album! One is in the usual Marathi “bhavgeet” style, whereas the other one is in the “jazz” style. (Not quite jazz all the way through, but it does use some Western instruments someway along that genre.) Surprisingly, the melody fits both the styles so well! I honestly cannot decide which one I like better, though perhaps it’s an indication of my age that I am at times inclined ever so slightly towards the “bhavgeet” version. Or may be, it’s because of Kedar Pandit’s restrained but competent “tablaa” which comes only in that version. (I didn’t know anything about him, but the Wiki tells me that he accompanies Pandit Jasraj on all concerts.) Ketaki is young, and does have limitations to her voice, but the songs here have come out very well. May be with a little help coming in from all those track-editing and pitch-correcting software they all use these days. I don’t know really, but that could easily be the case. But it also is a fact that this kind of a melody would suit her well. And, in any case, the final outcome has come out pretty neat. That counts. … I was driving in the Pune city when I first heard the jazz version on radio, and wished I were driving through a lonely rural patch, instead. So, noted down the words, and looked up the ‘net later on. … Give both the versions a try, even if you don’t know Marathi.]


An evening by a candle light

Yesterday, it rained in Pune. The newspaper reports today suggested a heavy downpour; 102 mm in 1.5 (or 3) hours. But in the parts of the city where I live, it couldn’t possibly have been 10 cm; by my rough estimates, it seemed like, may be, about 5–6 cm, at the most, about 7–8 cm.

But closer to the point at hand, as is usual in Pune after about 0.00001 cm of rainfall anywhere within a 100 km radius of the city any time within a preceding 1 hour, the electricity was gone.

It was evening, and the clouds had made it a bit darker than what it usually would be at this time of the evening—about 7:30 PM or so. And so, I first stumbled around a bit to find a candle, then realized that I had a cell phone, and so, using its light, I searched for and found the candle, and lit it—I mean the candle.

But as soon as I brought the lit candle to my room, the stronger winds in my room blew it out.

I then remembered a certain gift that my Idea Cellular subscription had generated for me on my birth-day this year (or on the day the last year). It was a scented candle jar. It’s a nice little jar of glass, say about 6–7 cm in diameter and height, with wax filled up to, say, half way through. The jar is thus a nice little thing, and the color of the wax is very beautiful: a faint yellow. It’s actually more or less the same yellow as what Idea Cellular’s brand carries. On a computer monitor (or on the plastic-coated printed paper they un-necessarily insert in the newspapers) it sometimes looks almost pierceingly bright. But a more or less the same hue, now used for the wax, had become, may be due to the dullness of the wax, a very pleasantly soft yellow shade to look at. And, the scent they used for the wax also is nice. (Being a male, both my sense of scent and vocabulary come to an end right at this level of resolution discrimination.) So, all in all, a pretty and neat gift, it was. And, precisely for that reason, I had not yet used it thus far. In the middle-class India, we naturally develop this habit of procrastinating when it comes to using up beautiful things like that.

However, in the faint light of my cell-phone, I now noticed that the level of the wax was such that if the candle were to be lit, its flame would rise up to a level that is only so slightly below the open top end of the jar. If a strong wind were to blow horizontally over its top, how would the flame behave? How fast would it flicker? Would it go out?

To preserve the battery of the cell-phone, I switched it off, and then decided to spend a little time trying hard to very carefully consider the decision: whether to use this candle in the jar right away or not. I could not succeed in it—I mean, in pursuing a nice, prolonged, fair, even-handed, two-sided, balanced, etc. kind of a vacillation about it. There were issues of engineering importance here, and about a minute had already been wasted by now. Thusly, I assured myself to my entire satisfaction that I had waited for a sufficiently long time in very carefully considering the decision. And so, I grabbed that candle-in-the-jar, lit it up, and brought it to my room.

The flame fluttered. But, no, not even the relatively strong winds would put it off.

The lights (I mean the electricity) came back a little while later. But, a couple of ideas for student projects had been born, in the meanwhile. I mean, projects at the master’s level; in particular, in mechanical engineering; and in more particular, in CFD. Here I am going to share these with you.

No, I no longer much care whether I divulge such ideas on the ‘net or not. If someone on the ‘net steals my ideas, he/his work would sure come up during my regular searches, and then I would make him feel ashamed. At least, I would bring out the theft to the notice of the research community. That would be enough for me.

Just one more point before we proceed. While reading the project descriptions, if you catch yourself thinking whether these are serious projects in mechanical engineering proper or not, do one exercise after you finish reading their descriptions: (i) note down the more advanced features of the equipment and experiments, and especially of the CFD simulations/software development, (ii) note down the ranges of the parameters involved in these experiments, perform some dimensional analysis, and then, (iii) think, do ‘net searches, discuss with other people, and thereby come up with at least three separate industrial applications for each.

If you cannot do the last bit, then the next course of action depends on who you are:

(A) If you are a student, then realize that you can always do a project under some other professor, but not with me.

(B) If you are a professor of mechanical engineering yourself, send your resume to the engineering colleges in the Savitribai Phule University of Pune, including COEP; they always very highly appreciate professors like you.

Ok. Let’s now move on to the project ideas themselves.

Project Idea 1:

(2–4 PG students)

Build a longish channel of rectangular cross section out of perspex. Place it horizontally on a table top. Divide the volume of the channel into a few (say 3–4) sections, by inserting vertical perspex walls mounted at the bottom/side-ways, and going up to some 80% of the height of the channel. Let water run through the channel, say from left to right, at various controllable speeds. Sprinkle some tracers in the water, shine some bright light on it, and make a video of the flow. Image process the individual video frames and thus experimentally determine the local flow velocities. Extend and refine the experiment a bit. For instance, think of using a converging channel, channels with uneven thicknesses and depths, inclined obstacle plates, water with suspended particles, or using precision sensors for local water flow, etc. Perform a CFD analysis of all such flows, starting with modeling just one compartment as the lid-driven (but not oscillatory) flow, and then build in the increasing complexity in a step-by-step manner. Some students may focus entirely on writing/adapting software, whether in C++ or Python. Compare the simulations with the experiments. For instance, can you accurately predict the pressure drops across the successive chambers? Can you accurately predict the amount of precipitation of the sediments in the various compartments of the channel? Their location profiles?

Project Idea 2:

(1–2 PG students)

Take a glass jar of roughly the same dimensions as the one mentioned above (some 8–10 cm dia, and roughly the same height). Take some white candle wax, melt it, pour the wax into the jar, introduce some die in it, and let the melt solidify. The solidified wax should continue to show some die streaks. (If the die thingie doesn’t work, sprinkle some bright shiny particles such as the one they use at the time of the Ganapati decorations.) Take a thin copper rod (say 5–10 mm dia) and using the ordinary funnel-holding stand they use in the XI–XII chemistry labs, hold the rod vertically such that its bottom tip pierces the top wax surface to a measured depth (say 5 mm). Now, use a resistance heater (e.g. a circuit similar to that used in the ordinary soldering iron) to heat the copper rod at some distance below the holder. Attach a few thermocouples over the length of the rod between the heater and the wax; also insert a few at various places in the wax, and a few on the outer surface of the jar. Switch on the power supply and continuously record the temperatures at various places, using data-logging cards on a computer. Also, make a video of the wax undergoing melting. During image-processing, the streaks (or the embedded shiny particles) are expected to help locate the molten front. Make careful measurements, and model this process using CFD techniques.

One of the students may focus just on writing a custom-built software to simulate the process (or adapting existing Open Source software). In case you think this is a very easy problem, the answer is both yes and no. Yes, because simulations of melting and flow were done in the computer graphics field more than a decade ago; include in your ‘net search strings such as: “melting” + “flowing” + “Stanford bunny.” The answer is also a no, because as a mechanical engineering software, accuracy is of primary importance to us; mere attractive or realistic looking graphics with fluid dynamical approximations wouldn’t be enough. And, the problem is, in a way, challenging: multiple phases, transient heat transfer with phase change, and a moving interface.

Project Idea 3:

(3–4 PG students)

Design and build a working machine to experimentally study how a toothpaste fills a mould cavity. The mould cavity should be made in some transparent material. In real experiments, for reasons of costs, it would be just a simple chalk-paste, not a bought out tooth-paste. Also design and build apparatus for, or otherwise conduct, suitable experiments to accurately characterize variables/parameters such as: viscosity, wall friction, surface tension, etc. The mould-filling machine itself should allow for variations in the geometry of the inlet, the ram velocity, etc. Make videos of the filling process. Model the process using CFD software and compare with experiment. Once again, the CFD simulation here is complicated: multi-phase flow, moving boundaries, and, more importantly, non-Newtonian fluid (and flow).

Additional possibility: use a shear-thinning material such as the tomato ketchup. Pursuade some one in the food-processing industry that this is worth-while project, and obtain a large supply of the ketchup for free. As to pursuading the faculty of engineering that this is not a research in agricultural engineering alone, leave that worry alone. As with the other projects here, if our results are good, we will publish them only in the mechanical engineering journal(s).

Some of the students may focus just on writing a custom-built software. The problem again is challenging because there is a multi-phase flow, with complex boundary conditions (wall-friction is variable and important, and surface tension is important), and also, there are both moving and coalescing boundaries.

Compare the simulation with the experiment.

* * * * *  * * * * *   * * * * *

Note: Each of the above projects could also use 2–4 undergraduate students. The mix is approximate; the depth of research and the intricacy and accuracy of experiments is always a variable: sometimes, conducting even simplest-looking experiments, or building a working software, can take students a long time to complete. It all depends, on a lot of factors—including the ability of the student and the amount of hard work he puts in.

* * * * *  * * * * *   * * * * *

A Song I Like:

[Yeah, sure, Mumbaikars, go ahead and say it: “angrez gaye to zaroor, lekin jaane se pahele, apani aulaad yahaan pe chhoD gaye.” Yes, the language is not a limitation at such times; Hindi, too, is perfectly acceptable at such times, even though, the same thing can of course be expressed also in “assal” Marathi: “ingraz ithun gele tar khare, paN (or better still, pan), jaataanna aapli aulaad maatr ithech soDoon gele.” Also laugh and/or heavily clap thereafter, or exchange friendly slaps with each other, in your typical style(s).]

(Western Classical)
Composer: Mozart
Work: The Piano Concerto no. 21 in C-major (k. 467)

[Esp. andante, esp. its opening part, e.g. as in here [^]. I have given this link because it appeared on the first page in a Google search. However, I now remember, I have also listened to some other recordings that I had liked even better (though I had not noted down their particulars back then). And, yes, I have in the past listened to the full concerto, too; it has… and how do I put it… an amazing variety of “texture” at different points. … Incidentally, though popular culture makes this tune all too familiar in the Western countries, and in fact these days also in India, the fact of the matter is, the first time I heard this piece of music was when I was in twenties (about three decades ago), and at that time, it had not yet appeared everywhere. In any case, I had not heard it in a bare-bones format any time earlier, until I listened to it on a cassette. And, I remember, it was a tune I had liked the very first time I had heard it. When it comes to the Western Classical music, that’s very rare for me. In fact, speaking off-hand, this tune is one of about only two tunes of Western Classical music that I had immediately liked right on my first listening. As far as the other tune is concerned, I don’t remember its name, nor do I any longer have the cassette where I had heard it, nor have I found it during my infrequent random searches of the Western classical music on the ‘net. Some day, I will make a recording of my humming of it, and put it on the ‘net just to be able to locate it. Anyway, enjoy this piece, and bye for now; guess I won’t bother much with this post any more.]


An idea for the final year student projects in CS departments

In this post, let me jot down an idea that is suitable for a final year project by the CS/IT undergraduates (or, in a suitably expanded form, also by the CS/IT post-graduates) in engineering schools. Or, students from other similar courses like the MCA, MSc (CS) etc. The idea is (to me) neat and useful, and not at all difficult to implement. Do consider it in place of those usual topics like railway reservation/airline booking system, payroll system, etc.

The idea is to create an online searchable database of the history of science topics, that gives out customized timelines as query outputs or reports over the ‘net.

The idea occurred to me while doing literature search for my book. (BTW, idiots in those humanities departments degrade the word “research,” by using it for such things as plain literature search. The management and marketing folks do worse: they call activities like the Gallup polls, “research.”)

So long as a time-line involves only tens of items, it is easy to manage its contents manually. As an example of a small time-line, see my previous blog post. (In fact, I got the items in that time-line in an almost fully ready-made form from Manjit Kumar’s book: “Quantum.”)

However, while preparing for the pre-requisites part of my planned QM book, I found that no suitable time-line existed in a ready-made form for those classical physics topics.

One reason is that the pre-requisites of QM are so very many and so very diverse. For a neat visualization of physics as it existed some 70 years ago, see the “1939 map of physics”[^].

Another reason is that the sources of the detailed historical accounts are, again, so very numerous, and not all of them are equally accurate, authentic, or detailed.

While accuracy and authenticity are important, as far as the design work for this particular project goes, I think that the issue of the non-uniformity of the available details is of much greater importance.  The original sources of information themselves are not equally detailed.  For instance, see the Wiki timeline on the luminiferous aether [^], and ask yourself: would any one of the Encyclopedia Britannica’s timelines concerning the aether ever be as detailed as this one?

Of course, the administrators of the database may not rely only on the existing timelines. They may consult books to feed the data to create more detailed timelines. Once again, issues like the unevenness of details and the matter of ascribing proper dates at a detailed level, come up.

For instance, consider the Fourier analysis. Most books mention 1822 as the date of its beginning. It’s wrong.

We don’t have any specific record to answer the question of the precise time when Fourier first thought of this idea of spectral decomposition. However, we do have some evidence which indicates that he began working on the problem of heat propagation in solid bodies as early as 1804, and that he had presented a paper on this topic to the Paris Institute as early as on 21st December 1807. Though Fourier wanted to publish the paper in print, he didn’t (or perhaps couldn’t) do so, because it ran into some criticism. (Off hand, I would suppose, from Poisson.) Fourier had only the sines, not also the cosines, in that first 1807 paper of his. Though important, relatively speaking, it’s a minor omission. What is more important is the fact that he had already had the big idea right, viz. that any arbitrary function could be expanded as (possibly an infinite) series. Now the funny thing is this. While Fourier didn’t know the necessity to include the cosines, neither did his critics. They were rather against the completeness aspect of his idea, viz., that any arbitrary function could be expanded in this way, even the discontinuous functions. On that count, he was on the right track. However, it was hard to convince the established critics. One way or the other, the paper didn’t get published that same year. He sent a revised draft to a competition of the French Academy in 1811, and won it.  The critics, however, still were not satisfied. Fourier ultimately wrote and published the further revised account some 15 years later, in 1822.

Most books will tell you that the Fourier analysis began in 1822. However, unless you take into account the 1804–1807 genesis of this branch of analysis, the overall historical progression does not appear as smooth as it should be.

The question then becomes, in a time line, what date would you include for reporting? 1804? 1807? 1811? 1822? All the four?

Some cases are even more intriguing, and possibly of more than trivial interest to a researcher. For instance, consider Schrodinger’s formulation of quntum mechanics. His very first paper (written in January 1926) is concerned about the famous non-relativistic wave equation, now bearing his name. Yet, even before that very first paper was written, in fact barely just a month before, in December 1925, Schrodinger had initially worked on a relativistic wave equation. It doesn’t work fully satisfactorily, and so Schrodinger worked out the non-relativistic version before sending it out for publication. But wouldn’t the fact that Schrodinger had those relativistic ideas right in the last month of 1925, be important while tracing the development of the relativistic QM? After all, physicists in that era were unusually open in their communications and collaborations. For example, Pauli had begun working on his paper merely on the basis of a draft of Heisenberg’s paper. (I mean the manual draft as well as detailed physics notes Heisenberg exchanged with him—not even the printer’s proofs let alone what today we would call the preprint.) Similarly, Pauli’s (1924?) idea regarding a two-valued quantum number was known to Goudsmit and Uhlenbeck when they proposed the electronic spin (October, 1925).

Should such details be entered into the database? Should there be an attribute specifying the granularity of information that is being carried by a database entry? Should the queries allow various levels of granularities to be included in the search results?

And, going back to Fourier’s case, suppose that your database initially includes an entry for only one of the three dates (1804—1807, 1811 and 1822). Someone points out the other dates to you (i.e. to the system administrators populating the database) only later on. How would you allow for the conciliations of data items like these, in a mechanical sort of a way? What software mechanism would you provide?

Would you handle it via some attributes of the individual entries  in the database? Would these attributes be finalized beforehand, say a pre-determined set like: “Initial Idea/Presentation/Publication/Revision” etc? Or would it be possible and desirable to keep the set of such attributes extensible—say, on lines similar to how you apply attributes or tags to your blog posts, complete with an intellisense feature that shows the already applied attributes? Can the overall structure thus be kept a bit fluid? Is a relational database the optimal data structure, given such objectives? How about the queries on it? Should they be sensitive only to the attributes, or to the “full text”?

I think these are just some of the questions that the students will themselves have to handle. Here, all that I am now going to do is to give some idea of how the usage scenarios would look like. In my description here, I will use the terms like database etc., but only in a broad sense—it doesn’t necessarily mean a traditional data structure like the relational database.

First, there will be a set of users who will populate the database using appropriate sources. They will have the authority to edit the database, and may be called system administrators. The database may sit on a remote secure Web server. The sys admins should be able to use, say, secure http-based (i.e. https-based) forms to edit the database, i.e. to add/modify/delete the entries.

Then there will be the end-users. The end-users should be able to access the database using plain http. Typically, they will use a user-friendly form to send their queries to the server over plain http, and get answers as reports consisting of Web pages. [More on this, in my next post.]

The database will, at the minimum, have information on the following attributes. (If this were an RDBMS, it will have the following as fields or columns): date, scientist, work, remarks, source reference (for the database entry—not the citation record itself), subject areas to which the entry belongs. Many of these attributes are tricky.

There are multiple meanings of “date” in a context like this. Some historical sources give dates only in years, others also in months, still other right up to the day and the time. For some advances, the dates are known only vaguely. For example: “He began working on it during the late 1820s, and continued up to 1826-end” or “fl. 1810s”, or “circa 3rd quarter of 1925”. The calender systems may have changed. Then, there are those BC dates. (Not all database software handle all the dates very smoothly anyway.) Sometimes, the date a scientist sent his manuscript may be more important than when it was published, but not always. Sometimes, the published accounts may be somewhat misleading: Newton did get the basic ideas of calculus right during that plague-related vacation, around 1666. Yet, it also is a fact that he still was working on many of the important calculus ideas in the few years before the publication in 1687 of the Principia. Newton didn’t have everything ready right in 1666, contrary to many stories you might have heard. (There has been a tendency to ascribe too much of a genius to the years of the early youth; wit a dim-wit like Hammings—dim-wit, when it comes to the age at which scientists created their best original ideas.)

The database must store the precise way the date was stated in the original sources. Yet, when a user sends in a query, regardless of the specific original recording, it should still be possible to sort out all the entries, with a certain smartness built into the system. The student will have to resolve the issue of how to put all the entries in (some sort of an) order—vague entries like “in the decade prior to the I WW” together with the more precise entries like “in the afternoon, after lunch, on October 7, 1900.” (Anyone knows what’s special with that time? I would be delighted to know from you!)

As far as this problem of sorting of entries of varying degrees of precision of time-specification is concerned, I do have an idea how it could be done. However, I would rather let the students try to work on it. [OK, I promise to give some hint in my next post on the topic.]

The “scientist” field may undergo changes. A plain guy like Thomson is the same as (the first Baron/Lord) Kelvin (after whom the temperature scale is named). “Snellius” is the same guy as Snell (of the laws of optics). A real gauntlet to us in the 21st century was thrown by a single Swiss family: There is a Daniel who, being one of a family, carries the same last name as Jacob, who is the same as Jakob is the same as Jacques is the same as James.  It doesn’t end there. Johann, is the same as John is the same as Jean, but different from James. And then, there are Johann-II and also Johann-III. Worse: Sometimes they had a feud in the open. The famous brachistochrone problem was posed because one brother tried to show the other brother down. (The other brother succeeded, together with Lebniz and his credits-wise adversary, the “lion’s paws”-bearing Newton.) There has been a son in that family who thought his father had taken credit really due to him. The point? Your user should not get confused, and should be given all the relevant information as to which Bernoulli it was.

Some users may be interested in getting a time-line of all the works of just “Newton.” Others may wish to access a similar information for “Isaac Newton, Jr.” … Yes, the falling apple guy was named after his father, though few people know it, and even fewer (if ever) add the “Jr.” suffix to his name. A more likely search string, especially if originating from a tiny island lying above France and to the west of, say, Finland, might be: “Sir Isaac Newton.”

The “work” field needs to have both succinct information (so that the idea of a time-line or an Excel spreadsheet like report makes sense), but also a place for additional informative details. For instance, less known or less advertised factoids like the fact that Leibniz didn’t originate the idea of the “vis viva,” but was inspired by its descriptions in Huygens’ writings. The additional details should perhaps be supplied only in a more verbose report, but the point is that the database itself should be well-designed that there is a systematic and unambiguous way to tell such things if the need be.

The subjects attributes is important. It identifies all the subject areas in which a given advance of science falls. It will enable the end-user to run subject-specific queries. For example, a query like: “Give me a time-line of the kinetic theory,” which is slightly different from “Give me a time-line of the statistical mechancis,” which is slightly different from “Give me a time-line of the thermodynamics.” Contrary to the current pedagogy followed in the engineering schools, development in statistical mechanics was almost concurrent to thermodynamics. … Incidentally, thermodynamics didn’t exactly begin with Joule. It had sprung into action right after Watt’s engine, with Lazare Carnot, the father of Sadi Carnot, having a lot of thoughts related to the energetics program in physics. In case you have ever wondered how come the Second Law of Thermo came on the scene before the First one did, such a bit might be of interest to you.

Thus, the subject attributes may be both coarse-grained or fine-grained, and they may have multiple abstract hierarchies among them. The system administrators may invite subject experts (e.g. professors) to apply these attributes. This task, though complex and time-consuming, should not too difficult in a way: the attributes to use may come from certain standardized classification schemes such as the PACS classification [^], the AMS classifications [^], etc. What is more important for this project on the CS side is this requirement: the application mechanisms of subject attributes should be sufficiently neat that the application people—the subject experts—should find it very easy to find all the relevant attributes suggested to them in a handy way, when they apply these attributes to the individual entries.

As indicated above, one real tricky point is this: Some discoveries/inventions span across fine-grained descriptions. Another tricky point is the following: Some discoveries span across many fine-grained description only in the context of a later discovery—not otherwise. Therefore, they should not get applied for reports-generation unless the later discovery also is included in the search results. For instance, consider the topic of Fermat’s principle. This is a from classical, geometric, optics. It would not have been a potentially very important candidate for inclusion in mechanics-related searches until Schrodinger made it impossible to avoid it. … Actually, the idea of looking at Fermat’s principle as a mechanical principle goes centuries back; off-hand, I suppose it was Huygens (again), right in the 17th century, who first linked the mechanics of transfer of momentum (he would call it “the motion”) and Fermat’s principle. Then, in the 19th century, there was Hamilton who got inspired by the same conceptual link. But the point here is, before Schrodinger, not identifying the topic as a mechanical one, could, perhaps, have been an excusable omission. After Schrodinger, it is entirely inexcusable.

Each entry should clearly and explicitly identify the source(s) of the information on which it is based. For instance, McTutor’s, Encl. Brit., a certain book, a certain paper, etc. There could be multiple original sources objectively required for the same entry. For instance, when a subject expert rightly ascribes to Euler the impetus provided for development of the calculus of variation (CoV), he would need to take it away from Maupertuis, and for the same reason, he would need original sources authored by both.

BTW, this entry (on the impetus to CoV) would be different from another entry that is concerned with the first correct formalization of the CoV, which would involve a 19-year old Lagrange. And, both these entries would be different form the first-ever problem of CoV correctly posed and applied with correct a correct solution approach, which would be a credit due in (off-hand speaking, a 50+ year-old) Newton’s account (more than a century before Lagrange’s work).

Thus, the individual database entries should carry links to other, related, entries. Such things may come in the Remarks section, or there could be a special “See Also” section.

On the second thoughts, there could an extra attribute (to be carried by a database entry) for specifying the set of pre-requisite entries for it.

Further on the second thoughts, there could also be another, separate attribute that specifies a linkage to the other entries immediately preceding it and constituting the “prior development” for a given entry. (The prior development is not necessarily the same as a pre-requisite. For instance, the caloric fluid theory of heat is a prior development to the kinetic theory, but it’s not a pre-requisite.)

All the report fields may carry hyperlinks to the resources on the ‘net.

It might be desirable to include other information like the biographical details for scientists: dates (!) of birth and death, places thereof, nationalities (e.g. Prussia, West Germany, United Germany, etc!), educational institutions attended and degrees, if any, received, the career-wise affiliating institutes for each database entry.  (Consider: would the work as a patent clerk qualify as an affiliating institute for a discovery in physics?) Details like these are not so important, and may be taken up during the version 2.0 of the project.

Finally, I would like to jot down a couple of resources. Informations from multiple sources like these needs to come together in a single, easily accessible database:

The McTutor Chronology [^]
The Wiki List of Timelines [^] (We need only the S&T related timelines. For version 1.0, focus only on physics and mathematics. For version 2.0, add: inventions/patents, engineering and technology. For version 3.0, add: biological sciences. For history of the humanities kind—who killed who to grab which power when and had how many wives—my advice to you would be: don’t bother.)

Now, a few things of business, if you are interested in picking this up as a project.

Don’t get in touch with me simply to ask if you can use this idea. Of course you can, so long as you acknowledge the intellectual credit due to me, and so long as you don’t release this idea into the Open Source/CopyLeft sort of a domain, and so long as you are not going to make any money out of it—I reserve all the rights to this idea in the first place.

However, do drop me a line before you begin any work on this idea. To repeat, I do reserve all the rights to this idea in the first place.

Also, if you are a student, don’t get in touch with me to ask if I could be become a guide to you. I won’t. What I have done here is to give you the basic idea in general (but in enough details). The particular fleshing out and the particular implementation is basically between you and your official college guide. This much should have been obvious, but the politics junkies and/or IB and/or CIA etc. have used a trick in the past, simply to harass me. For instance, when I was applying for a job as a professor to a college in Pune, someone from Gadchiroli or Ichalkaranji, claiming to be an undergraduate student, would call me, ask me if I can go to their place to be a guide—but could not name the name of his college principal.

However, once your official guide himself approaches me—which he must, if you are going to work on this project idea (see the above point again)—at that point, if he himself requests me to be an official co-guide, I wouldn’t necessarily mind—I will think about it, and let him know regarding my decision in this respect.

Finally, if you are a student, don’t get in touch with me to ask me if I could implement this project for some money from you. I won’t. It is true that as of today I am jobless, and that, even otherwise, I am always looking for ways to make money. But, I have not, don’t, would not ever sell finished (or even “half”-finished) projects to students for a charge.

I would rather write blogs and go further and harass the Maharashtra CM (any one occupying that post), possibly to (his or her) death, (correctly) blaming him (or her or they) for my joblessness, than start selling student projects for a charge. The first should come easier to me. That’s why.

Now, see if you wish to pick it up as a project. It will be useful. To a great degree. (And, perhaps, for this same reason, it won’t be suitable as a JPBTI project. Though, I couldn’t care less if IIT students pick it up as their project topic.)

As I said, there are a few more things about this project that I could say. I will write another blog post about it.

* * * * *   * * * * *   * * * * *

No “A Song I Like” section, once again. I still go jobless. Keep that in mind—if your mind is not so small as not to have the capacity to carry this factoid.

Prithviraj (the BITS Pilani- and Berkeley-trained CM)? Jairam (the IIT Bombay- and MIT-trained JPBTI)? Others like you? Ashamed of the fact that I still don’t have a job? Or not so? Or, perhaps, not at all so? What say? Not even on a Gandhi Jayanti day? Have borrowed that convenient “maun vrat” from a certain someone from Ralegan Siddhi? Really?

[This is revision 1, published on October 2, 2012, 12:35 PM IST. Initial draft posted on October 1, 2012, 4:10 PM, IST. I think I am done with the additions/clarifications for this post, and probably won’t come back to further update this post (unless a grammatical error is too glaring). The promised related post should appear in a few days’ time.]