Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. BritishComputerSocietyProgrammingCompetition

BritishComputerSocietyProgrammingCompetition

Scheduled Pinned Locked Moved The Lounge
csharpquestionc++java
10 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    John Oliver
    wrote on last edited by
    #1

    Would anybody in the UK and Ireland be interested in getting a team together for the British Computer Societies' annual programming competition? You can program in C++ , Java, and this year even C# and VB6. In previous years Microsoft have donated prizes-"winning team and runners-up ... copies of Analyzing Requirements MCSD training kit, Software Engineering Classics, Visual Studio 6.0 Enterprise Edition, and Office 2000 Developer Edition. Members of the winning team also each received five days training from Parity Training". The heats are in March. We need up to 5 people for a team. The rules and a sample question can be found at http://www.bcs.org.uk/progcomp/

    D S 2 Replies Last reply
    0
    • J John Oliver

      Would anybody in the UK and Ireland be interested in getting a team together for the British Computer Societies' annual programming competition? You can program in C++ , Java, and this year even C# and VB6. In previous years Microsoft have donated prizes-"winning team and runners-up ... copies of Analyzing Requirements MCSD training kit, Software Engineering Classics, Visual Studio 6.0 Enterprise Edition, and Office 2000 Developer Edition. Members of the winning team also each received five days training from Parity Training". The heats are in March. We need up to 5 people for a team. The rules and a sample question can be found at http://www.bcs.org.uk/progcomp/

      D Offline
      D Offline
      Daniel Turini
      wrote on last edited by
      #2

      John Oliver wrote: and VB6. Is this competition serious? John Oliver wrote: In previous years Microsoft have donated prizes-" Oh, now I see... :) My latest article: SQL Server DO's and DONT's[^]

      J 1 Reply Last reply
      0
      • D Daniel Turini

        John Oliver wrote: and VB6. Is this competition serious? John Oliver wrote: In previous years Microsoft have donated prizes-" Oh, now I see... :) My latest article: SQL Server DO's and DONT's[^]

        J Offline
        J Offline
        John Oliver
        wrote on last edited by
        #3

        The BCS is deadly serious and they do not f*ck about. If you're not aware of who they are they're the Charted body for IT in the UK. Bit like the ACM or IEE, but with tougher entrance requirements I believe. Anyway, you don't have to be a member to enter the competition. I'm not, yet. As far as language goes, the program design itself is not judged. It is treated as a blackbox with the judges running a demanding set of test data against it. I would certainly use an OO language cos it'll be important to have a good basis for the inevitable restructuring and debugging under pressure. So who's up for it?

        1 Reply Last reply
        0
        • J John Oliver

          Would anybody in the UK and Ireland be interested in getting a team together for the British Computer Societies' annual programming competition? You can program in C++ , Java, and this year even C# and VB6. In previous years Microsoft have donated prizes-"winning team and runners-up ... copies of Analyzing Requirements MCSD training kit, Software Engineering Classics, Visual Studio 6.0 Enterprise Edition, and Office 2000 Developer Edition. Members of the winning team also each received five days training from Parity Training". The heats are in March. We need up to 5 people for a team. The rules and a sample question can be found at http://www.bcs.org.uk/progcomp/

          S Offline
          S Offline
          Shaun Wilde
          wrote on last edited by
          #4

          By the looks of it it seems to be region based initially. Where are you based? It might be better if you got a local team together this would help you plan the team relationship before the meet - strengths and weaknesses etc beforehand.

          Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku

          J 1 Reply Last reply
          0
          • S Shaun Wilde

            By the looks of it it seems to be region based initially. Where are you based? It might be better if you got a local team together this would help you plan the team relationship before the meet - strengths and weaknesses etc beforehand.

            Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku

            J Offline
            J Offline
            John Oliver
            wrote on last edited by
            #5

            I'm from Northern Ireland and there's no local heat this year. I asked if I could enter a team in the Scottish heat and was told that would be fine. However I believe a team can enter any of the heats if an entry is made soon enough. I was trying to get a team from the Irish Java User Group, of which I'm a member, but there was no interest. Since there's lots of time until March to prepare I'm sure we manage something. Maybe work on a few practise questions.

            S 2 Replies Last reply
            0
            • J John Oliver

              I'm from Northern Ireland and there's no local heat this year. I asked if I could enter a team in the Scottish heat and was told that would be fine. However I believe a team can enter any of the heats if an entry is made soon enough. I was trying to get a team from the Irish Java User Group, of which I'm a member, but there was no interest. Since there's lots of time until March to prepare I'm sure we manage something. Maybe work on a few practise questions.

              S Offline
              S Offline
              Shaun Wilde
              wrote on last edited by
              #6

              do they give out practice questions? I had a look at the one on the site and it looked relatively straightforward. Is there only one computer to program on? It says you can take reference materials eg books what about MSDN CDs?

              Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku

              1 Reply Last reply
              0
              • J John Oliver

                I'm from Northern Ireland and there's no local heat this year. I asked if I could enter a team in the Scottish heat and was told that would be fine. However I believe a team can enter any of the heats if an entry is made soon enough. I was trying to get a team from the Irish Java User Group, of which I'm a member, but there was no interest. Since there's lots of time until March to prepare I'm sure we manage something. Maybe work on a few practise questions.

                S Offline
                S Offline
                Shaun Wilde
                wrote on last edited by
                #7

                well that was interesting just did the example question took 2 hours with about 15mins design no real testing yet but it does compute the first solution - learnt a lot about c# I didn't know - even though I use c# everyday its amazing what you don't know

                Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku

                J 1 Reply Last reply
                0
                • S Shaun Wilde

                  well that was interesting just did the example question took 2 hours with about 15mins design no real testing yet but it does compute the first solution - learnt a lot about c# I didn't know - even though I use c# everyday its amazing what you don't know

                  Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku

                  J Offline
                  J Offline
                  John Oliver
                  wrote on last edited by
                  #8

                  I'm going to have a go at the sample question this evening. I think I'll use C++ with the string vector and iostream stls and maybe the following classes. // main() // // Reads command line arguments containing input and output filenames // Opens input file // Read numRows and numCols // While it's not 0,0 // ---Create a new CSheet // ---Pass in ifstream,numRows, numCols to CSheet, which reads in all its data // ---Add CSheet to vector // ---read the next numRows andnumCols // // Create Output File // For each CSheet in vector // ---Evaluate expressions // ---Output the values to output file // Class CSheet // contains a vector of class CCells // // Method Read(in,numCols,numRows) // ---Initialses vector and reads in data to CCells // Method *GetAt(i,j) // ---returns a particular CCell // Method ConvertCellRef(str) // Function Calculate looks through all cells in vector //---If IsNumeric //------store integer // //---If cell contains an expression //------If "Sum.." //---------Parse the expression to get iStart, jStart, iEnd, jEnd //---------Do Summation from iStart, jStart to iEnd,jEnd //---------Store integer //------Else //---------tokenize all the terms, break into references (another //---------class?) ,integers and operator //---------evaluate all terms, and add them up //---------store integer // // So I reckon most of the work will be done in the parsing - converting the String cell references such as A0 or N10 to a pair of integers, and back again for the output, and evaluating all the terms. In the example data, expressions do not refer to cells with other expressions. Is this what is meant when it says there will be no cyclical expressions? Or is a cyclical reference when cell A refers to B and B referes to A (maybe via C). If one expression can refer to another will there have to be a notify/observer mechanism?

                  S 2 Replies Last reply
                  0
                  • J John Oliver

                    I'm going to have a go at the sample question this evening. I think I'll use C++ with the string vector and iostream stls and maybe the following classes. // main() // // Reads command line arguments containing input and output filenames // Opens input file // Read numRows and numCols // While it's not 0,0 // ---Create a new CSheet // ---Pass in ifstream,numRows, numCols to CSheet, which reads in all its data // ---Add CSheet to vector // ---read the next numRows andnumCols // // Create Output File // For each CSheet in vector // ---Evaluate expressions // ---Output the values to output file // Class CSheet // contains a vector of class CCells // // Method Read(in,numCols,numRows) // ---Initialses vector and reads in data to CCells // Method *GetAt(i,j) // ---returns a particular CCell // Method ConvertCellRef(str) // Function Calculate looks through all cells in vector //---If IsNumeric //------store integer // //---If cell contains an expression //------If "Sum.." //---------Parse the expression to get iStart, jStart, iEnd, jEnd //---------Do Summation from iStart, jStart to iEnd,jEnd //---------Store integer //------Else //---------tokenize all the terms, break into references (another //---------class?) ,integers and operator //---------evaluate all terms, and add them up //---------store integer // // So I reckon most of the work will be done in the parsing - converting the String cell references such as A0 or N10 to a pair of integers, and back again for the output, and evaluating all the terms. In the example data, expressions do not refer to cells with other expressions. Is this what is meant when it says there will be no cyclical expressions? Or is a cyclical reference when cell A refers to B and B referes to A (maybe via C). If one expression can refer to another will there have to be a notify/observer mechanism?

                    S Offline
                    S Offline
                    Shaun Wilde
                    wrote on last edited by
                    #9

                    when you're done - I'll send you my C# code :) - you'd be surprised at my solution (or not :) ) hint hint What I couldn't work out from the spec was the input - was it coming in from a file or the console? I went for file as it was easier to control/store the test data. But in C# it is only a few changes to change from file to console as I suppose it is in stl Have you had any other responses over this? My most complex solution solved this - I think it was excessive but if it coped with it I was happy - I also used Excel to test my data and output A1+SUM(A2:E2)*B2*SUM(C1:C5)-E4+SUM(A1:C1)-6*C4 what I wasn't sure about was if I had to cope with SUM(A1:C3) = eg A1+A2+A3+B1+B2+B3+C1+C2+C3 - I didn't in the end but it would only be a couple of lines change I was talking with a friend on strategies to use and I thought the Extreme Programming might be good and use Pair Programming - since there is only one computer (as I understand it) this shouldn't be hard.

                    Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku

                    1 Reply Last reply
                    0
                    • J John Oliver

                      I'm going to have a go at the sample question this evening. I think I'll use C++ with the string vector and iostream stls and maybe the following classes. // main() // // Reads command line arguments containing input and output filenames // Opens input file // Read numRows and numCols // While it's not 0,0 // ---Create a new CSheet // ---Pass in ifstream,numRows, numCols to CSheet, which reads in all its data // ---Add CSheet to vector // ---read the next numRows andnumCols // // Create Output File // For each CSheet in vector // ---Evaluate expressions // ---Output the values to output file // Class CSheet // contains a vector of class CCells // // Method Read(in,numCols,numRows) // ---Initialses vector and reads in data to CCells // Method *GetAt(i,j) // ---returns a particular CCell // Method ConvertCellRef(str) // Function Calculate looks through all cells in vector //---If IsNumeric //------store integer // //---If cell contains an expression //------If "Sum.." //---------Parse the expression to get iStart, jStart, iEnd, jEnd //---------Do Summation from iStart, jStart to iEnd,jEnd //---------Store integer //------Else //---------tokenize all the terms, break into references (another //---------class?) ,integers and operator //---------evaluate all terms, and add them up //---------store integer // // So I reckon most of the work will be done in the parsing - converting the String cell references such as A0 or N10 to a pair of integers, and back again for the output, and evaluating all the terms. In the example data, expressions do not refer to cells with other expressions. Is this what is meant when it says there will be no cyclical expressions? Or is a cyclical reference when cell A refers to B and B referes to A (maybe via C). If one expression can refer to another will there have to be a notify/observer mechanism?

                      S Offline
                      S Offline
                      Shaun Wilde
                      wrote on last edited by
                      #10

                      how did it go?

                      Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups