Faculty Connection is an online set of real-world resources and shared peer knowledge, the goal of the Faculty Connection site is to put relevant and applicable tools and information at the fingertips of technology educators.
The UK Academic Team is responsible for offering IT students and faculty members free access to software, for enhancing knowledge and skills by providing curriculum materials and other learning opportunities, for helping students achieve their dreams by organizing an international competition, and finally for assisting last year students through career resources and job opportunities at our customers and partners.
With this blog we want to inform you on our latest initiatives.
Enjoy reading and stay tuned!
Next week I will be at the Develop Conference, attending some of the 103 sessions, 5 keynotes, and on the Microsoft stand at the Expo. I’m looking forward to networking with the 1500 developers and 450 companies during the event and discussing the opportunity of developing Windows 8 Metro Style games.
On http://msdn.microsoft.com/en-us/library/windows/apps/hh452780.aspx we list options for developing Windows 8 games.
At present there are over 50 games available in the store using the above technologies, here are some good links to get started
· Metro style app using C++, C#, or Visual Basic and XAML. You can use managed code languages like C# and Visual Basic to develop 2D (and lightweight 3D) games. If you have developed in Silverlight for Internet Explorer or Windows Phone 7, this model will feel very familiar.
· Metro style C++ with DirectX. You can develop both 2D and 3D games that effectively use the graphics processing horsepower on a range of Windows desktops and 3D-enabled Windows devices, from high powered gaming rigs to low power slates. It requires a strong working knowledge of Windows programming and native C/C++.
There are a number of online tutorial around Marble Maze which is a DirectX game written in C++. This leads you to the more basic “Hello World” example over here although while the results of that example are “Hello World” in nature.
There’s another, more realistic sample over here with a walk-through to build up a Metro style shooting game. It takes the form of a completed code sample and a walk through of what’s going on in that sample.
It runs to around 40 source files.
The key learning outcome for starting to build games for Metro are as follows as these would make excellent starting points for curricula development for Developing Metro Style Games.
1) Understanding how a Metro style app gets on the screen – i.e. the infrastructure around IFrameworkViewSource and IFrameworkView.
2) Understanding C++/CX which is a bunch of C++ extensions relatively familiar to people like me who’ve come from the C++/CLI world but a bit odd to a regular C++ developer.
3) Understanding some of the technologies used like the Parallel Patterns Library (PPL) which our default templates throw at you.
4) Understanding some of the C++ 11 techniques like lambdas which our default templates also throw at you.
5) Understanding how a Metro style app is meant to work from the point of view of lifecycle management (i.e. suspend/resume/terminate).
6) Understanding the WinRT APIs available and their main usage and purpose.
Steps 5 & 6 are common to any Windows 8 Metro style app developer.
As we are all aware, there are many game engines /frameworks (middleware) available. Some of these are already supporting development for Win 8 metro games whilst others are planning to support it within the coming months. I have listed the ones which are or have short terms plans to support W8 metro apps. I am sure that there will be more to come…
A full games development tool/suite – physics, rendering, scripting, AI etc.
Windows 8 Metro support: coming soon (for GA)
An Open Source, OpenGL implementation of the Microsoft XNA 4 Framework
Windows 8 Metro support: coming soon (‘later this year’)
Dev languages: C#/XNA
SharpDX is an open-source project delivering the full DirectX API under the .Net platform, allowing the development of high performance game, 2D and 3D graphics rendering as well as realtime sound application.
Windows 8 Metro support: Now
Dev languages: C#
Big Data Solution
Microsoft’s end-to-end roadmap for Big Data embraces Apache Hadoop™ by distributing enterprise class Hadoop based solutions on both Windows Server and Windows Azure. The roadmap includes Microsoft BI tools such as SQL Server Analysis Services, Reporting Services and even PowerPivot and Excel. This enables you to do BI on all your data, including those in Hadoop.
On the more technical front, we have been working on a simplified download, installation and configuration experience of several Hadoop related technologies, including HDFS, Hive, and Pig, which will help broaden the adoption of Hadoop in the enterprise.
The Hadoop based service for Windows Azure will allow any developer or user to submit and run standard Hadoop jobs directly on the Azure cloud with a simple user experience. Therefore it doesn’t matter what platform you are developing your Hadoop jobs on -you will always be able to take a standard Hadoop job and deploy it on our platform, as we strive towards full interoperability with the official Apache Hadoop distribution.
This is great news as it lowers the barrier for building Hadoop based applications while encouraging rapid prototyping scenarios in the Windows Azure cloud for Big Data.To facilitate all of this, we have also entered into a strategic partnership with Hortonworks that enables us to gain unique experience and expertise to help accelerate the delivery of Microsoft’s Hadoop based distributions on both Windows Server and Windows Azure.
Finally, in line with our commitment to Interoperability and to facilitate the high performance bi-directional movement of enterprise data between Apache Hadoop and Microsoft SQL Server, we have released two Hadoop-based connectors for SQL Server to manufacturing.
The SQL Server connector for Apache Hadoop lets customers move large volumes of data between Hadoop and SQL Server 2008 R2, while the SQL Server PDW connector for Apache Hadoop moves data between Hadoop and SQL Server Parallel Data Warehouse (PDW). These new connectors will enable customers to work effectively with both structured and unstructured data.
For more information see http://www.microsoft.com/bigdata
Normally, if were installing the Windows Phone SDK 7.1 onto a single machine you do it through the web installer located here:
or via Microsoft Download centre at http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27570
However, if you need to install it on a disconnected machine (VM image) or deploy the SDK to a number of machines within a lab or cluster it’s helpful to have an .iso of the installation media to install from.
Microsoft also provides a download for the .iso as well. You can get it from here http://go.microsoft.com/fwlink/?LinkID=226694
Installing the Windows Phone SDK via ISO
Phone SDK consists of many packages/products and all these are installed on User’s machine as part of Phone SDK installation. Some of these packages are Emulator, XNA, Blend, Visual Studio Add-in for VS Ultimate, etc. Each individual package has got it’s own MSI.
When you extract the ISO (let’s say in dvd folder), you will find Setup.exe at the base level (dvd folder). This is a chainer and invokes all the MSIs one-after-another, the same way you mentioned below. Anyone who wants to install through ISO, should double-click Setup.exe and installation will start. It also gives you the option of Silent install same as MSI (option /q) and thus can be used through automation scripts as well.
This is an important folder which contains most of the package MSIs but they should not be invoked separately. The complete installation is dependent on the sequence in which these MSIs are installed.
After Uninstall, only Expression Blend entries are left back and this is known. Blend is a separately installed product and many Universities may therefore have this previously installed, as such we decided not to uninstall Blend in case a licensed version is present on the machine and our uninstall causes any problems with previously installed products.
In short, consider Setup.exe as your master MSI and use it in your scripts, everything should work.
The creation of MSI is primary used for legacy applications that were written prior to msi technology, and may be unreliable as the "snapshot" technique does not take into account existing software dependencies.
Windows does not natively contain the necessary tools for you to create your own MSI files. Instead, you will have to rely on a third party MSI creation tool. There are several good tools available for free. Two of the more popular choices are MAKEMSI (http://dennisbareis.com/makemsi.htm) and WinInstall LE 2003 (http://www.ondemandsoftware.com/freele.asp).
The reason why .MSI files are the preferred installer package for Windows is because of the file format’s capabilities. When you install or uninstall an MSI file on a machine running Windows 7, Windows creates a system restore point. Furthermore, MSI files allow the application to be “self healing”. I’ll talk more about this later on, but basically this means that if part of the application is damaged or removed, then Windows has enough information to replace the damaged or missing parts. Finally, MSI files allow the system to automatically perform a rollback to its previous state if an installation should fail.
With MSI files having so many capabilities, it should come as no surprise that MSI files tend to be a bit complex. MSI files are actually database files with information pertaining to every file and setting that the application installs or modifies. Because of this complexity, most of the MSI file creation utilities require you to do at least some scripting when you create an MSI file.
WinInstall LE requires you to have a machine with a clean Windows installation and network connectivity. The software then takes a snapshot of this machine and saves the configuration image. You would then install the application that you want to create the MSI file for and take another snap shot. WinInstall would then compare the snapshots and use the differences between the two images to create an MSI file and the corresponding installation package.
This method is a little time consuming, but is far less tedious than writing scripts. Another advantage to using this method is that it is possible to install multiple applications on to the clean machine prior to taking the second snap shot. This means that you can create a single MSI file and installation package that deploys multiple applications.
Now that you know how to create an MSI file, there is one last concept that I need to talk about before I show you how to deploy an application thorough the Active Directory.
As you may already know, in an Active Directory environment, group policies are the main component of network security. Group policy objects can be applied either to users or to computers. Deploying applications through the Active Directory is also done through the use of group policies, and therefore applications are deployed either on a per user basis or on a per computer basis.
There are two different ways that you can deploy an application through the Active Directory. You can either publish the application or you can assign the application. You can only publish applications to users, but you can assign applications to either users or to computers. The application is deployed in a different manner depending on which of these methods you use.
Publishing an application doesn’t actually install the application, but rather makes it available to users. For example, suppose that you were to publish the Windows Phone SDK tools. Publishing is a group policy setting, so it would not take effect until the next time that the user logs in. When the user does log in though, they will not initially notice anything different. However, if the user were to open the Control Panel and click on the Add / Remove Programs option, they will find that Microsoft Windows SDK is now on the list. A user can then choose to install Microsoft Windows SDK on their machine.
Assigning an application to a user works differently than publishing an application. Again, assigning an application is a group policy action, so the assignment won’t take effect until the next time that the user logs in. When the user does log in, they will see that the new application has been added to the Start menu and / or to the desktop.
Although a menu option or an icon for the application exists, the software hasn’t actually been installed though. To avoid overwhelming the server containing the installation package, the software is not actually installed until the user attempts to use it for the first time.
This is also where the self healing feature comes in. When ever a user attempts to use the application, Windows always does a quick check to make sure that the application hasn’t been damaged. If files or registry settings are missing, they are automatically replaced.
Assigning an application to a computer works similarly to assigning an application to a user. The main difference is that the assignment is linked to the computer rather than to the user, so it takes effect the next time that the computer is rebooted. Assigning an application to a computer also differs from user assignments in that the deployment process actually installs the application rather than just the application’s icon.
Setting up the actual deployment is simple. The biggest thing that you must remember is that the MSI file and the corresponding package must exist within a network share, and everyone must have read permissions for that share.
To perform the deployment, open the Group Policy Editor. To publish or assign an application to a user, navigate through the group policy console to User Configuration | Software Settings | Software Installation. Now, right click on the Software Installation container and select the New | Package commands from the shortcut menu. Select the appropriate MSI file and click Open. You are now asked whether you want to publish or assign the application. Make your selection and click OK.
The process for assigning an application to a computer is almost identical. The only real difference is that you would use the Software Settings | Software Installation container beneath the Computer Configuration container rather than beneath the User Configuration container.
With the announcement that you can run Hyper-V on the Windows 8 client. I have had a lot of questions regarding this? I did do a post back in August explaining the process of checking your PC estate for SLAT Support see http://blogs.msdn.com/b/uk_faculty_connection/archive/2012/08/31/if-your-thinking-of-installing-windows-8-are-your-labs-machine-capable.aspx
A number of people have reported simple having problems running Hyper-V on a Windows 8 client as it requires SLAT to run Hyper-V.
Running Hyper-V on Windows Server 2012 does *not* require SLAT but most institutions don't want to install a server OS as a desktop operating system. SLAT is a feature of the CPU. It is called “Rapid Virtualization Indexing (RVI)”, and has been called Extended Page Tables (EPT) by Intel and Nested Page Tables (NPT) by AMD.
You can use Wikipedia to look up Intel Nehalem and AMD NPT:
Processors that support SLAT
For AMD machines you can look up the supported models at http://support.amd.com/us/kbarticles/Pages/GPU120AMDRVICPUsHyperVWin8.aspx
Tools for testing for SLAT Microsoft’s Mark Russinovich has also created a really nice utility coreinfo.exe You can simply run coreinfo.ext and it will detect EPT and NPT (SLAT) support on your CPU.
To test your machine, simply download coreinfo.exe from Microsoft Sysinternals http://technet.microsoft.com/en-us/sysinternals/cc835722 and use the coreinfo -v switch to list the features. An asterisk * next to a feature indicates that it is supported. A minus sign - indicates no support for that feature. Note: Coreinfo must be executed on a system without a hypervisor running for accurate results and under a administrator account on Windows 8. For example here is a screenshot from my Lenovo X200 series tablet
“*” means the feature is present
“-“ means it is missing
Alternatively, you can use Windows PowerShell to capture your specific CPU model this could be scripted to report the state of your entire PC labs or cluster estate the PowerShell command is gwmi win32_processor
NOTE: Be sure to include the specific family/model/stepping since different processor revisions may have different feature sets.
Last week I was travelling the country talking to academics and students about the opportunity of building apps for Windows 8.
During the week I had a number of really interesting discussions, however on Friday I had a comment from one student, who simply believed Windows 8, was for touch devices only.
We got onto the topic of keyboard and mouse as I was presenting using a Lenovo thinkpad which supports both touch and keyboard and mouse. I was simply demonstrating Windows navigation via touch and then via keyboard and mouse during the presentation demos and the student in question seemed to be blown away by this and when we discussed this it more detail after the event he wasn't aware of the number of Windows Shortcut keys available.
So here a quick list of some of my favourites
Charms and menus
Apps Search Screen
Files Search Screen
Split to the right
Split to the left
Scroll Start Screen
Apps Options/App bar
DVD + On-line
Windows Phone Programming in C# by Prof Rob Miles;
WP7.5 update + extra modules This material contains a ten chapter textbook with labs, demos and step by step instructions on how to create Windows Phone 7 applications.
1st & 2nd Year Programming courses
Introduction to Game Programming with XNA and Windows Phone 7 by Prof Kelvin Sung (UW)
WP7.5 update + new material
This material is a 16-hour course designed to teach students how to build a 2D interactive video game.
3rd & 4th Year (require background in data structure)
Introduction to Mobile Application Development Using Silverlight by Michael Iantosca.
Students learn the knowledge, skills, and abilities necessary to develop a mobile application on the Windows Phone 7.5 platform using Microsoft Silverlight. 2nd & 3rd Year: background in programming needed (preferably C#, but C, C++, Java helps
Designing for Windows Phone by Microsoft
This material contains the following 7 lessons on how to design for the Windows Phone: METRO Design, Building WP7 Assets, Layout Controls in Expression Blend, Creating Animation and Basic Interactivity, Working with the Visual State Manager, Adding Data to your Application and Creating the Flickr4Fun app. [ HCI and Software Dev-t classes 1nd - 3rd Year: ]
Azure Mobile Curriculum by Rob Miles
Find out how Cloud computing works and what it brings to the Windows Phone user. The content will show you how to use the cloud for data storage and databases, farm out heavyweight tasks for cloud data processing and use the cloud to perform identity validation. [addition to above courses]
If you would like to receive a FREE copy of the CD please email firstname.lastname@example.org with your University contact details and full UK postal address.
PLEASE NOTE THE DVD WILL ONLY BE POSTED TO UK INSTITUTION ADDRESS
Don't forget students can get great resources and developer tools for free from http://www.dreamspark.com and check up on all the latest offers and prizes via the Microsoft UK Student Blog and Facebook Group
A large number of the UK’s Universities and colleges have been using XNA since 2004 within gaming course curricula on Windows, XBox and Windows Phone. We have a huge set of Free curricula resources for XNA game development at http://www.microsoft.com/faculty
XNA over the last 7 years has provide a number of students and indie game developers with an impressive content pipeline, game assets, load functionality, animation, math, sound and user input tracking via gamepad, mouse, keyboard and touch with game logic organized in a straightforward game loop architecture, more recently we have also added curricula for XNA and Kinect.
Within education XNA has been a huge driver for a number of students and developers who wanted to learn how to create games. XNA along with Visual Studio made it as easy as File –> New –> XNA Game Studio Project and you were off developing.
Since Windows 8 is built on the strong foundation of Windows 7, any app built for Windows will run in the Windows 8 desktop environment. This includes apps based on XNA, Win32, .NET, WPF, Silverlight, etc.
Windows 8 also introduces a new type of app called a Metro Style App for developers that wish to make their app available in the Windows 8 Store, for free or for sale. Using Visual Studio 2012, you have a language choice of C++, XAML with C#, VB or C++, or HTML5/JS to create a Metro Style App.
Using the XNA Framework is not a choice for building a Metro Style App. Official Microsoft guidance on game development is documented here.
Windows 8 allows you too build highly immersive games using HTML5/JS, XAML/C#, XAML/VB or C++ and DirectX.
However a number of you have already stressed too me, that you and your students have been developing with XNA and have an existing code base, or would like to import existing XNA games too Windows 8 your only option it would seem is running as a desktop app.
This is where MonoGame comes in…
MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. The goal is to allow XNA developers on Windows & Windows Phone to port their games to the iOS, Android, Mac OS X, Linux with both PlayStation Suite and Windows 8 support currently under development.
NOTE : This project is not linked with Microsoft or any of it subsidiaries. It is a non-profit, open source project. MonoGame is licensed under the Microsoft Public License (Ms-PL)
NOTE : This project is not linked with Microsoft or any of it subsidiaries. It is a non-profit, open source project. MonoGame is licensed under the Microsoft Public License (Ms-PL)
MonoGame provides a cross platform XNA Framework implementation for XNA developers who want to take their code to non-Microsoft platforms as well as the ability, to target Windows 8.
MonoGame for Windows 8 you can take your XNA code and with a recompile and some additional features too simply create a Metro Style App for example Armed within the Windows Store uses MonoGame. I have too stress MonoGame is still under development and so any use of it should come with a note of advice to stay on top of that effort.
In order to provide a complete implementation of XNA on Windows 8, MonoGame leverages SharpDX , an open-source project delivering the full DirectX API for managed code (.NET) and Windows 8 (WinRT). SharpDX is an open-source project, free of charge available under the following MIT License.
Microsoft provides grants for educators wanting to use Windows Azure platform in their curricula. These grants are facilitated through Windows Azure academic passes, which provide the following resources for a period of 5 months from the date of redemption:
Grant applications are designated for faculty who are teaching Windows Azure in their curricula as well as faculty preparing to integrate Windows Azure into their curricula. Educator Grant awards are subject to demand and availability.
To apply for an Educator Grant please contact AzureU@Microsoft.com and provide us with:
Windows Azure Educator Grants FAQs
Q: What are the Windows Azure Educator grants?
A: The Windows Azure Education Grants are focused on enabling educators to easily leverage the benefits of the Windows Azure platform for curriculum development and teaching. Through these grants, educators can obtain easy access, with no Credit Card required, to the Windows Azure platform for an extended period of time at no cost for themselves and their students. Access to the Windows Azure platform is made possible through 5 month Windows Azure platform academic passes. Educator Grants may be available up to the number of students within the course, dependent on the volume of requests, pass availability, and the needs of the course.
Q: What resources are available through the Windows Azure platform academic pass?
A: Each 5 month Windows Azure platform academic pass provides the following resources:
Windows Azure 2 small compute instances 3GB of storage 250,000 storage transactions SQL Azure Two 1GB Web Edition database
AppFabric 100,000 Access Control transactions 2 Service Bus connections Data Transfers (per region) 3 GB in 3 GB out 1 Hosted Service
Q: What is the Gifting Letter and who needs to sign this?
A: If you are granted a Windows Azure Educator Grant, we require that you sign a “Gifting Letter” in order to ensure compliance with all applicable government gift and ethics rules, which restrict/prohibit government employees. Your ethics officer, (or designated executive/office responsible for your organization’s gifts/ethics policy), or responsible attorney should review and sign this letter.
Q: How do the Windows Azure platform academic passes get redeemed?
A: Each Windows Azure platform academic pass is redeemable through http://www.windowsazure.com/en-us/community/education/program/educators/ If you receive an Educator Grant we will send you a PowerPoint deck which will guide you and your students through the easy process of redeeming these passes.
Q: Why is Microsoft offering this?
A: A large percentage of the academic community has developed curricula materials leveraging the Windows Azure platform for teaching Cloud-centric courses. We are experiencing an increase in demand from the academic community for access to the Windows Azure platform. Windows Azure Educator Grants allows us to enable even more members of the academic community to leverage the Windows Azure platform within their courses.
Q: Are Windows Azure Educator Grants available globally?
A: Windows Azure Educator Grants are available worldwide.
Q: Is there an available education discount program for the Windows Azure platform?
A: At this time, we do not offer education discount pricing for the Windows Azure platform.
Q: Who can apply for a Windows Azure platform Educator Grant?
A: Educators at accredited academic institutions can apply for the Windows Azure Educator Grants.
Q: How do I apply for a Windows Azure platform Educator Grant?
A: Applying for a Windows Azure platform academic pass is easy. Simply go to http://www.windowsazure.com/en-us/community/education/program/educators/
We will ask you for the following information:
· Your name · Your email contact · Country · Institution/University name · Course name · Course description · Number of students in your course · Number of Windows Azure platform academic passes needed · Date when Windows Azure platform academic passes will be used
Q: What factors will Microsoft consider when determining who will receive a Windows Azure Educator Grant?
A: Windows Azure Educator Grants will be awarded based on factors such as purpose of use, number of passes required, and timing requirements for usage of the passes.
Q: I am a student. Can I apply for a pass?
A: Windows Azure Educator Grants are only valid for valid faculty. If your faculty has been awarded a Windows Azure Educator Grant, you will be able to get a pass through him/her for you coursework. If you are interested in learning more about the Windows Azure platform, we encourage you to share these Educator Grants with your faculty or leverage the FREE 90-day trial offer at http://www.windowsazure.com/en-us/pricing/free-trial/
Q: Does my Windows Azure platform academic pass expire?
A: Yes. The Windows Azure platform academic pass will expire 150 days after it has been activated. You will be receiving email notifications when the expiration date is close, and you will have the opportunity to migrate your data to a paid Windows Azure platform subscription, if you want to continue on using the Windows Azure platform.
Q: What happens to my data application when my pass expires?
A: Shortly prior to the expiration date you will have the opportunity to migrate your data to a paid Windows Azure platform subscription. All of your data will be erased when your pass expires. If you choose to not migrate your Windows Azure account to a paid account, please be sure to back up your data.
Q: Do I have to use a credit card to redeem my pass?
A: No. You do not need to use a credit card to redeem your pass activate your Windows Azure account.
Ideal for those with fundamental programming skills, this tutorial provides practical, learn-by-doing exercises for mastering the entire Windows Azure platform.
For more details see http://www.windowsazure.com/en-us/community/education/program/overview/
Channel 9 is home base online for technical know how, how to’s and tips and tricks.
Channel 9 is used by millions of Developers worldwide each month through videos, how to articles and events.
We are excited to announce that the team has just released a Channel 9 application in the Windows 8 App Store.
So Install the application today on the Windows 8 Consumer Preview and easily browse the latest content on Channel 9, share content with your friends and view content on any of your Play To Enabled devices.
To find the app, Search the Windows 8 App store for Channel 9.
Microsoft Press have a number of FREE Ebooks now available covering topics from SQL Server 2012, Office 2010 and Windows Phone, there is something here for everyone.
Many of our free ebooks are offered in three formats - PDF, Mobi (Kindle) and epub. Hope you find them useful!