Tuesday, January 20, 2009

PClassic 2009!

High School Teachers and Administrators,

I'd like to personally invite you to register a team for this year's
Philadelphia Classic (PClassic) Programming Contest to be held at the
University of Pennsylvania, on Saturday, February 21st, 2008. The
contest is designed and run by Penn undergrads in the Dining
Philosophers Computer Science Club. The contest is open to any high
school that can transport students to the Penn campus. The event is
tentatively scheduled for schools to arrive between 9am and 10am, and
for the contest to be complete by 4:30 or 5pm. A more detailed
schedule will be available as the date approaches.

The contest consists of teams of 4 students from a high school. (If
you are interested in bringing more than one team, please let us know)
There will be 8 programming questions, to be answered in Java. Points
are awarded for correct responses and speed is used to break ties. To
encourage teamwork and critical thinking, only one computer is used
for each team – students are encouraged to work out solutions on paper
first. Examples of questions can be found on our website,
http://dp.seas.upenn.edu/ In addition to the contest, we provide a
simple breakfast, lunch, t-shirts, and a tour and talk about Penn's
Computer Science and Engineering departments. Prizes and trophies will
also be awarded to the winners.

To register for the contest, please fill in the form located at
http://spreadsheets.google.com/viewform?key=pEHkWRTDiXT0XJv-3FHJgGg&hl=en

(If the form does not work, contact us at pclassic@gmail.com)

Also, keep an eye on our website http://dp.seas.upenn.edu/ for updates
and more information about the contest. (This website now contains the
feed from our blog located at penndp.blogspot.com)

If you are not the relevant contact for this message at your school, I
ask that you please forward this message to the appropriate teacher or
department head. In addition to Computer Science/Programming teachers
and students, we have seen registrations from math teachers, business
teachers, and technology departments in the past. If you know any
personnel at other schools who may be interested, feel free to forward
along this invitation.

A registration fee of $50 per team of 4 students is required on the
day of the contest. If this fee prevents your school from attending
the contest, please let me know at pclassic@gmail.com and we
may be able to make arrangements.

Questions? Feel free to contact our contest email address at
pclassic@gmail.com.
I'd be glad to help you with any concerns.

Matt Evans
President, Penn Dining Philosophers

Friday, October 17, 2008

Microsoft Techfest

Come check out Microsoft's Techfest on Tuesday 10/21 from 7-8pm in Wu-Chen Auditorium. Microsoft employees will be here showing off the newest and most exciting work that is being done at Microsoft and also to just hang out, meet, and chill with students.

Wednesday, October 15, 2008

New Member Event

Are you new to computer science and the department here at Penn?

Come join us on Thursday, October 16th at 8pm in Levine 315. We'll have food, drinks, and a good time waiting for you. Members of the Dining Philosophers, the premier computer science major club here at Penn, will be on hand to chat, explain what our club does, and how you can get involved.

Thursday, October 9, 2008

Meeting Time

We will be meeting at 9pm in the Rodin mezzanine (usually sitting on the couches) every Wednesday for the Fall 2008 semester.

Thursday, April 10, 2008

Weekly Question - Week 1 Solutions

The solutions for Week 1's question are now posted. You can find the answer for Queues here and the one for removing duplicates here.

Tuesday, April 8, 2008

Weekly Question 3

The new week's question is available here

We'll extend the deadline out to April 18th, 2008, since it's a hectic weekend for us on campus. Also, the question should be #3.

Sunday, March 30, 2008

Pascal's Triangle

The question for this week is now available. Results from last week will be posted soon. Please submit all results to knichel@seas.upenn.edu

Monday, March 17, 2008

New Weekly Question

Starting this week, we're offering a weekly programming question. At the moment, no prizes are available, but we'll be collecting responses and publishing the best. We're looking for creativity and elegance in solutions - this gives us a chance to reward the parts of programming that don't come up in contests. Here's this week's question:


DP Weekly Question #1

Part a.)

In this part, we will be looking at data structures. This problem will use only two data structures, a stack and a queue. A stack is a Last-In-First-Out (LIFO) data structure, meaning that the first element that you can access out of the data structure is the last one you inserted. A stack supports two operations, push() and pop(). A push() pushes an element on to the top of the stack, and a pop() takes the top element off the stack and returns it. A queue (pronounced like the letter Q) is a First-In-First-Out (FIFO) data structure. The first element you insert will also be the first element you take out of the data structure. Queues support two operations: enqueue() and dequeue().
Enqueue() adds an element to the data structure, and dequeue removes an element from the data structure.

A queue is normally represented by using a list. However, it can also be implemented by only using Stacks in the internal representation. The problem is: Design a Queue data structure class by only using Stacks (java.util.Stack -
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Stack.html) in the internal representation. Provide a constructor, and support the operations Enqueue(), Dequeue(), and Empty() which returns True if the Queue is empty, and false otherwise. Be careful to handle the case of underflow errors (when you try to remove an element from the queue when there are no elements in it).

Answers are required to be in Java or C#, but answers will be provided in Java.

Part b.)

In this part, we will ask a relatively simple question. You are given an array of arbitrary length filled with random integers. The elements are in no order. Also, there are duplicates of elements in the array.
Write a function that returns a new array with all the duplicates of any element removed, such that there is only one of each element in the new array.

In this problem, wee are looking for an efficient solution. Some aspects of efficiency are space used (number of variables and arrays
allocated) and the running time of the algorithm. First try to implement any solution that accomplishes the given task. Then look for ways to improve your solution.

Again, answers are required to be in Java or C#, but solutions will be provided in Java.

Please submit all answers to Knichel@seas.upenn.edu by March 28, 2008.

Sunday, February 17, 2008

2008 PClassic Results

This year's contest was a huge success. The competition was fierce, and the scores were close. Scores are out of 80 possible points.
Here's the results:

Horace Mann-2 77
Radnor 64
Horace Mann-1 60
Germantown 37
St. Joes Prep 20
Friends Select 17

This year's question set can be downloaded here.

Answers will be available soon.

Pictures from this year's contest are available here and on our Picasa album.
If you require publication-quality copies of the pictures, please email pclassic@gmail.com.
PClassic 2008 Programming Contest

Thursday, January 31, 2008

Last chance!

This is the last chance to register for PClassic 2008! Please send an email to pclassic@gmail.com with registration information or at least letting us know of your intent to participate. Please let us know by Friday 2/1 or Monday 2/4 at the latest.

Additionally, this year's contest plans to use the PC2 Programming Contest environment. Information is available from the project page.