New software engineering courses

Developing applications for mobile devices

Software engineering is rapidly evolving. A huge amount of the software that is developed today is produced as a set of so-called applications for App Stores.

Only in the Apple App store there is currently more than 300,000 applications available [ref] . When we take into account the Android market (170,000), the Windows phone market, the Nokia market and all the emerging platforms for mobile devices [ref], this corresponds to a huge software production silo. This is happening very rapidly since in July 2008 there were only 500 applications in the Apple App Store. The development curve on the Wikipedia site looks exponential.

I have several questions about this rapid evolution, and among them:

  • What are the programming languages used for these development? Java? Objective-C?
  • What is the average size (in LOC or in number of classes) of an application?
  • What are the methods (if any) used to develop these applications?
  • Are formal methods used?
  • Are the requirements explicitly represented?
  • How is the maintenance of these applications organized?
  • What does the total development effort of all these applications represent in the total software development effort in the world?
  • What is the status of the application developers (employees of big companies, individual programmers, etc.)?

I do not know the answers to these questions, but I have the impression that this phenomenon is going to deeply impact the way we consider software production. I know several companies (in the bank domain for example) that are already changing the vision of their information system architecture to integrate this.  They are looking at their old legacy application portfolio to see how this could evolve to accommodate new applications written for mobile platforms. The old client-server organization is impacted by the mobile-equipped client. The way they internally produce software or acquire software (applications) from external vendors after adequate testing is also impacted.

We have already seen several interesting projects in the Eclipse modeling area targeting the production of mobile applications. Of course this is mainly Android since Apple forbid such practices (applications have apparently to be developed natively in Objective-C and cannot be generated).

One interesting observation is that the universities that have always been in advance in the domain of software engineering are today recognizing that the application production for mobile devices requires different skills and different methods. As a consequence they are rapidly opening specific courses for mobile application development. If we want to see which universities are most innovative, most open on their environment, most adaptive, we may look at those that are opening such courses. Apparently the first to take such initiative was Stanford university.  Today they are sometimes offering free online courses.  And they seem to have a lot of success as reported by many Twitters:!/ryanwersal/status/5826130674196480

etc., etc.

I would also be interested by other answers, like:

  • Are these courses targeting only iOS, or Android or are some of them platform-agnostic?
  • What are the universities that are opening such courses?
This entry was posted in Application, Software Engineering. Bookmark the permalink.

4 Responses to New software engineering courses

  1. Pingback: University courses on programming for Mobile platforms « Models Everywhere

  2. Pingback: New software engineering courses | alebaffa's

  3. Udo Moser says:

    Wir führen im Auftrag unserer Kunden Produktentwicklungen durch.
    Von der Produktidee bis zur Markteinführung begleiten wir die Entwicklung des Produkts.
    Die Produkte entwickeln erfolgt in den 3D-CAD Systemen Solid Works und Catia V5.
    Unsere Entwickler verfügen über langjährige Erfahrung in der Produktentwicklung.

  4. Pingback: Des cours d’informatique autour du mobile | Facettes de l'adaptation logicielle

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s