Yliopiston etusivulle Suomeksi Inte på svenska No english version available
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

582102: Introduction to Computer Science

Homework 5

If you read Finnish well enough to understand the "Kurssimoniste" please follow the instructions contained in the Finnish version of this exercise.

This homework is done individually and is submitted in three parts: a, b and c.

Publications by ACM are available at ACM Digital Library and by IEEE at IEEExplore.
  1. Computing mechanics

    In his article "Great Principles of Computing" (Communications of the ACM, 46, 11 (Nov 2003): 15-20) Peter Denning presents five windows into computing mechanics: computation, communication, coordination, automation and recollection.

    For each of the windows we have selected a topic related to it and some material for you to read:
    • Turing machine (computation):
    • Protocol stack: OSI and TCP/IP models (communication):
      • Wikipedia: Protocol stack, OSI model, Open Systems Interconnection, Internet protocol suite, TCP/IP model.
    • Synchronization: race condition, dining philosophers problem (coordination):
      • Wikipedia: Race condition, Dining philosophers problem.
    • Turing test (automation):
    • Caching and CPU cache in particular(recollection):
      • Wikipedia: Cache, Cpu cache.

    Write a short essay of approximately 250 words on each of these topics concentrating on what essential you have learned from the material. You should also show in your essays how the topic illustrates the related window of computing mechanics.

  2. Design principles

    In the article mentioned in part a) Denning also presents five design principles: simplicity, performance, reliability, evolvability and security.

    For each design principle we have selected a text related to it:

    • Parnas, D. L. Why Software Jewels Are Rare. IEEE Computer, 29, 2 (Feb 1996), pages 57-60. (simplicity),
    • Menasce, D. A. Software, Performance, or Engineering? Proceedings of ACM Workshop on Software and Performance (WOSP'02), July 2002, pages 239-242. (performance),
    • Candea, G. and Fox, A. Crash-Only Software. Proceesings of the 9th Workshop on Hot Topics in Operating Systems, USENIX Association, May 2003, pages 67-72. Available at USENIX. (reliability),
    • Lehman, M. M. Software's Future: Managing Evolution. IEEE Software, 15, 1 (Jan/Feb 1998), pages 40-44. (evolvability),
    • Leveson, N. G. and Turner, C. S. An Investigation of the Therac-25 Accidents. IEEE Computer, 26, 7 (July 1993) pages 18-41. (security).

    Write a short essay of approximately 250 words on each of these topics concentrating on what essential you have learned from the material. You should also show in your essays how the topic illustrates the related design principle.

  3. Computing practices

    In the article mentioned in parts a) and b) Denning presents also five computing practices: programming, engineering systems, modeling and validation, innovating and applying

    For each computing practice we have selected a text related to it:

    • Seeley, D. How Not to Write FORTRAN in Any Language. ACM Queue, 2, 9 (Dec 2004/Jan 2005), pages 58-65. (programming),
    • Fairley, R. E. and Willshire, M. J. Why the Vase Sank: 10 Problems and Some Antidotes for Software Projects. IEEE Software, 20, 2 (Mar/Apr 2003) pages 18-25. (engineering systems),
    • Knadler Jr., C. E. The Robustness of Separable Queueing Network Models. Proceedings of the 1991 Winter Simulation Conference, sivut 661-668. Available from ACM Digital Library. (modeling and validation),
    • Denning, P. J. The Social Life of Innovation. Communications of the ACM, 47, 4 (April 2004) pages 15-19. (innovating),
    • Seffah, A. Learning the Ropes: Human-Centered Design Skills and Patterns for Software Engineers's Education. ACM Interactions, 10, 5 (Sep/Oct 2003) pages 36-45. (applying).

    Write a short essay of approximately 250 words on each of these topics concentrating on what essential you have learned from the material. You should also show in your essays how the topic illustrates the related computing practice.

  • Grading: 0-5 for each part (a, b and c).


EMail: Heikki.Lokki@cs.Helsinki.FI