Software engineering at the ENS
Course summary
- 1. Introduction to Software Engineering + Cloud computing project
- 2. Antipatterns
- 3. Worlds in Software Engineering + Licensing models
- 4. The econony of software + Design to deliver
- 5. Software development scheduling
- 6. Development guidelines
- 7. Design patterns
- 8. Extreme Programming
- 9. The Art of Communication
- 10. Computing Performance
Course project
The project involves open source developments on cloud computing. The platform used will be Windows Azure. Project will be hosted on CodePlex.
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 2008
- Windows Azure Tools v1.1 - February 2010.
- ASP.NET MVC 1.0 - framework for web apps
- TortoiseSVN (see TortoiseSVN): Client for SubVersion.
- AnkhSVN (see AnkhSVN): Visual Studio add-in for SubVersion.
- NUnit (see nunit.org): unit testing framework for .NET.
- NUnit addin (named TestDriven, see TestDriven.Net): unit testing addin for Visual Studio.
Getting started with .NET: La Saga .NET par Pascal Belaud (in French)
More tools (suggested, but not required):
- CruiseControl.NET (see ccnet.thoughtworks.com): continuous integration for .NET.
- MS Build Community Tasks (see msbuildtasks.tigris.org): automated tasks for custom builds.
- Microsoft Sandcastle (see sandcastledocs.com): documentation compiler for .NET.
- Autofac: inversion of control.
- Rhino.Mock: dynamic mock objects
- PowerShell: object oriented command line.
- NHibernate: O/R mapper (for general culture only, not be used in project).
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: 2010-02-12
