bild
Skolan för
elektroteknik
och datavetenskap

DD150X Examensarbete inon teknik och management, grundnivå, 15 hp

This exjobb lets you apply your knowldge in either Computer Science (especially interactive system programming) or management. Find the course objectives here. For the Computer Science exjobbs, handledare will be Cristian Bogdan. For the management exjobbs, please contact the studierektor Thomas Westin, and Pär Lundquist, Mats Engval. Examinator is normally Stefan Arnborg.

The exjobb course has a Method part (3hp) which you do together with students from Medieteknik, and the Practical work part (12 hp), and should be done in pairs. The process (which prepares you for the big exjobb at the end of the studies) is described below.

Datum

Lokal

Ämne

Föreläsare

18/1, 13-15

D3

Akademiska uppsatser och problemformuleringar (kap.1,6)

Daniel Pargman

19/1, 13-15

D3

Att läsa in sig och att skriva (kap. 8-10)

Stefan Hrastinski

20/1, 13-15

4622

Analys av uppsatser och artiklar
Information om spec, rapport, uppdrag och egna ideer

Cristian Bogdan

1/2, 10-12

D3

Skrivkramp, disposition, teori och metod (kap.9,11,17)

Daniel Pargman

5/2 13-15

4523

Idéseminarium, specifikation. Specification should include:

  • Idea (questions)
  • Goals
  • Method
  • Delimitation
  • Preliminary time plan

Cristian Bogdan, Stefan Arnborg

8/2, 10-12

D3

Datainsamling, analys och presentation av resultat (kap. 12-16 + kursbunt)

Stefan Hrastinski

4/3 10-12

4523

Seminarium om omvärdsanalys

Cristian Bogdan

21/4 15-17

1537

Seminarium om procesbeskrivning/resultat

Cristian Bogdan

4/5

 

Deadline slutlig uppsats

 

11/5

 

Uppsatspresentationer

Alla studenter,
Cristian Bogdan, Stefan Arnborg

Course literature for the Method part
Rienecker, L. & Jorgensen, P.S. (2008). Att skriva en bra uppsats. Malmö: Liber.
Beställs hem till Kårbokhandeln och kostar ca. 300kr.

Useful links

Suggestions for Practical Work

You can propose the themes for the practical work yourselves, but here are some ideas:

Content Management Systems

In the 1990s and early 2000s many academic departments implemented what we call "lab information sytems": a set of web pages where they could publish information about their members, courses, projects, publications, events, etc. Some more advanced systems also had an intranet where members could cooperate, sharing various kinds of information e.g. wiki-style. Many such systems were developed in-house and are currently hard to maintain. At the same time, Content Management Systems emerged, which are modular systems capable of providing and maintaining many kinds of information. A non-programmer can put together a site by combining such modules, and applying "skins" to determine the graphical layout of the resulting site. Using a 'standard' CMS also allows for an easier maintenance of a lab information system in the longer term, as it is easier to find the needed competencies than for a system built in-house.

Task:

Gather the requirements of a "lab information system" (take as example hci.csc.kth.se) and chose two popular Content Management Systems to implement them with. Report by comparing the feature set of the two CMS in regard to the effort required to implement the Lab Information System and the anticipated mainainability of the system, once implemented. Export the data of hci.csc.kth.se to the more suitable of the two CMS.

Suggested CMS: Drupal, Joomla, ning, Midgard. See also a more comprehensive list of CMS below.

This task can be taken by more than one group, but no two groups should compare the same two CMS.

References:

  • Mike Johnston (2009). "What is a CMS?". CMS Critic. http://cmscritic.com/what-is-a-cms.
  • http://en.wikipedia.org/wiki/List_of_content_management_systems
  • http://hci.csc.kth.se

Web development frameworks

Makumba is a web development framework for programmers who know HTML and some query language like SQL. A novice programmer can start working with Makumba after a training of 1-2 hours. Makumba renders good scalability for teams and projects: a 10-person team (with membership changing each year) developed an intranet with several thousand features over the course of 8 years. Some of the rules of Makumba applications are written in Java, but the bulk of the application is done in MQL (Makumba's query language, a subset of Hibernate HQL) and HTML. Makumba is available in JSP (Java Server Pages) as a "tag library". Since most aspects of development (viewing data, entering and modifying data, authentication, authorization) can be done in Makumba using queries or query fragments, Makumba is said to be query-centric.

Here are some tasks that you can chose from:

Task

Program a small application with Makumba and a with a web development framework of your choice (e.g. Ruby on Rails). Compare the two applications in regard to speed of development, code intuitivity, code scalability, team scalability (i.e. how the application would fare if maintained by a larger group whose members change often)

This task can be taken by more than one group, but no two groups should compare Makumba with the same web development framework.

Task

Makumba is currently implemented on top of an old technology (Java Server Pages). Design in principle how Makumba can be re-implemented on a more modern technology platform like Java Server Faces, without losing its novice-friendy and query-centric characters. Implement a demonstrator (e.g. the equivalent of a Makumba tag) on the new technology platform.

Task

Makumba currently generates HTML and Web interfaces. Inspired from that, design a makumba-like technology that could generate "traditional" GUI interfaces as different from Web interfaces, while still keeping the novice-friendly and query-centric character. Implement a proof demonstrator that proves this concept.

References:

  • Bogdan, C., Mayer, R., Makumba: the Role of Technology or the Sustainability of Amateur Programming Practice and Community, in Proceedings of the Fourth Communities and Technologies Conference, Penn State, June 2009
  • www.makumba.org
  • http://rubyonrails.org/
  • http://java.sun.com/products/jsp/
  • http://java.sun.com/javaee/javaserverfaces/

Interface modeling

The Ontoucp project (www.ontoucp.org) has put forward a way to generate user interface from a dialog model. For a given human-machine dialog, a dialog model can be made in the form of a tree which has "communicative acts" as its leaves and "rethorical relations" as nodes. From that model, the Ontoucp tools can generate a user interface. The user interface can then be adjusted, while it still stays consistent with the original dialog model.

Task

Model a human-machine dialog for a flight booking website. Generate user interface from it and test the result against a simple flight booking application logic that you program in Java. Report by comparing the modeling approach with user interface programming approaches that you are familiar with, and by making an evaluation of the modeling tools you used to make the dialog model and to adjust the user interface.

References

  • Falb, J., Kaindl, H., Horacek, H., Bogdan, C., Popp, R., and Arnautovic, E. (2006). A discourse model for interaction design based on theories of human communication. In CHI '06 Extended Abstracts on Human Factors in Computing Systems (Montréal, Québec, Canada, April 22 - 27, 2006). CHI '06. ACM Press, New York, NY, 754-759.
  • http://www.ontoucp.org

 

Copyright © Sidansvarig: Cristian Bogdan <cristi@csc.kth.se>
Uppdaterad 2010-01-18