Suggesion for an undergrad final year project in Python

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Sridhar

    #1

    Suggesion for an undergrad final year project in Python

    Hi,

    I am doing my undergrade CS course. I am in the final year, and would
    like to do my project involving Python. Our instructors require the
    project to have novel ideas. Can the c.l.p people shed light on this
    topic?

  • David Fraser

    #2
    Re: Suggesion for an undergrad final year project in Python

    Sridhar wrote:[color=blue]
    > Hi,
    >
    > I am doing my undergrade CS course. I am in the final year, and would
    > like to do my project involving Python. Our instructors require the
    > project to have novel ideas. Can the c.l.p people shed light on this
    > topic?
    >[/color]
    You could write a Python program that writes novels.

    Comment

    • Kartic

      #3
      Re: Suggesion for an undergrad final year project in Python

      Sridhar said the following on 2/1/2005 2:11 AM:[color=blue]
      > Hi,
      >
      > I am doing my undergrade CS course. I am in the final year, and would
      > like to do my project involving Python. Our instructors require the
      > project to have novel ideas. Can the c.l.p people shed light on this
      > topic?
      >[/color]

      You try and implement some CS concepts you have learnt using Python. For
      example, if you had a course on parsing and compiler design, try to
      implement a simple language in Python.

      Or if you like Computer Graphics, see if you can implement things like
      Phong shading and things in that field. This may not be novel like your
      professors want. But you can make it novel by allowing the user to
      rotate the object and show how the shadow and shading get transformed.

      Or if you are the networking types, come up with a peer-to-peer chat
      application with whitetboard capability, which I am sure will be fairly
      novel.

      Look within for answers :-)

      That way you will reinforce your theory and learn Python as well.

      Thanks,
      --Kartic

      Comment

      • Paul Robson

        #4
        Re: Suggesion for an undergrad final year project in Python

        On Tue, 01 Feb 2005 12:11:47 +0000, Kartic wrote:
        [color=blue]
        > Sridhar said the following on 2/1/2005 2:11 AM:[color=green]
        >> Hi,
        >>
        >> I am doing my undergrade CS course. I am in the final year, and would
        >> like to do my project involving Python. Our instructors require the
        >> project to have novel ideas. Can the c.l.p people shed light on this
        >> topic?[/color]
        >
        > You try and implement some CS concepts you have learnt using Python. For
        > example, if you had a course on parsing and compiler design, try to
        > implement a simple language in Python.[/color]

        Could I suggest going for an area that particularly interests you ; rather
        than saying "what sort of project ...." come up with an area of interest -
        this'll mean you probably have more knowledge and will put in more
        effort - and then ask for ideas - ideally about something that is missing.

        Comment

        • Jorgen Grahn

          #5
          Re: Suggesion for an undergrad final year project in Python

          On 31 Jan 2005 23:11:58 -0800, Sridhar <sridharinfinit y@gmail.com> wrote:[color=blue]
          > Hi,
          >
          > I am doing my undergrade CS course. I am in the final year, and would
          > like to do my project involving Python. Our instructors require the
          > project to have novel ideas. Can the c.l.p people shed light on this
          > topic?[/color]

          Seems to me you should find this novel idea and /then/ find the tools to
          implement it. Hopefully Python would be one such good tool.

          I don't have novel ideas anymore, so I can't help ...

          The type interference engine for Python they talk about in some other
          threads here would be a cool and useful, and "hard CS", project, but I
          suspect it's too big a task. And it has been done for SML and other
          languages so I don't know if it's strictly "novel".

          /Jorgen

          --
          // Jorgen Grahn <jgrahn@ Ph'nglui mglw'nafh Cthulhu
          \X/ algonet.se> R'lyeh wgah'nagl fhtagn!

          Comment

          • Lucas Raab

            #6
            Re: Suggesion for an undergrad final year project in Python

            Paul Robson wrote:[color=blue]
            > On Tue, 01 Feb 2005 12:11:47 +0000, Kartic wrote:
            >
            >[color=green]
            >>Sridhar said the following on 2/1/2005 2:11 AM:
            >>[color=darkred]
            >>>Hi,
            >>>
            >>>I am doing my undergrade CS course. I am in the final year, and would
            >>>like to do my project involving Python. Our instructors require the
            >>>project to have novel ideas. Can the c.l.p people shed light on this
            >>>topic?[/color]
            >>
            >>You try and implement some CS concepts you have learnt using Python. For
            >>example, if you had a course on parsing and compiler design, try to
            >>implement a simple language in Python.[/color]
            >
            >
            > Could I suggest going for an area that particularly interests you ; rather
            > than saying "what sort of project ...." come up with an area of interest -
            > this'll mean you probably have more knowledge and will put in more
            > effort - and then ask for ideas - ideally about something that is missing.
            >[/color]

            Exactly. If you have an interest in mathematics, then look into
            Numarray. Graphics: Panda3d, Blender, pygame... The list goes on. Feel
            free to append.

            Comment

            • phil_nospam_schmidt@yahoo.com

              #7
              Re: Suggesion for an undergrad final year project in Python

              How about a tool that can compute the intersection/union/disjunction of
              boolean expressions, and return the result as a boolean expression?
              This is something I've had on my plate for awhile, but haven't been
              able to get around to doing.

              As a simple example, assume we have the following expressions:

              e1 = (y)
              e2 = ((not x) and (not y)) or ((not x) and (y) and (z))

              The union of these two would be ((not x) or (y)). The simplest
              representation of the result would be best.


              To make it harder consider the following additional requirements:

              1) Instead of just boolean variables, allow variables with more than
              two discrete values (i.e., True and False). For example, if a variable
              x can represent the values 1, 2, and 3, then an expression could test
              for x!=3, or x>1, or even x in [1,3].

              2) Use Python's native data structures to represent expressions. Using
              the example above, we might have something like this:

              e1 = [{'y':True}]
              e2 = [{'x':False, 'y':False}, {'x':False, 'y':True, 'z':True}]

              How you might extend this to non-boolean expressions would be up to
              you.

              3) Make it fast, and scalable to many variables (up to at least 50). I
              haven't studied this extensively, but I believe a Quine-McKlusky method
              is order n^2 with n being the number of variables, so this will quickly
              blow up as the number of variables increases.

              4) As my example in (2) suggested, make variable names strings. This
              allows arbitrary names. For non-boolean discrete variables, allow any
              arbitrary list of numbers or strings as elements.

              5) Since a side-effect of the program will (probably) be the ability to
              reduce expressions to their simplest representation, make this
              capability a part of the public API, since that's a useful function in
              itself.

              Comment

              • alexrait1

                #8
                Re: Suggesion for an undergrad final year project in Python

                How about writing some gtk fronted to pgp.. That might be both useful
                (at least for me) and teach you about pgp and pyGTK, that is writing
                gui with python.

                Comment

                • Terry Reedy

                  #9
                  Re: Suggesion for an undergrad final year project in Python


                  "Sridhar" <sridharinfinit y@gmail.com> wrote in message
                  news:1107241918 .722156.123590@ c13g2000cwb.goo glegroups.com.. .[color=blue]
                  > Hi,
                  >
                  > I am doing my undergrade CS course. I am in the final year, and would
                  > like to do my project involving Python. Our instructors require the
                  > project to have novel ideas. Can the c.l.p people shed light on this
                  > topic?[/color]

                  Some months ago, maybe a year ago, Brett Cannon asked on the Py-Dev mailing
                  list a similar question about a CS master's thesis. He got around 10
                  sensible suggestions. Perhaps a few could be scaled down to a senior
                  thesis level. In any case, you could check the archives at www.python.com
                  of the pydev summaries that he prepares every two weeks ago.

                  Terry J. Reedy



                  Comment

                  • Alan Kennedy

                    #10
                    Re: Suggesion for an undergrad final year project in Python

                    [Sridhar][color=blue]
                    > I am doing my undergrade CS course. I am in the final year, and would
                    > like to do my project involving Python. Our instructors require the
                    > project to have novel ideas. Can the c.l.p people shed light on this
                    > topic?[/color]

                    PyPy is chock full of novel ideas, given that two of the main developers
                    are Armin Rigo (of psyco fame) and Christian Tismer (stackless python).

                    PyPy is a project, which has obtained European funding, to reimplement
                    python *in python*, a very laudable goal.



                    Psyco is a "specialisi ng compiler" for cpython, which essentially does
                    something like just-in-time compilation, but with a different slant.



                    Armin's paper on the techniques used should make an interesting read for
                    your CS professors:



                    Stackless python has support for full coroutines, as opposed to
                    cpython's current support for semi-coroutines. In the past, Stackless
                    used to support continuations, but no longer does because of the
                    complexity of adapting the cpython interpreter to support them. But
                    Christian's implementation experience will hopefully guide PyPy in the
                    direction of supporting both coroutines and continuations.

                    The Stackless Python programming language. Contribute to stackless-dev/stackless development by creating an account on GitHub.


                    As for what you could do in the PyPy project, I have no suggestions
                    since I am not involved in the project. But I am sure that a message to
                    pypy-dev will elicit plenty of ideas.



                    Lastly, the jython project is undergoing a bit of renaissance at the
                    moment, and there's plenty of work to be done. A message to jython-dev
                    volunteering time is unlikely to go unnoticed. Particularly, the parser,
                    code generation and AST are areas which require a fair amount of rework.
                    But there is less opportunity to use "novel ideas" in jython, so it may
                    not interest your professors, unless you have some novel ideas of your
                    own to bring to the project.

                    Jython is a Java implementation of the Python language. It allows users to compile Python source code to Java byte codes, and run the resulting…


                    How much time, over how long a period, do you have available for your
                    project?

                    Best of luck,

                    --
                    alan kennedy
                    ------------------------------------------------------
                    email alan: http://xhaus.com/contact/alan

                    Comment

                    • JanC

                      #11
                      Re: Suggesion for an undergrad final year project in Python

                      Kartic schreef:
                      [color=blue]
                      > Or if you are the networking types, come up with a peer-to-peer chat
                      > application with whitetboard capability, which I am sure will be fairly
                      > novel.[/color]

                      Hm, a Python version of The Coccinella? :-)

                      --
                      JanC

                      "Be strict when sending and tolerant when receiving."
                      RFC 1958 - Architectural Principles of the Internet - section 3.9

                      Comment

                      • Martin Christensen

                        #12
                        Re: Suggesion for an undergrad final year project in Python

                        -----BEGIN PGP SIGNED MESSAGE-----
                        Hash: SHA1
                        [color=blue][color=green][color=darkred]
                        >>>>> "Sridhar" == Sridhar <sridharinfinit y@gmail.com> writes:[/color][/color][/color]
                        Sridhar> I am doing my undergrade CS course. I am in the final year,
                        Sridhar> and would like to do my project involving Python. Our
                        Sridhar> instructors require the project to have novel ideas. Can the
                        Sridhar> c.l.p people shed light on this topic?

                        I'm arriving a bit late in this discussion, but might as well throw in
                        my bit anyway.

                        I did my master's thesis implementation thingy in Python, and still
                        managed, from what I can tell from available research material, to
                        make the fastest RDBMS search engine of its kind. :-)

                        But really, implementation language is, or should be, a fairly minor
                        issue compared to what exactly it is that you want to do. For some
                        things, your choice of language might be very important, but until you
                        know what you're going to do, there's really very little need to worry
                        about it, at least in my opinion.

                        Martin

                        - --
                        Homepage: http://www.cs.auc.dk/~factotum/
                        GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
                        -----BEGIN PGP SIGNATURE-----
                        Version: GnuPG v1.2.5 (GNU/Linux)
                        Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>

                        iEYEARECAAYFAkI PhtoACgkQYu1fMm OQldVWRACgxSDK8 0tc5iSFrqnHdi/Ydwg9
                        qmwAoOk4wiQ9LNU hteuTtbZrrzo6CJ fh
                        =yO5X
                        -----END PGP SIGNATURE-----

                        Comment

                        Working...