<?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 : Orbital Mechanics</title><link>http://blogs.msdn.com/research/archive/tags/Orbital+Mechanics/default.aspx</link><description>Tags: Orbital Mechanics</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F#: Ballistics, Rocketry and Research 4/11/2009 posting</title><link>http://blogs.msdn.com/research/archive/2009/04/11/f-ballistics-rocketry-and-research-4-11-2009-posting.aspx</link><pubDate>Sat, 11 Apr 2009 21:56:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9545710</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/research/comments/9545710.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9545710</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/11/f-ballistics-rocketry-and-research-4-11-2009-posting.aspx";digg_title = "F#: Ballistics, Rocketry and Research 4/11/2009 posting";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;Quiz answers  &lt;p&gt;Is the “let” keyword only used for values?  &lt;ul&gt; &lt;li&gt;No, the “let” keyword is used for values and functions&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Is the “let” keyword only used for functions?  &lt;ul&gt; &lt;li&gt;No, functions and values are treated the same way in F#&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;If I write the line of code: let TimeBump = 1.0&amp;lt;ft&amp;gt;*3.0&amp;lt;m&amp;gt;, will I get a context error indication?  &lt;ul&gt; &lt;li&gt;Yes, if the units are set in F#, then ft cannot dimensionally be used with meters.&amp;nbsp; F# does not support the dimensional analysis by default, there is some work required to make it happen.&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://alainefrankland.com/CHEMNOTES/dimensionalpracticeanswers.jpg" width="334" height="298"&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;We will drive back to the Estes code in a later entry, for now, the dimensional analysis problem and solution in F# is more fully described.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Back to reading &lt;a href="http://bit.ly/Rl6PB"&gt;Chris Smith’s&lt;/a&gt; code from his well written codei BurnedLand, the previous post discussed the F# class: enviroment.fs.&amp;nbsp; One of the quiz questions ask about the use of units and dimensional analysis.&amp;nbsp; Let’s take a look at the way Chris set-up the units of measurement, Chris used an efficient process.&amp;nbsp; To define a unit of measurement it is done by using the syntax, in this case the units such as m represent meters, but the code only knows that it is an m unit of some sort that is different than an f, which might be a unit of measurement about 1/3 of a meter used in the US.&amp;nbsp; The compiler examines the calculations and uses certain rules of dimensional analysis.&amp;nbsp; For now, to keep it simple, if you attempt to add the unit m and the unit f, you will get a syntax error indication in your code.&amp;nbsp; From a dimensional analysis it would make sense to have meters/feet if you are doing conversions to either meters or feet.&amp;nbsp; &lt;a href="http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.pdf"&gt;Units of measurement&lt;/a&gt; can be squared as well, for instance the following, this is an example from the &lt;a href="http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.pdf"&gt;F# Code specification&lt;/a&gt;, page 138:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;let earthGravity = 9.81f&amp;lt;m/s^2&amp;gt;  &lt;ul&gt; &lt;li&gt;Here the unmutable variable earthGravith utilizes the units m and the units s, we know that the unit m stands for meters and the s stands for seconds&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;let atmosphere = 101325.0&amp;lt;N m^-2&amp;gt;  &lt;ul&gt; &lt;li&gt;This is an atmosphere at sea level on Earth, as you can see the units for meters is –2, and this could be rewritten as &amp;lt;N/m^2&amp;gt; depending on style considerations  &lt;li&gt;There is no run-time performance hit since the units are stripped off during the compilation process, they are used only during the development process&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The ability to show units is big help in making sure that computer scientists, who are skilled at organizing 1’s and 0’s, keep in mind that their work may need to be reviewed and used by non-Computer Scientists.&amp;nbsp; The non-Computer Scientists may be an Electrical Engineer who thinks in Ohms law, or the Mechanical Engineer who thinks about stresses and coefficients of restitution, which all require the ability to read the code in a manner that they think.&lt;/p&gt; &lt;p&gt;Here is the code from the Chris Smith’s BurnedLand&lt;/p&gt; &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;#light &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;// Define custom units of measure. &lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;[&amp;lt;Measure&amp;gt;]&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;type m &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;[&amp;lt;Measure&amp;gt;]&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;type s &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;[&amp;lt;Measure&amp;gt;]&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;type kg &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;[&amp;lt;Measure&amp;gt;]&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;type joules &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;[&amp;lt;Measure&amp;gt;]&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;type degs &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;[&amp;lt;Measure&amp;gt;]&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;type rads &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;// Conversion routines for degrees and radians &lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;open System &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;let DegsToRads (angle : &lt;span style="color: #0000ff"&gt;float&lt;/span&gt;&amp;lt;degs&amp;gt;) = angle * Math.PI / 180.0 / 1.0&amp;lt;degs&amp;gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;let RadsToDegs (rads  : &lt;span style="color: #0000ff"&gt;float&lt;/span&gt;&amp;lt;rads&amp;gt;) = rads  * 180.0 / Math.PI / 1.0&amp;lt;rads&amp;gt; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&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:aa8cfb48-f2cc-44d9-ae7f-5d906b984ffb" 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/Dimensional+analysis" rel="tag"&gt;Dimensional analysis&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/Fun" rel="tag"&gt;Fun&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9545710" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/research/archive/tags/eScience/default.aspx">eScience</category><category domain="http://blogs.msdn.com/research/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/research/archive/tags/Mars+Climate+Orbiter/default.aspx">Mars Climate Orbiter</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/Orbital+Mechanics/default.aspx">Orbital Mechanics</category></item><item><title>WTF#: Changing the curriculum on programming for scientists and engineers</title><link>http://blogs.msdn.com/research/archive/2009/03/23/wtf-changing-the-curriculum-on-programming-for-scientists-and-engineers.aspx</link><pubDate>Mon, 23 Mar 2009 18:39:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9501600</guid><dc:creator>SoCal Sam</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/research/comments/9501600.aspx</comments><wfw:commentRss>http://blogs.msdn.com/research/commentrss.aspx?PostID=9501600</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/23/wtf-changing-the-curriculum-on-programming-for-scientists-and-engineers.aspx";digg_title = "WTF#: Changing the curriculum on programming for scientists and engineers";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/WTFChangingthecurriculumonprogrammingfor_79BC/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 0px 15px; border-left: 0px; border-bottom: 0px" height="332" alt="image" src="http://blogs.msdn.com/blogfiles/research/WindowsLiveWriter/WTFChangingthecurriculumonprogrammingfor_79BC/image_thumb.png" width="410" align="right" border="0"&gt;&lt;/a&gt; Changing the curriculum for Physics Majors and Engineers, as we can see, the process to prepare people who might be engineers and scientists (except for the computer scientists) need to have some modifications.&amp;nbsp; First of all, the process of training engineers and scientists appears to be modified, the computer scientist students need different approaches, they are building, deploying and maintaining tools.&amp;nbsp; The current approach of attempting to combine engineering and scientists in the training of programming doesn’t help the computer scientists, they have to spend time learning languages like Java and C#, that could be better spent learning and using C++.&amp;nbsp; Engineers, especially Computer Engineers have to spend time not learning the C Language used in controllers (although there are better languages), other engineers and scientists do not spend enough time learning how to implement solutions using high level languages.&lt;/p&gt; &lt;p&gt;Examination of the Mars Climate Orbiter clearly points to the factors that the aerospace engineers could have better served learning how to use tools to test the integration of the MCO, which would have been higher level languages.&amp;nbsp; &lt;/p&gt; &lt;p&gt;System engineering, software engineering is still suffering from lack of focus, although lately there has been a stronger focus on the implementation of improved software engineering at schools like California State University, Fullerton and others.&amp;nbsp; To me it is time that engineers feel comfortable with programming, programming that will solve their problems, not computer scientists.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Of course the problem for the schools is getting the students interested in the programs.&lt;/p&gt; &lt;p&gt;In later blogs, I will be covering the solution of simple physics problems using F#, but for now, I hope to hear from you about how to improve the teaching of programming for engineers and scientists.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7c02aa70-5b9d-4072-a898-b6229b5b5970" 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/Curriculum" rel="tag"&gt;Curriculum&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WTF" rel="tag"&gt;WTF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/science" rel="tag"&gt;science&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=9501600" width="1" height="1"&gt;</description><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/MSDNAA/default.aspx">MSDNAA</category><category domain="http://blogs.msdn.com/research/archive/tags/Mars+Climate+Orbiter/default.aspx">Mars Climate Orbiter</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/Orbital+Mechanics/default.aspx">Orbital Mechanics</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></channel></rss>