Rosetta Code:Village Pump/Suggest a programming task

From Rosetta Code
Revision as of 15:25, 29 April 2009 by rosettacode>ShinTakezou (completed (in the sense that now it exists, far from "completeness"!!))

So you want to see a problem solved? If you're not comfortable creating the task page yourself, feel free to edit this page, and describe the problem below. (To edit this page, click the "edit" tab at the top.)

When making a request, please place it in the Unsorted section.

When reviewing requests, please help sort them into the categories farther down, based on the category descriptions.

Incomplete

General

  • The Object oriented category is missing a lot of the basics like calling a method.
  • Closures
  • Monads
  • Applying a list of functions to a value. (As different from applying a function to a list of values.)Rahul 21:23, 9 December 2008 (UTC)
See First-class functions --Paddy3118 15:34, 24 February 2009 (UTC)
Not entirely appropriate. Nothing prevents one from having a list of function pointers in C or C++ to apply to the same pointer or reference to the value in question. However, there appears to be significant discussion whether C is even appropriate in the task you link to. --Short Circuit 07:52, 25 February 2009 (UTC)
Could this be added to Comparing two integers? --Mwn3d 07:28, 21 December 2007 (MST)
  • keyword arguments (defining a procedure which takes named arguments)
Isn't this already accomplished in Creating a Function? --Mwn3d 15:51, 1 June 2008 (MDT)
Probably means smalltalk style parameter passing (but without defined order) i.e [mymethod myarg1: 'One' myarg2: 'two'] Rahul 20:24, 7 October 2008 (UTC)
Looks like language specific implementation of passing parameters, not a programming task. --PauliKL 15:14, 23 October 2008 (UTC)
I thought it appropriate to mention keyword args under Varargs for Python. --Paddy3118 18:58, 16 November 2008 (UTC)
Named association is also used record aggregates. --Dmitry-kazakov 13:28, 9 April 2009 (UTC)
  • optional arguments (defining a procedure which has optional arguments or arguments with default values)
  • Type-variant variables in type-safe languages. (i.e. Microsoft's VARIANT.)
Type-variant rather suggests dynamic polymorphism, i.e. when the specific type of the value (and the value itself) depends on the type tag of the object. MS VARIANT is rather a different thing. It is a union, a container type which content depends on the value of the constraint. This is also a form polymorphism, but different, a dynamically constrained type. The type of the object does not vary. A similar case represents unbounded array, which size depends on the actual bounds (the constraint). (Granted, MS VARIANT serves the purpose of dynamic polymorphism, but that is merely because MS wished to keep it conform to non-OO languages.) --Dmitry-kazakov 13:24, 9 April 2009 (UTC)

Games

  • Four (or more) Connect (with variable and standard playboard)

Database / Network

  • Simple DB connection and queries.
  • Certificate-authenticated SSL
  • Secure Socket Layer

Data organization and encoding

  • Heapsort and maybe some other sorts from http://en.wikibooks.org/wiki/Algorithm_implementation/Sorting
  • SAX. As well as DOM and XPath it would probably be useful to demonstrate parsing a simple XML document with SAX.
  • Base64 encode/decode
  • doubly-linked list algorithms, both cursor- and pointer-based implementations
  • Writing a parser to parse structured text into appropriate native types. (A good demonstration format to parse might be JSON, though it should be about creating a parser rather handling JSON.)

System calls

  • Copy a directory tree recursively
    • On a local filesystem
    • With an option to specify files or folder to exclude
  • Open a named pipe

API-specific

  • Provide a SOAP server function

Library-specific

  • Create a COM client (with early binding) (particularly with GCC/MinGW) (if possible under Winelib in linux is also interesting)

Implementation-specific

Language-specific

Project level

If possible, find ways to break these into smaller tasks which can ultimately be assembled into the final project.

Super Simple p2p network

Could be done with FIFOs for streams, and a constant number of clients. Needs to be more specific regarding what it does. --Short Circuit 22:28, 6 December 2007 (MST)
probably means some thing like this http://ansuz.sooke.bc.ca/software/molester/molester. To make it suitable for rc the restrictions need to be spelt out - i.e. fixing the protocol and discovery mechanisms Rahul 20:24, 7 October 2008 (UTC)

implement a table-based native code (macro?) assembler in various HLLs

Stateful behavior simulation

Demonstrate discrete event simulation and stateful behaviour by simulating a simple pick-and-place or storage/retrieval system robot. The robot would be given commands to retrieve from location A and place into location B. The robot would in turn command its 4 motors in sequence in order to accomplish the task. The amount of time that a motor runs would be dependant on the distance required to move. A scheduler would be set up to generate callback events to the motors at proper times to indicate their motion was complete. The complete specification of this task would be somewhat involved. --Rldrenth 18:09, 20 January 2009 (UTC)

Recently Completed

If a task has been completed, move the request to this category. Add a link to the task page, and sign (add --~~~~) to the request. Completed tasks more than a week old should be removed from the list.

Discuss

  • Querying devices for certain SNMP values and output reponses to .html or .txt-file.
    • Used for:
      • generating webpage where helpdesk can view the VLAN of a user-port
      • querying forwarding database of switch / ARP-table of router
    • Can be extended:
      • with config file for: device list, SNMP-values to interrogate, SNMP community strings, ...
      • support for SNMPv3
      • generating history reports: what mac-address has been on this port, when has a change been made, ...
    • Wanted to do this myself for a long time already using Python or Ruby, but not making a lot of progress. Any help or suggestion would be welcome.
This should probably be split into Query SNMP server and Retrieve configuration setting (for an application, not the SNMP server). There are already tasks for outputting to a file. --Short Circuit 23:43, 16 February 2008 (MST)
  • Win interface... C++ calls to Fortran F90/95 Source Code ... and back...
This should be as trivial as Call function in shared library, if the Fortran code has been compiled into a shared library. (Regardless of OS) --Short Circuit 23:43, 16 February 2008 (MST)