<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Sam Stokes on Research in your life and studies : Research</title><link>http://blogs.msdn.com/research/archive/tags/Research/default.aspx</link><description>Tags: Research</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Trident Workbench and SQL Express</title><link>http://blogs.msdn.com/research/archive/2009/12/10/trident-workbench-and-sql-express.aspx</link><pubDate>Thu, 10 Dec 2009 18:25:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9935261</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9935261.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9935261</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/TridentWorkbenchandSQLExpress_929C/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/TridentWorkbenchandSQLExpress_929C/image_thumb_2.png" width="459" height="302" /&gt;&lt;/a&gt; I hope you have successfully downloaded and installed Trident Workbench, with the Word Add-in, which is a cool way to document your research.&amp;#160; You will also need to have &lt;a href="http://www.microsoft.com/express/sql/default.aspx"&gt;SQL Express&lt;/a&gt; installed on your system, with SP1 installed.&amp;#160; Keep in mind, as a non-commercial researcher, you should have access to the full versions of SQL, such as SQL Standard or SQL Enterprise through your local MSDNAA program.&amp;#160; If not, comment to this post and I will definitely help you out.&amp;#160; Please do not think that I am going to deluged with requests, I won’t, so make sure I am aware of your inability to get your free copy of SQL &lt;font color="#0000ff"&gt;&lt;strong&gt;IF&lt;/strong&gt;&lt;/font&gt; you are an academic, that is: College student (graduate or undergraduate) or Professor (Lecturer, Professor, or non-profit researcher).&amp;#160; &lt;font color="#ff0000"&gt;MAKE SURE TO UPGRADE TO THE LATEST SERVICE PACK!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Let’s talk about SQL Express, which should be an easy to install product, it is, but the default settings can be confusing.&amp;#160; It took me a few times to figure out how to use it, and since this is a definite show stopper, I am going to cover this today.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You will need to get to this screen, make sure that your SQL Server is running.&amp;#160; I use manual start mode to make sure I get the fastest boot up, any database system, MySQL, Oracle, SQL, running on the desktop will slow down your initial start-up.&amp;#160; If you see the word “Other” under the Start Mode column, then you will need to right click on the SQL Server(SQLEXPRESS) and select properties.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/TridentWorkbenchandSQLExpress_929C/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/TridentWorkbenchandSQLExpress_929C/image_thumb.png" width="852" height="170" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When you select properties you will see a dialog box, now select the “service” tab:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/TridentWorkbenchandSQLExpress_929C/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/TridentWorkbenchandSQLExpress_929C/image_thumb_1.png" width="352" height="410" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Now select the “Start Mode” and then click on the drop down box next to that cell.&amp;#160; Select Automatic or Manual.&lt;/p&gt;  &lt;p&gt;If you select manual, you will have to start your instance of SQL EXPRESS each time you want to use Trident Workbench.&amp;#160; On my student demo machine, which is running Win7 x86, with Readyboost, 3.2 Gigabytes of memory usable and a slow CPU, I usually keep the SQL EXPRESS in manual mode.&lt;/p&gt;  &lt;p&gt;And I usually forget to turn it on before starting the Trident Workbench, silly me.&amp;#160; So it wastes a little time.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Big deal for day to day, but if SQL EXPRESS isn’t turned on for the installation, then you will need to during the installation process. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9935261" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/Win7/default.aspx">Win7</category><category domain="http://blogs.msdn.com/research/archive/tags/Stargate/default.aspx">Stargate</category><category domain="http://blogs.msdn.com/research/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.msdn.com/research/archive/tags/Climategate/default.aspx">Climategate</category></item><item><title>Researching your queries and clicks</title><link>http://blogs.msdn.com/research/archive/2009/07/21/researching-your-queries-and-clicks.aspx</link><pubDate>Tue, 21 Jul 2009 18:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9816847</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9816847.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9816847</wfw:commentRss><description>&lt;p&gt;OMG, people tracking what I search and what I click on.&amp;#160; Isn’t that an invasion of my privacy?&amp;#160; &lt;/p&gt;  &lt;p&gt;I think that I should have the right to protect my privacy, but what is privacy on the Internet? On the other hand, how do others help me to protect my privacy?&amp;#160; Doesn’t that require researchers to look at large numbers of queries and clicks to examine the statistics?&amp;#160; Questions, questions, questions… &lt;/p&gt;  &lt;p&gt;To learn about how researchers are examining our queries and clicks, no matter how exciting or boring they might be, take a look at the e-paper to find out how privacy is defined.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you want to be able to hold forth on cybersecurity around the swimming pools, golf courses and over those tall cool drinks on the back porch, then you will need to read this article: &lt;a href="http://www2009.eprints.org/18/1/p171.pdf"&gt;Releasing Search Queries and Clicks Privately&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There is some cranking hard math in the middle sections, but good analysis and reading that I can understand in sections 1-3, 7 and the conclusion.&amp;#160; It is worth the read, especially these days when your privacy is so important.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9816847" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/research/archive/tags/Privacy/default.aspx">Privacy</category></item><item><title>ESP: Extra-Sensory Perception or Embodied Social Proxies?</title><link>http://blogs.msdn.com/research/archive/2009/07/09/esp-extra-sensory-perception-or-embodied-social-proxies.aspx</link><pubDate>Fri, 10 Jul 2009 06:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9815831</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9815831.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9815831</wfw:commentRss><description>&lt;P&gt;WTF? ESP? Satellite people? Is this a &lt;A href="http://www.coasttocoastam.com/" mce_href="http://www.coasttocoastam.com/"&gt;Coast to Coast show with George Noory&lt;A href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ESPExtraSensoryPerceptionorEmbodiedSocia_12559/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ESPExtraSensoryPerceptionorEmbodiedSocia_12559/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ESPExtraSensoryPerceptionorEmbodiedSocia_12559/image_thumb.png" width=171 height=134 mce_src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ESPExtraSensoryPerceptionorEmbodiedSocia_12559/image_thumb.png"&gt;&lt;/A&gt;&lt;/A&gt; for long haul truckers and insomniacs?&amp;nbsp; &lt;/P&gt;
&lt;P&gt;No, &lt;A href="http://research.microsoft.com/en-us/news/features/esp-061009.aspx" mce_href="http://research.microsoft.com/en-us/news/features/esp-061009.aspx"&gt;Embodied Social Proxies&lt;/A&gt;, this isn’t a problem that my team suffers from, even though we rarely meet in person, none of us work together in person or are collocated.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Embodied Social Proxies are for teams that are mostly collocated, and this article is certainly worth taking a look at if you are thinking about developing a system to support teams that most work together and have one or two people who are working remotely.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ESPExtraSensoryPerceptionorEmbodiedSocia_12559/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ESPExtraSensoryPerceptionorEmbodiedSocia_12559/image_2.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ESPExtraSensoryPerceptionorEmbodiedSocia_12559/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ESPExtraSensoryPerceptionorEmbodiedSocia_12559/image_2.png"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9815831" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/research/archive/tags/Collaboration/default.aspx">Collaboration</category><category domain="http://blogs.msdn.com/research/archive/tags/Social+Networks/default.aspx">Social Networks</category></item><item><title>Computer Archeology: The Smiley, where did it come from?</title><link>http://blogs.msdn.com/research/archive/2009/06/06/computer-archeology-the-smiley-where-did-it-come-from.aspx</link><pubDate>Sat, 06 Jun 2009 19:16:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9702895</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9702895.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9702895</wfw:commentRss><description>&lt;p&gt;The Smiley, where did it come from?&amp;#160; Here is the first instance of the Smiley:&lt;/p&gt;  &lt;p&gt;401298269,0,0 19-Sep-82 11:44 Scott E Fahlman :-) From: Scott E Fahlman &amp;lt;Fahlman at Cmu-20c&amp;gt; I propose that the following character sequence for joke markers: :-) Read it sideways. Actually, it is probably more economical to mark things that are NOT jokes, given current trends. For this, use :-(&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can see the whole bboard file from CMU in 1982 at:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://research.microsoft.com/en-us/um/people/mbj/smiley/bboard_contents.html" href="http://research.microsoft.com/en-us/um/people/mbj/smiley/bboard_contents.html"&gt;http://research.microsoft.com/en-us/um/people/mbj/smiley/bboard_contents.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Funny stuff… Who says research has to be unfunny? :-)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9702895" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/research/archive/tags/XNA/default.aspx">XNA</category><category domain="http://blogs.msdn.com/research/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/research/archive/tags/Xbox/default.aspx">Xbox</category><category domain="http://blogs.msdn.com/research/archive/tags/Science/default.aspx">Science</category></item><item><title>Towards programming languages for genetic engineering of living cells</title><link>http://blogs.msdn.com/research/archive/2009/06/01/towards-programming-languages-for-genetic-engineering-of-living-cells.aspx</link><pubDate>Mon, 01 Jun 2009 22:18:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9680474</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9680474.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9680474</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/Towardsprogramminglanguagesforgeneticeng_ACFA/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/Towardsprogramminglanguagesforgeneticeng_ACFA/image_thumb.png" width="244" height="182" /&gt;&lt;/a&gt;Ok, still goofing off from my F# articles, but for now, one of my friends has a very bad cancer (not that any of them are good) called peritoneal carcinomatosis (PC), or PMP.&amp;#160; On my other blog about &lt;a href="http://blogs.msdn.com/silverlightgames"&gt;Silverlight Games&lt;/a&gt;, I am discussing how to make a serious game that would help people understand this type of disease.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;PC or PMP was the first cancer that the doctors (oncologists) used a molecular test of the patients genes, see the article: &lt;a href="http://www.webmd.com/colorectal-cancer/news/20080602/gene-testing-predicts-response-to-erbitux?page=2"&gt;Gene Testing Predicts Response to Erbitux.&lt;/a&gt;&amp;#160; I am not sure how that test worked, but wouldn’t it be great if from the test you could then write a software program that could then guide the construction of biological solutions to fix the damage from the cancer and to halt the cancer’s progress?&lt;/p&gt;  &lt;p&gt;In a paper posted to the Microsoft Research site, there is a thick, dense paper that describes just that:&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://research.microsoft.com/pubs/79443/Interface09.pdf"&gt;Towards programming languages for genetic engineering of living cells&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now this is an advanced, pie in the sky kind of thinking that makes the world a different place.&amp;#160; It is the type of paper that I want to read over my vacation, it is so advanced.&amp;#160; Imagine being able to create genetically manipulated bacteria using software.&amp;#160; CRAZY you say!&amp;#160; INSANE you say!&lt;/p&gt;  &lt;p&gt;Ha-ha, not quite my friend, take a look at:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.neurosolutions.com/products/ns/whatisNN.html"&gt;NeuroSolution&lt;/a&gt; and &lt;cite&gt;&lt;a href="http://www.neurosolutions.com/resources/apps/beer.doc"&gt;www.neurosolutions.com/resources/apps/&lt;strong&gt;beer&lt;/strong&gt;.doc&lt;/a&gt;&amp;#160;&lt;/cite&gt;&lt;/p&gt;  &lt;p&gt;The NeuroSolution is a current utilization of software to assist with a difficult biological process like the making of beer.&amp;#160; And of course this would apply to other biological processes such as the creation of pharmaceuticals.&amp;#160; Imagine a world where drugs can be tailored to the individual.&amp;#160; It looks like Microsoft sponsored some research into that approach.&amp;#160; This would impact orphan drugs early since the outputs from these genetic/biological material factories could be utilized to solve problems like PMP or PC.&lt;/p&gt;  &lt;p&gt;How would you approach this type of idea?&amp;#160; The software that you create could use a language like F#, C#, Visual Basic, or you could create a language that is exclusively to solve this type of problem.&amp;#160; That type of language can be created using a Domain Specific Language (DSL).&amp;#160; If you want to use the Microsoft tools to create a DSL, you can visit:&amp;#160; &lt;a href="http://msdn.microsoft.com/en-us/library/bb126235.aspx "&gt;Domain-Specific Language Tools&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It’s fun to create your own languages! &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d949239a-4b95-47b9-b68d-175559e3af96" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/F%23" rel="tag"&gt;F#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Artificial+Intelligence" rel="tag"&gt;Artificial Intelligence&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Domain+Specific+Languages" rel="tag"&gt;Domain Specific Languages&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9680474" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/research/archive/tags/F_2300_/default.aspx">F#</category><category domain="http://blogs.msdn.com/research/archive/tags/Celestial+Mechanics/default.aspx">Celestial Mechanics</category><category domain="http://blogs.msdn.com/research/archive/tags/Domain+Specific+Languages/default.aspx">Domain Specific Languages</category></item><item><title>Student Research!</title><link>http://blogs.msdn.com/research/archive/2009/05/22/student-research.aspx</link><pubDate>Sat, 23 May 2009 07:13:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9636648</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9636648.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9636648</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/StudentResearch_12A7D/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 10px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/StudentResearch_12A7D/image_thumb.png" width="244" height="108" /&gt;&lt;/a&gt; Zoom over to &lt;a title="http://www.acm.org/src/" href="http://www.acm.org/src/"&gt;http://www.acm.org/src/&lt;/a&gt;, take a&amp;#160; look at the student research that was supported by Microsoft Research.&amp;#160; This is different than the Imagine Cup, in that the ACM is oriented toward research.&amp;#160; If you a student, then you will need to use the digital library at your school to see the papers.&amp;#160; If you are in industry, then hopefully your company subscribes or you can get access somehow.&amp;#160; You can get the abstracts, which are just teasing descriptions of the papers.&lt;/p&gt;  &lt;p&gt;I can’t really reprint anything here since there are clear boundaries generated by the ACM.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:43cc5d3c-c734-47ff-b299-0ed8f9daef4a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Student+Research" rel="tag"&gt;Student Research&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9636648" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category></item><item><title>WTF#: Using F# to calculate Ballistics part 2</title><link>http://blogs.msdn.com/research/archive/2009/04/06/wtf-using-f-to-calculate-ballistics-part-2.aspx</link><pubDate>Mon, 06 Apr 2009 20:06:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9534074</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/research/comments/9534074.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9534074</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/research/archive/2009/04/06/wtf-using-f-to-calculate-ballistics-part-2.aspx";digg_title = "WTF#: Using F# to calculate Ballistics part 2";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;It was a quiet weekend here at Dana By the Sea, our neighbor’s son has apologized, of course in most any other neighborhood or time, his actions would have been of little note.&amp;nbsp; But in these times of tightly packed urban &lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/WTFUsingFtocalculateBallisticspart2_8DD6/image_2.png"&gt;&lt;img style="border-right-width: 0px; margin: 10px 0px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/WTFUsingFtocalculateBallisticspart2_8DD6/image_thumb.png" width="314" height="357"&gt;&lt;/a&gt;neighborhoods and news like the recent shootings everyone is nervous.&amp;nbsp; When I was a kid we used to get the 22 caliber rifle out and drive down to this part of Orange County to shoot at cans and other stationary targets.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Now days, there are other kinds of ballistic experiments that illustrate the science of ballistics, and that is the use of Estes Rockets, or similar.&amp;nbsp; The Estes Rocket site has curriculum, range safety, as well as how to structure the launch events.&amp;nbsp; &lt;/p&gt; &lt;p&gt;In fact, like the AirSoft pellet gun, the &lt;a href="http://www.esteseducator.com/"&gt;Estes Rockets&lt;/a&gt; are well documented, the Estes unlike the AirSoft, provide specific instructions on how to perform the launches, launch area and so forth.&lt;/p&gt; &lt;p&gt;My original goal was to use the Estes approach to our experiments in this blog, so we will switch over to the use of the Estes Rocket web site to investigate the science of ballistics.&amp;nbsp; This makes a little more sense because as we investigate the use of ballistics in space, the Estes rockets would work in space because they are true solid fuel rocket motors.&lt;/p&gt; &lt;p&gt;The use of Graphing Calculators or F# would be a great way to have the students be able to experiment with the creation of models that they then test against a real device.&amp;nbsp; Like the current discussion about the climate change model, the model doesn’t seem to map against the real weather data.&amp;nbsp; An important concept that science students need to discover is that in the real world, models that don’t create realistic outputs, need to be tuned up.&amp;nbsp; Fortunately, model rockets is pretty well defined so using the Estes rockets is a great way for the students to discover how to create models, and maybe read other student’s code.&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:93f28f0e-4ca3-4ac7-8cca-e0a47c94c3bf" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/F%23" rel="tag"&gt;F#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/eScience" rel="tag"&gt;eScience&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Orbital+Mechanics" rel="tag"&gt;Orbital Mechanics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Celestial+Mechanics" rel="tag"&gt;Celestial Mechanics&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9534074" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/simulations/default.aspx">simulations</category><category domain="http://blogs.msdn.com/research/archive/tags/Engineering/default.aspx">Engineering</category><category domain="http://blogs.msdn.com/research/archive/tags/Celestial+Mechanics/default.aspx">Celestial Mechanics</category></item><item><title>NASA chooses Microsoft to make space flight data more public</title><link>http://blogs.msdn.com/research/archive/2009/03/25/nasa-chooses-microsoft-to-make-space-flight-data-more-public.aspx</link><pubDate>Wed, 25 Mar 2009 21:03:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9507975</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/research/comments/9507975.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9507975</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:left; margin:0px; padding:0px 8px 4px 0px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/research/archive/2009/03/25/nasa-chooses-microsoft-to-make-space-flight-data-more-public.aspx";digg_title = "NASA chooses Microsoft to make space flight data more public";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;WOW! Take a look at the press pass (the news organ for Microsoft) at &lt;a title="http://www.microsoft.com/presspass/press/2009/mar09/03-24NASADataPR.mspx" href="http://www.microsoft.com/presspass/press/2009/mar09/03-24NASADataPR.mspx"&gt;http://www.microsoft.com/presspass/press/2009/mar09/03-24NASADataPR.mspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;NASA press release: &lt;a title="http://www.nasa.gov/home/hqnews/2009/mar/HQ_09-067_Microsoft_WorldWide_Telescope.html" href="http://www.nasa.gov/home/hqnews/2009/mar/HQ_09-067_Microsoft_WorldWide_Telescope.html"&gt;http://www.nasa.gov/home/hqnews/2009/mar/HQ_09-067_Microsoft_WorldWide_Telescope.html&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://search.msn.com/images/results.aspx?q=orbital+comics&amp;amp;form=QBIR#focal=bdcfc8e68184018ab18a22414e9fa6a5&amp;amp;furl=http%3A%2F%2Fwww.zortic.com%2Fcomics%2Fzortic20060503.gif"&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 15px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/NASAchoosesMicrosofttomakespaceflightdat_74B8/image_3.png" width="484" height="312"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/NASAchoosesMicrosofttomakespaceflightdat_74B8/image_2.png"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The deeper detail of the data share is to be revealed, right now, it is providing photo data.&amp;nbsp; My need is to be able to get the data in a useable form that isn’t “open source”.&amp;nbsp; The poorly implemented and documented data shares using the OCD processes was poorly documented.&amp;nbsp; It appears that interesting experiments like the GRACE satellite systems that used gravity as way to measure ice floes, etc. was presented in a manner that was useful, if you had a degree in orbital mechanics and had worked on the satellite.&lt;/p&gt; &lt;p&gt;Say you want to review the data that indicates that the sea levels are rising, after all science requires that experiments should be repeatable (although there are no rules that the ability to repeat the experiment is suppose to be easy).&amp;nbsp; However, to be able to utilize the data from the GRACE satellite, you would have to be able to use C, FORTRAN or &lt;a href="http://www.ittvis.com/ProductServices/IDL.aspx"&gt;IDL&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Hopefully this partnership between Microsoft and NASA will make data from research satellites like GRACE, and so forth easier to access with commonly used data access tools.&amp;nbsp; The current process keeps the data locked in data systems that work well for academics, but the shade tree scientists like you are left out.&amp;nbsp; Who knows, the statistical data from the GRACE satellites could use other eyeballs on the data.&amp;nbsp; Using poorly documented processes to store the data is a mis-use of the taxpayers money, granted in the past satellite data has usually been the realm of the academic and professional scientist.&amp;nbsp; &lt;/p&gt; &lt;p&gt;That time has changed, and I am glad to see that Microsoft is moving to make the information available for all to use, a true research product for the people!&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:70a9c038-a9f8-4b17-98e0-1266e9b16a7b" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/NASA" rel="tag"&gt;NASA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XNA" rel="tag"&gt;XNA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XBOX+360" rel="tag"&gt;XBOX 360&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Satellites" rel="tag"&gt;Satellites&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9507975" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/simulations/default.aspx">simulations</category><category domain="http://blogs.msdn.com/research/archive/tags/MSDNAA/default.aspx">MSDNAA</category></item><item><title>WTF: Orbital Mechanics/Celestial Mechanics, Newton and Kepler’s Laws</title><link>http://blogs.msdn.com/research/archive/2009/03/18/wtf-orbital-mechanics-celestial-mechanics-newton-and-kepler-s-laws.aspx</link><pubDate>Wed, 18 Mar 2009 23:56:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9488027</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/research/comments/9488027.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9488027</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/research/archive/2009/03/18/wtf-orbital-mechanics-celestial-mechanics-newton-and-kepler-s-laws.aspx";digg_title = "WTF: Orbital Mechanics/Celestial Mechanics, Newton and Kepler’s Laws";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/WTFOrbitalMechanicsCelestialMechanics_A977/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 0px 20px; border-left: 0px; border-bottom: 0px" height="485" alt="image" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/WTFOrbitalMechanicsCelestialMechanics_A977/image_thumb.png" width="382" align="right" border="0"&gt;&lt;/a&gt; Apparently this cartoon was all to true with respect to the Mars Climate Orbiter.&amp;nbsp; However, for some reason I am certain that there were no women wearing sexy pantsuits on the navigator team for the MCO.&amp;nbsp; If I am wrong leave a comment.&lt;/p&gt; &lt;p align="justify"&gt;Hi ho: Well like Tim Buxton said at the Mix09 keynote today, the transition is the important part of a design.&amp;nbsp; MCO didn’t make the transition well.&amp;nbsp; Let’s start with an analysis of the back story.&amp;nbsp; Gravity and it’s impact on your life.&lt;/p&gt; &lt;p align="justify"&gt;It all starts a long time ago, a really long time ago when gravity was created in our universe, which although most people think that I was around when that happened but I wasn’t.&amp;nbsp; To start with my convoluted effort to pull in F# to simulating the orbital boo-boo that was the MCO, then we might do the Mars Polar Lander, likely though I will get bored with it all and move on to something else.&amp;nbsp; So stick with me.&lt;/p&gt; &lt;p&gt;Gravity sucks.&lt;/p&gt; &lt;p&gt;The primary laws we will using are the Newton Laws of Motions and &lt;a href="http://encarta.msn.com/encyclopedia_761556968/Kepler%E2%80%99s_Laws.html"&gt;Kepler’s Laws&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Newton formulated his laws for all objects, Kepler’s Laws were created for celestial bodies.&amp;nbsp; So this is an example of the specialized laws such as Kepler’s Laws were passed on to someone else to create the generalized solutions.&amp;nbsp; Of course, prior to Newton’s writing down of the laws, people had noticed things like a wagon rolling down hill was harder to stop than a wagon moving on flat land.&amp;nbsp; Newton’s Laws of Motion quantified the observation in a way that was measurable and repeatable.&amp;nbsp; There was something missing though, and that missing part was to be solved by Einstein, and won’t be discussed in this series of blogs, just because it is hard enough to do the simple stuff like planetary motion.&lt;/p&gt; &lt;p&gt;The laws are as follows:&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;a href="http://hyperphysics.phy-astr.gsu.edu/hbase/kepler.html"&gt;Kepler Laws.&lt;/a&gt; &lt;/em&gt;&lt;/p&gt; &lt;ol&gt; &lt;ol&gt;&lt;/ol&gt; &lt;li&gt; &lt;p&gt;&lt;em&gt;The &lt;a href="http://hyperphysics.phy-astr.gsu.edu/hbase/kepler.html#c2"&gt;Law of Orbits&lt;/a&gt;: All planets move in elliptical orbits, with the sun at one focus.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;em&gt;The &lt;a href="http://hyperphysics.phy-astr.gsu.edu/hbase/kepler.html#c5"&gt;Law of Areas&lt;/a&gt;: A line that connects a planet to the sun sweeps out equal areas in equal times. (Also known as Conservation of Angular Momentum)&lt;/em&gt;&lt;/p&gt;&lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;em&gt;&lt;a href="http://hyperphysics.phy-astr.gsu.edu/hbase/kepler.html#c6"&gt;The Law of Periods&lt;/a&gt;: The square of the period of any planet is proportional to the cube of the semimajor axis of its orbit. Also known as the Harmonic Law&lt;/em&gt;&lt;/p&gt;&lt;/li&gt; &lt;ol&gt;&lt;/ol&gt;&lt;/ol&gt; &lt;p&gt;&lt;em&gt;Newton’s Laws of Motion&lt;/em&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;First Law of Motion&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;ul&gt; &lt;li&gt;Every object in a state of uniform motion tends to remain in that state of motion unless an external force is applied to it&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;Second Law of Motion&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The relationship between an object's mass m, its acceleration a, and the applied force F is F = ma. Acceleration and force are vectors (as indicated by their symbols being displayed in slant bold font); in this law the direction of the force vector is the same as the direction of the acceleration vector.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Third Law of Motion&lt;/p&gt; &lt;ul&gt; &lt;li&gt;For every action there is an equal and opposite reaction.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Gravity, it’s the law!&lt;/p&gt; &lt;p&gt;Tomorrow, getting started with coding…&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:72ed5546-760c-4b1d-80de-662670053bb3" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Kepler" rel="tag"&gt;Kepler&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Kepler+Laws" rel="tag"&gt;Kepler Laws&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Newton+Laws+of+Motion" rel="tag"&gt;Newton Laws of Motion&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Orbital+Mechanics" rel="tag"&gt;Orbital Mechanics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Celestial+Mechanics" rel="tag"&gt;Celestial Mechanics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Mars+Climate+Orbiter" rel="tag"&gt;Mars Climate Orbiter&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9488027" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/Science/default.aspx">Science</category><category domain="http://blogs.msdn.com/research/archive/tags/F_2300_/default.aspx">F#</category><category domain="http://blogs.msdn.com/research/archive/tags/Celestial+Mechanics/default.aspx">Celestial Mechanics</category><category domain="http://blogs.msdn.com/research/archive/tags/Orbital+Mechanics/default.aspx">Orbital Mechanics</category></item><item><title>WTF#: F#, and the Mars Climate Orbiter (MCO) crash in 1998</title><link>http://blogs.msdn.com/research/archive/2009/03/09/wtf-f-and-the-mars-climate-orbiter-mco-crash-in-1998.aspx</link><pubDate>Mon, 09 Mar 2009 23:41:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9468171</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/research/comments/9468171.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9468171</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/research/archive/2009/03/09/wtf-f-and-the-mars-climate-orbiter-mco-crash-in-1998.aspx";digg_title = "WTF#: F#, and the Mars Climate Orbiter (MCO) crash in 1998";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/WTFFandtheMarsClimateOrbiterMCOcrashin19_C08E/image_4.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="387" alt="image" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/WTFFandtheMarsClimateOrbiterMCOcrashin19_C08E/image_thumb_1.png" width="532" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;OMG: Slide Rules and F#, ‘sup with that?&amp;nbsp; World of Twitter, Facebook, $300 computers running Windows 7, why would I even mention this arcane tool?&amp;nbsp; F# and Slide Rules have something in common: Dimensional Analysis.&lt;/p&gt; &lt;p&gt;In F# you can use dimensional analysis to implement your programs.&amp;nbsp; What does this mean?&amp;nbsp; You can save $250,000,000 in wasted space craft for example.&amp;nbsp; In 1999 the Mars Orbiter was doing a aerobraking maneuver to enter into Martian orbit, and when it started it’s rocket motor, it blasted itself out of orbit and crashed.&amp;nbsp; The problem?&amp;nbsp; Some of the code was in SI units (metric) and others were in the SAE (feet/pounds), somehow this passed critical code review.&amp;nbsp; Nice job!&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;"People sometimes make errors," said Dr. Edward Weiler, NASA's Associate Administrator for Space Science. "The problem here was not the error, it was the failure of NASA's systems engineering, and the checks and balances in our processes to detect the error. That's why we lost the spacecraft." &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Would F# as a high level language&amp;nbsp; been able to solve this problem?&amp;nbsp; Not knowing if the control law synthesis was done in a high level language or using assembly language or even hardware level programming.&amp;nbsp; I am certain that with the many successes, as well as failures since the Mars Climate Orbiter’s crash, however the brief accident report that I can find easily on the web, has the quote from &lt;a href="http://www.spaceref.com/news/viewpr.html?pid=3149"&gt;NASA ADVISORY COUNCIL March 16, 2000&lt;/a&gt; (you have to scroll down a bit to see the article): &lt;blockquote&gt; &lt;p&gt;“There were four common themes from the failure investigations and studies: inadequate reviews; inadequately addressing risk management; inadequate testing, simulation, and V&amp;amp;V; and communications. In response to a question, Mr. Stephenson noted that more attention needs to be put on people—skills, training, etc. The Board made recommendations in four categories: people, process, execution, and technology. NASA tends to focus on process. People includes picking the right people (including the right leader), teamwork, communication, and adequate staffing and oversight. In the process area, the mission success criteria needs to be very clearly defined up front. Out of this derives the top level system requirements, etc. Other important aspects of the process are: systems engineering, verification and validation, risk assessment (e.g., fault tree analyses and probability risk assessment), the responsibility of the line organization, science involvement, operations (on the program from the start), and transitions (from development to operations).”&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Wow, that sounds like a bunch of “blah, blah, blah”&amp;nbsp; Improve process, the check is in the mail, and so forth.&amp;nbsp; The problem was that there was a disconnect in the units used in programs and I haven’t found the article, but I am GUESSING that the rocket control law had been used in other systems successfully and wasn’t fully tested prior to launch.&amp;nbsp; So fixing that would fix other problems as well.&amp;nbsp; So maybe F# wouldn’t save the day, but for this blog article let’s assume the error in dimensions was the problem, see the &lt;a href="http://science.nasa.gov/newhome/headlines/ast30sep99_2.htm"&gt;article&lt;/a&gt; on the NASA site for a very brief explanation.&lt;/p&gt; &lt;p&gt;&lt;a href="http://regentsprep.org/Regents/physics/phys00/no_units/mistake.htm"&gt;So what happened&lt;/a&gt;?&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;“Twice a day during the cruise to Mars, tiny thrusters on the spacecraft were fired briefly to counteract the effects of solar wind and other forces on the spinning of the flywheels.&amp;nbsp; The spacecraft team in Colorado used English units called pound-seconds to describe the small forces….&lt;br&gt;That data was shipped via computer to JPL where the navigation team was expecting to receive the information in newton-seconds, a metric measure of force.”&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;How would F# have aided in preventing that problem?&amp;nbsp; F# gives the developer the ability to assign units to variables.&amp;nbsp; So it would be possible for a software architect to implement a system that would perform error checking of the results to make sure that the correct units were being used.&amp;nbsp; In later articles I will be going over how to code and do the error handling.&amp;nbsp; &lt;p&gt;Of course the bottom line is that the Mars Climate Orbiter crash was a monument to the dumb approach of faster, better, cheaper approach to spacecraft design, which is still causing problems inside of NASA these days.&amp;nbsp; More in the next post.&amp;nbsp; This is fun, well it would be if wasn’t so sad. :( &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:aaafa02b-073f-412f-8a8e-010acaeab263" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Mars+Climate+Orbiter" rel="tag"&gt;Mars Climate Orbiter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MCO" rel="tag"&gt;MCO&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Simulations" rel="tag"&gt;Simulations&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Orbital+Mechanics" rel="tag"&gt;Orbital Mechanics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F%23" rel="tag"&gt;F#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Functional+Languages" rel="tag"&gt;Functional Languages&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9468171" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/simulations/default.aspx">simulations</category><category domain="http://blogs.msdn.com/research/archive/tags/Electrical+Engineering/default.aspx">Electrical Engineering</category><category domain="http://blogs.msdn.com/research/archive/tags/Engineering/default.aspx">Engineering</category><category domain="http://blogs.msdn.com/research/archive/tags/Servers/default.aspx">Servers</category><category domain="http://blogs.msdn.com/research/archive/tags/Mars+Climate+Orbiter/default.aspx">Mars Climate Orbiter</category></item><item><title>WTF#: Syllabus for the rest of the students at a university, with a focus on Functional Programming</title><link>http://blogs.msdn.com/research/archive/2009/02/21/wtf-syllabus-for-the-rest-of-the-students-at-a-university-with-a-focus-on-functional-programming.aspx</link><pubDate>Sat, 21 Feb 2009 22:29:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9437980</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9437980.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9437980</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/research/archive/2009/02/21/wtf-syllabus-for-the-rest-of-the-students-at-a-university-with-a-focus-on-functional-programming.aspx";digg_title = "WTF#: Syllabus for the rest of the students at a university, with a focus on Functional Programming";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;Information science and computer science pretty much control the programming classes and curriculum at the universities, colleges and trade schools.&amp;nbsp; Most of the training is either to implement and manage systems or how to write programs and think about new problems and solutions.&amp;nbsp; It is all good and needed, but what about the rest of the students?&amp;nbsp; &lt;/p&gt; &lt;p&gt;In my thinking, I am just thinking about the students down the hall from computer science, the mechanical/aero/civil/electrical engineers.&amp;nbsp; Much of what they do requires computations of some sort.&amp;nbsp; Their research requires the use of computers, but is the approach currently recommended by the ACM and IEEE really fitting the bill?&amp;nbsp; &lt;/p&gt; &lt;p&gt;Let’s say I am an electrical engineering student who is passionate about solving EMF problems related to the power curve utilization in the home.&amp;nbsp; Here the power delivered by power companies is being polluted by the switching power supplies used by computers and battery chargers.&amp;nbsp; That means that the AC power has all kinds of little spikes in it that changes the power distribution system in small ways.&lt;/p&gt; &lt;p&gt;Or I am a civil engineer that needs to do a hydrostatic simulation of drains in cities to determine the impact of gutter water on streams and ocean outlets.&amp;nbsp; Or I am an aero that needs to do a simulation of a historical aircraft, like the airplane model that &lt;a href="http://press.princeton.edu/chapters/i8331.pdf" target="_blank"&gt;Einstein created while playing with his son Hans&lt;/a&gt;.&amp;nbsp; Finally, what if I am a mechanical engineer that needs to do a dynamic stress analysis of a &lt;a href="http://www.hpcwire.com/offthewire/Ferrari_Takes_Windows_HPC_Server_for_a_Spin.html" target="_blank"&gt;Ferrari&lt;/a&gt; automobile.&lt;/p&gt; &lt;p&gt;How do I as an engineering student get started with developing a program that doesn’t necessarily require MatLab or Mathematica? Or even be able to extend those excellent tools?&amp;nbsp; &lt;/p&gt; &lt;p&gt;Java? C#? Visual Basic? Small Basic? Or a functional language that can do OOP when needed, like F#?&amp;nbsp; What does a engineering student get motivated by?&amp;nbsp; Having to write programs that conform to computer science protocols of code or problem domain?&amp;nbsp; Or does the student need something that conforms more to their domain knowledge needs?&amp;nbsp; What will these engineering students be doing with their domain knowledge when they go to work for the local utility firm, aerospace company, city permit desk or automotive design consultancy?&lt;/p&gt; &lt;p&gt;In the past functional languages such as FORTRAN, APL (&lt;a href="http://www.c2.com/cgi/wiki?AplLanguage" target="_blank"&gt;A Programming Language&lt;/a&gt;), would be there to help with the early engineering student to help with the matrix calculations of matrixes larger than 4 by 4, and so forth.&amp;nbsp; Today, the classes offered to these students may use a language like OCAML, which is the mother of F# where F# uses the light syntax of the OCAML language.&amp;nbsp; These languages are prefect for the engineer, and F# is a play for both sides of the equation, in that it is both functional as well as object oriented.&lt;/p&gt; &lt;p&gt;In a well designed class for the engineers and scientists, the computer science students who also attend the class would have to sit through the way that the matrixes are used in math and engineering.&amp;nbsp; But here is the trick: The engineers would be able to see the difference between the use of arrays and trees (something I always have problems with).&amp;nbsp; So by making the modifications the students would be able to gain a more diverse way to use software to solve problems.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5f174183-bb60-4eb9-bede-bc41e1e625b3" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/APL" rel="tag"&gt;APL&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FORTRAN" rel="tag"&gt;FORTRAN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Martix+Math" rel="tag"&gt;Martix Math&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Binary+Trees" rel="tag"&gt;Binary Trees&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Engineering" rel="tag"&gt;Engineering&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9437980" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/simulations/default.aspx">simulations</category><category domain="http://blogs.msdn.com/research/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/research/archive/tags/Science/default.aspx">Science</category><category domain="http://blogs.msdn.com/research/archive/tags/Electrical+Engineering/default.aspx">Electrical Engineering</category><category domain="http://blogs.msdn.com/research/archive/tags/Engineering/default.aspx">Engineering</category></item><item><title>F#: Re-Thinking the syllabus for training engineers and scientists in programming</title><link>http://blogs.msdn.com/research/archive/2009/02/20/f-re-thinking-the-syllabus-for-training-engineers-and-scientists-in-programming.aspx</link><pubDate>Fri, 20 Feb 2009 21:44:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9436409</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/research/comments/9436409.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9436409</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:left; margin:0px; padding:0px 8px 4px 0px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/research/archive/2009/02/20/f-re-thinking-the-syllabus-for-training-engineers-and-scientists-in-programming.aspx";digg_title = "F#: Re-Thinking the syllabus for training engineers and scientists in programming";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/FAsyllabus_7B51/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/FAsyllabus_7B51/image_thumb_1.png" width="216" height="244"&gt;&lt;/a&gt;  Well continuing my effort to bring F# to the Engineers, one of the things that Engineering students look for is the move from graphing calculators to solving problems in a way that doesn’t require an expensive tool like MatLab or Mathematica, although both are excellent tools.&amp;nbsp; When engineers leave school, it sometimes comes as a rude shock that the company they go to work for can’t afford the MatLab or Mathematica licenses.&amp;nbsp; &lt;/p&gt; &lt;p&gt;First, don’t get me wrong, MatLab and Mathematica are great tools and later I am going to cover the use of F# with these important tools (if I can get a copy of one of them to work with).&lt;/p&gt; &lt;p&gt;Over the past 30 years I have been an Electrical Engineer, and Electrical Engineers are often trapped between the physics of the universe on one side, mechanical engineers on the other, then computer science on the opposite side.&amp;nbsp; No one seems to understand the Electrical Engineer, it doesn’t help the Einstein’s equivalent of an undergraduate degree was in Electrical Engineering, that likely made it worse as the 20th century wore on.&amp;nbsp; Mechanicals and Civil engineers have similar complaints, Computer Science seems to have a desire to exist to create and solve problems unique to the domain of the computer.&amp;nbsp; And frankly they have done a great job of creating new technologies and jobs that employ 100’s of millions of people, so GOOD JOB Computer Scientists!&amp;nbsp; But the engineering and science types need a little love too, which with imperative programming such as C#, Java is not really able to supply.&lt;/p&gt; &lt;p&gt;Let’s take a look at a situation that sits between electrical engineering and mechanical engineering: Control Systems.&amp;nbsp; If I am designing a control system, I am not comfortable with object oriented software.&amp;nbsp; If I am doing a simulation of a control system over a long period of time, imperative programming isn’t something that does me much good.&amp;nbsp; Object Oriented programming is great for social networks, games, office applications, networks, but not for the control system simulation.&lt;/p&gt; &lt;p&gt;What is needed to excite the engineering students about programming?&amp;nbsp; The physics student?&amp;nbsp; Over the next few posts I will lay down some thoughts, and they will lead to functional programming with a dash of object oriented programming.&lt;/p&gt; &lt;p&gt;Do you have any thoughts on how a syllabus would look for non-CS students to get into programming?&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:165464da-973d-44bc-bfa5-f804a4efb24c" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/F%23" rel="tag"&gt;F#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FSharp" rel="tag"&gt;FSharp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Functional+Programmning" rel="tag"&gt;Functional Programmning&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9436409" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/research/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/research/archive/tags/Science/default.aspx">Science</category><category domain="http://blogs.msdn.com/research/archive/tags/Electrical+Engineering/default.aspx">Electrical Engineering</category><category domain="http://blogs.msdn.com/research/archive/tags/Engineering/default.aspx">Engineering</category></item><item><title>Professors: Get No Cost software for your students</title><link>http://blogs.msdn.com/research/archive/2009/02/17/professors-get-free-software-for-your-students.aspx</link><pubDate>Tue, 17 Feb 2009 21:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9428076</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9428076.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9428076</wfw:commentRss><description>&lt;DIV style="PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 8px; FLOAT: left; PADDING-TOP: 0px" class=wlWriterHeaderFooter&gt;
&lt;SCRIPT type=text/javascript&gt;digg_url = "http://blogs.msdn.com/research/archive/2009/02/17/professors-get-free-software-for-your-students.aspx";digg_title = "Professors: Get No Cost software for your students";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/SCRIPT&gt;

&lt;SCRIPT type=text/javascript src="http://digg.com/tools/diggthis.js" mce_src="http://digg.com/tools/diggthis.js"&gt;&lt;/SCRIPT&gt;

&lt;SCRIPT type=text/javascript&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/SCRIPT&gt;
&lt;/DIV&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 30px; DISPLAY: inline; FLOAT: left; PADDING-TOP: 0px" id=scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:de602b19-e40d-4c1a-9031-acce001a5c59 class=wlWriterSmartContent&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-TOP: 0px" id=251551dc-a58e-41fa-8c15-ab817f881328&gt;
&lt;DIV&gt;&lt;A target=_new href="http://video.msn.com/video.aspx?vid=290f2df7-1e8c-4b01-97aa-4983bed3e7ee&amp;amp;from=writer" mce_href="http://video.msn.com/video.aspx?vid=290f2df7-1e8c-4b01-97aa-4983bed3e7ee&amp;amp;from=writer"&gt;&lt;IMG style="BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none" alt="" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ProfessorsGetFreesoftwareforyourstudents_8B81/video5590adc319f9.jpg" onload="var downlevelDiv = document.getElementById('251551dc-a58e-41fa-8c15-ab817f881328'); downlevelDiv.innerHTML = &amp;quot;&lt;div&gt;&lt;embed src=\&amp;quot;http://images.video.msn.com/flash/soapbox1_1.swf\&amp;quot; quality=\&amp;quot;high\&amp;quot; width=\&amp;quot;432\&amp;quot; height=\&amp;quot;364\&amp;quot; wmode=\&amp;quot;transparent\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; pluginspage=\&amp;quot;http://macromedia.com/go/getflashplayer\&amp;quot; flashvars=\&amp;quot;c=v&amp;amp;v=290f2df7-1e8c-4b01-97aa-4983bed3e7ee&amp;amp;from=writer&amp;amp;mkt=en-US\&amp;quot; &gt;&lt;\/embed&gt;&lt;\/div&gt;&amp;quot;;" galleryimg="no" mce_src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/ProfessorsGetFreesoftwareforyourstudents_8B81/video5590adc319f9.jpg"&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Hey PROFESSORS of Science, Technology, Engineering, Math and Design: You can get no-cost Software for your&amp;nbsp; students, labs and for your instructional use!&lt;/P&gt;
&lt;P&gt;Check out this video to see all of the no-cost software available through the MSDNAA program, there may be a small subscription fee for your school to get this software.&amp;nbsp; If you are a professor at a California Community College, PLEASE contact the foundation to get information on the MSDNAA subscription.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;There are a lot of software, so take a look at the video for the full list of software products.&amp;nbsp; The easy and short way to say how much software is in the MSDNAA subscription:&lt;/P&gt;
&lt;P&gt;Almost everything Microsoft creates, except for MS Word, Excel and Powerpoint is included in the MSDNAA subscription.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e5a2b2fe-025b-4b56-b289-95cdbdf4cfaf class=wlWriterSmartContent&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/MSDNAA" rel=tag mce_href="http://technorati.com/tags/MSDNAA"&gt;MSDNAA&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Engineering" rel=tag mce_href="http://technorati.com/tags/Engineering"&gt;Engineering&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Science" rel=tag mce_href="http://technorati.com/tags/Science"&gt;Science&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Research" rel=tag mce_href="http://technorati.com/tags/Research"&gt;Research&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9428076" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/Science/default.aspx">Science</category><category domain="http://blogs.msdn.com/research/archive/tags/Engineering/default.aspx">Engineering</category><category domain="http://blogs.msdn.com/research/archive/tags/MSDNAA/default.aspx">MSDNAA</category></item><item><title>WTF#: Curriculum for F# part 1, thinking about curriculum for CS</title><link>http://blogs.msdn.com/research/archive/2009/02/16/wtf-curriculum-for-f-part-1-thinking-about-curriculum-for-cs.aspx</link><pubDate>Mon, 16 Feb 2009 23:56:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9426450</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9426450.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9426450</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:left; margin:0px; padding:0px 8px 4px 0px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/research/archive/2009/02/16/wtf-curriculum-for-f-part-1-thinking-about-curriculum-for-cs.aspx";digg_title = "WTF#: Curriculum for F# part 1, thinking about curriculum for CS";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;No picture today, the Community server didn’t want to host it.  &lt;p&gt;What the F#, umm, does that work?&amp;nbsp; Oh well, I’ll stick with it for awhile.&amp;nbsp; After all blogs like this are not broadly read, so I figure I can talk about anything I want to.&amp;nbsp; Ok, on to curriculum and pedagogical discussions:&amp;nbsp; &lt;ul&gt; &lt;ul&gt; &lt;ul&gt; &lt;li&gt;So what should a curriculum for a class that uses F# look like?&amp;nbsp; &lt;/li&gt; &lt;li&gt;Should it be curriculum for Computer Scientists or can a new path be adopted?&amp;nbsp; &lt;/li&gt; &lt;li&gt;If a new path is adopted then will it be accepted?&amp;nbsp; &lt;/li&gt; &lt;li&gt;Should I care if it is accepted?&amp;nbsp; (Answer: Yes)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;After all, I have read most of Minsky’s papers and posts over the past 50 YEARS and he doesn’t seem to really care what other people think.&amp;nbsp; Of course, he is a tenured professor and I have to think about profit and audience. &lt;p&gt;So what would be a source for representative curriculum?&amp;nbsp; OCAML classes come to mind, the excellent work done at UCSD on OCAML might be a good source, but on thinking about it, why?&amp;nbsp; F# and OCAML are very similar except that F# is tied to the .NET Framework and OCAML isn’t, the Light Syntax is the same. &lt;p&gt;But what about the structure of the class, if the market is to be engineers and scientist does the class have to be difficult, or should it be a fun way to re-attract the students to programming?&amp;nbsp; A honeypot would be a class that is fun and informative, with an eye to the student getting a very positive experience out of the classroom. &lt;p&gt;In starting my curriculum development, I will review the “Seven Deadly Sins of Introductory Programming Language Design&lt;a name="_ednref1" href="#_edn1"&gt;[i]&lt;/a&gt;”. Although neither F#&amp;nbsp; or OCAML was designed to be a first language, for engineers and scientists, it might very well be the only programming language this group of students will deal with in the future.&amp;nbsp; The domain knowledge for engineers and scientists, not to mention the large load of “general education” in the US, means that the undergraduate engineering and science students may only have one programming classes at many schools.&amp;nbsp; So in developing the curriculum the rules in the Seven Deadly Sins need to be avoided. &lt;p&gt;1. &lt;u&gt;Less is More&lt;/u&gt;:  &lt;ul&gt; &lt;li&gt;Much of the problem solving that students do in the real world is procedural&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;2. &lt;u&gt;More is More&lt;/u&gt;:  &lt;ul&gt; &lt;li&gt;“..syntax vs semantics, static vs dynamic structure, process vs data, puts a big cognitive load on the student….”&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;3. &lt;u&gt;Grammatical traps&lt;/u&gt;:  &lt;ul&gt; &lt;li&gt;“…confusing syntactic and semantic constructs which are present in most introductory languages…”&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;4. &lt;u&gt;Hardware dependence&lt;/u&gt;:  &lt;ul&gt; &lt;li&gt;”… novice programmer is often forced to contend simultaneously with the constraints of the underlying hardware…”&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;5. &lt;u&gt;Backwards Compatibility&lt;/u&gt;: “ &lt;ul&gt; &lt;li&gt;…languages which attempt a significant degree of historical consistency inevitably perpetuate some problematical constructs.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;6. &lt;u&gt;Excessive Cleverness&lt;/u&gt;:  &lt;ul&gt; &lt;li&gt;“…some languages (ABC, Haskell and Python, for instance) use indentation to specify scope. This eliminates the need for grouping constructs...” &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;7. &lt;u&gt;Violations of Expectations&lt;/u&gt;:  &lt;ul&gt; &lt;li&gt;In this case the beginning programming language may do something that is not expected or uses a non-institutive rule such as always sorting lists upon input or violating semantic rules&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In a future post I will review how these rules impact F#, which could be a great first programming language for non-CS, the bulk of the rest of students would clearly benefit from a functional language similar to F#.&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;The big question is this: How do you motivate the students who only want the programming language to solve domain problems and aren’t into the programming for programming sake? &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:21633929-ac9b-470f-8ca4-29bc77e34d3e" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/XNA" rel="tag"&gt;XNA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/research" rel="tag"&gt;research&lt;/a&gt;,&lt;a href="http://technorati.com/tags/curriculum" rel="tag"&gt;curriculum&lt;/a&gt;,&lt;a href="http://technorati.com/tags/first+programming+language" rel="tag"&gt;first programming language&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp; &lt;hr align="left" size="1" width="33%"&gt;  &lt;p&gt;&lt;a name="_edn1" href="#_ednref1"&gt;[i]&lt;/a&gt; Conway, D. and McIver, L. &lt;i&gt;Seven Deadly Sins of Introductory Programming Language Design&lt;/i&gt;. Department of Computer Science, Monash University. &amp;lt;&lt;a href="http://www.csse.monash.edu.au/~damian/papers/PDF/SevenDeadlySins.pdf"&gt;&lt;b&gt;http://www.csse.monash.edu.au/~damian/papers/PDF/SevenDeadlySins.pdf&lt;/b&gt;&lt;/a&gt;&amp;gt;.  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Conway, D. and McIver, L. &lt;em&gt;Seven Deadly Sins of Introductory Programming Language Design&lt;/em&gt;. Department of Computer Science, Monash University. &amp;lt;&lt;a href="http://www.csse.monash.edu.au/~damian/papers/PDF/SevenDeadlySins.pdf"&gt;http://www.csse.monash.edu.au/~damian/papers/PDF/SevenDeadlySins.pdf&lt;/a&gt;&amp;gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9426450" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/research/archive/tags/XNA/default.aspx">XNA</category><category domain="http://blogs.msdn.com/research/archive/tags/Science/default.aspx">Science</category><category domain="http://blogs.msdn.com/research/archive/tags/Engineering/default.aspx">Engineering</category><category domain="http://blogs.msdn.com/research/archive/tags/Microsoft+Developers+Network/default.aspx">Microsoft Developers Network</category><category domain="http://blogs.msdn.com/research/archive/tags/MSDN+Academic+Alliance/default.aspx">MSDN Academic Alliance</category><category domain="http://blogs.msdn.com/research/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/research/archive/tags/MSDNAA/default.aspx">MSDNAA</category></item><item><title>F#, Imperative Languages and Identifiers</title><link>http://blogs.msdn.com/research/archive/2008/12/29/f-imperative-languages-and-identifiers.aspx</link><pubDate>Tue, 30 Dec 2008 00:21:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9256188</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/research/comments/9256188.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9256188</wfw:commentRss><description>&lt;p&gt;OMG!&amp;nbsp; I got pulled off my usual job of doing a bunch of things and have been focused on getting students involved in the Imagine Cup Software Design Invitational in the United States.&amp;nbsp; Then it was Christmas and I ate to many cookies, etc.&amp;nbsp; Finally I ignored my one comment from a int19h, and when you get as few comments as I do, everyone is precious!&lt;/p&gt; &lt;p&gt;Int19h ask about my previous blog:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;"This is one of the differences between functional programming (F#, OCAML) and imperative&amp;nbsp; programming (C#, VB.NET, Java), the concept of identifiers is not really supported in the imperative languages, although there are constants. &lt;p&gt;Can you explain what you mean by "the concept of identifiers is not supported"? Try as I might, I cannot parse this in such a way as to produce some meaning."&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Fair enough int19h, just what in the heck was I saying?&amp;nbsp; Well, if I had wrote my next blog on the day I thought about it, instead of focusing like a laser on getting the students involved with Imagine Cup (hopefully my manager is reading that!).&amp;nbsp; The concept of the identifier in F# could be explained with this quote from Chris Smith's blog entry,&amp;nbsp; &lt;a target="_blank" href="http://blogs.msdn.com/chrsmith/archive/2008/05/09/f-in-20-minutes-part-ii.aspx"&gt;F# in 20 Minutes&lt;/a&gt;: &lt;blockquote&gt; &lt;p&gt;"...using the term ‘value’ to refer to &lt;u&gt;identifiers&lt;/u&gt; rather than ‘variable’.&amp;nbsp; The reason for this is that types in F# are immutable by default, meaning that once they are created they cannot be changed. This may seem like a severe limitation, but immutability actually prevents &lt;a href="http://blogs.gotdotnet.com/jomo_fisher/archive/2007/05/16/leaky-functions-barrel-of-bugs.aspx"&gt;some classes of bugs&lt;/a&gt;. In addition, immutable data is inherently thread safe meaning you don’t need to worry about sync locks in order to make your code parallelizeable."&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;What is an "Identifier"?&amp;nbsp; Identifiers give names to values in F# for reference later in a program.&amp;nbsp; You would use the keyword 'let', in the following manner, no semi-colon:  &lt;blockquote&gt; &lt;p&gt;let x = 15&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;When a value is assigned to an identifier, it never changes in a functional program. The style is to refer to this construct as identifiers and not variables, see the book "Foundations of F#", by Robert Pickering. &lt;p&gt;Functions and Values in F# are treated exactly the same, also, functions in F# supports passing less arguments than the function supports, which is referred to as partial or curried functions.&amp;nbsp;&amp;nbsp; For more information on this see&amp;nbsp; this excellent &lt;a target="_blank" href="http://weblogs.asp.net/podwysocki/archive/2008/02/21/adventures-in-f-f-101-part-2.aspx"&gt;Podwyski's blog entry&lt;/a&gt;. &lt;p&gt;&amp;nbsp; &lt;p&gt;Are you interested in loading up F# and Visual Studio&amp;nbsp; but don't want to buy or load the full version of Visual Studio?&amp;nbsp; This is a great way to learn about the Visual Studio Shell and to get started with F#, if you have VS Pro or VS team system, then you only need to load up F#, unless you want to add Visual Studio Shell to your development tools, go ahead and load it. &lt;p&gt;First download and install the Visual Studio Shell: &lt;blockquote&gt; &lt;p&gt;&lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=40646580-97FA-4698-B65F-620D4B4B1ED7&amp;amp;displaylang=en"&gt;Microsoft Visual Studio 2008 Shell (integrated mode) Redistributable Package&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Then download and install F# CTP: &lt;blockquote&gt; &lt;p&gt;&lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=61ad6924-93ad-48dc-8c67-60f7e7803d3c&amp;amp;displaylang=en"&gt;Microsoft F#, September 2008 Community Technology Preview&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Have fun, make sure to check out the various blogs out there, so much good stuff, so little time!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9256188" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/research/archive/tags/simulations/default.aspx">simulations</category><category domain="http://blogs.msdn.com/research/archive/tags/Science/default.aspx">Science</category><category domain="http://blogs.msdn.com/research/archive/tags/Electrical+Engineering/default.aspx">Electrical Engineering</category><category domain="http://blogs.msdn.com/research/archive/tags/Engineering/default.aspx">Engineering</category></item></channel></rss>