Software engineering at the ENS
Course summary
- Introduction to Software Engineering + Cloud computing project
- Antipatterns
- Distributed cloud storage
- Worlds in Software Engineering + Licensing models
- The econony of software + Design to deliver
- Software development scheduling
- Development guidelines
- Design patterns
- Extreme Programming (among other's)
- The Art of Communication
- Performance in computing
Course project
The project involves open source developments on cloud computing. The public cloud used will be Windows Azure. Project will be hosted on Github.
Project 2011: Cassis
Project 2010: Sqwarea.
Project 2009: Cloudster.
Development tools
Recommended tools (please install them before the session):
- Microsoft Vista or above (XP won't work for Azure development).
- Microsoft Visual Studio 2010
- Windows Azure Tools v 1.6
- ASP.NET MVC 3.0 - framework for web apps
- Git possibly with TortoiseGit.
- NUnit (see nunit.org): unit testing framework for .NET.
Getting started with .NET: La Saga .NET par Pascal Belaud (in French)
More tools (suggested, but not required):
- PowerShell: object oriented command line.
- Resharper: productivity add-on for Visual Studio (check the nightly builds).
- TeamCity: continuous integration server.
References
- Apprentissage du language C# 2008 et du Framework 3.5 (ebook by Serge Tahé).
- AntiPatterns, Refactoring Software, Architectures, and Projects in Crisis (book, antipatterns.com).
- Design Patterns in software engineering (article, wikipedia.org).
- Joel on Software, (blog, book, joelonsoftware.com).
- Expert .NET Delivery Using NAnt and CruiseControl.NET (book, apress.com).
- Microsoft Design Guidelines for Class Library Developers (online doc, msdn.microsoft.com)
- Jakob Nielsen on Usuability and Web Design (blog, online doc, useit.com).
- An introduction to programming with C# threads (PDF paper)
Last updated: 2012-02-14
