There are lots of ways to do things like this. Here's a pretty simple way with c# and .net. forgive some of the using shortcuts, i was just isolating a couple of areas. and as always i normally just post these so i don't forget =P

this is just a console app to add a single item to a task list in sharepoint. very simple. the only thing that was a bit of a pain is you need to find your sharepoint id for the person. the easiest way i found that for myself was simply to go to the list, edit the view settings, select the assign to column and change the 'show' to id. then i grabbed that id and used it to create my items. if i had other people sharing this i would probably just build a small table and do lookups. if it was a really huge amount and critical, you can create a web service. there are a bunch of things out on the web about that but they all require server logic which i didn't want.

"sp" is a web reference to the asmx url below. seems that if you don't set the url property it won't work though. for all i know you can refer to a diff url for the web ref as long as you set the correct property. i didn't fiddle with that much.

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using cc = System.Net.CredentialCache;
using c = System.Console;
using e = System.Environment;
using d = System.Xml.XmlDocument;

namespace todo
{
    class Program
    {
        private const string id = "%sharepointidofpersontoassign%";
        private const string url = "http://%yoursite%/_vti_bin/Lists.asmx";
        private const string list = "%yourlist%"; //can be GUID too
        private const string strBatch = "Newt1assignedto";

        static void Main(string[] args)
        {
            // make sure we have an arg
            if (args.Length != 1)
            {
                c.WriteLine("Syntax: todo title");
                e.Exit(0);
            }

            // get our xml doc together to post
            d x = new d();
            x.LoadXml(strBatch.Replace(
                "t1", args[0].ToString()).Replace(
                    "assignedto", id));

            //connect to the list and do our business
            using (sp.Lists l = new sp.Lists())
            {
                l.Url = url;
                l.Credentials = cc.DefaultCredentials;
                l.UpdateListItems(list, x);
            }
        }
    }
}