Courses‎ > ‎APCS - Term 1‎ > ‎Konstantinovich‎ > ‎


posted Mar 8, 2019, 5:53 AM by Konstantinovich Samuel   [ updated Mar 8, 2019, 10:57 AM ]

Pclassic Competition will take place on March 30, 2019
Signups will happen shortly.
You may only enter as standard teams this time. You really need to practice, most of the standard problems require more than you have learned in class.


CyberStuy is a biannual interactive open house that current students and the StuyCS department host in April and November to current middle school students in the NYC area to teach them how cool computer science can be, and what Stuy has to offer in terms of CS!

We've had a great turnout this past year, with around 400 participants at our initial event. We've also had lots of current Stuy students, as well as alumni, participate and volunteer.

However, the leaders of the event are graduating this year, and we need a new Coordinator to continue this tradition and help run this event.

If you are interested in event planning, Computer Science, or even the slightest interest in helping out with CyberStuy, please apply to be the Coordinator! You can find the application here:

If you have any questions, please email us at or message Amit Narang on Facebook.

3. Now for Class!
Goal: Finding the k'th smallest element of a list. 

How can we quickly find the k'th smallest element from a list of n values?
-This can be of any comparable type so there is a set order.

4th smallest of:  [17, 61, 67, 47, 93,12, 20, 4, 44, 68] 

Think of several methods to do this, starting with naive and slow, then try to be more creative!

Homework by Monday:

/*Modify the array such that:
 *1. Only the indices from start to end inclusive are considered in range
 *2. A random index from start to end inclusive is chosen, the corresponding 
 *   element is designated the pivot element. 
 *3. all elements in range that are smaller than the pivot element are placed before the pivot element.
 *4. all elements in range that are larger than the pivot element are placed after the pivot element.
 *@return the index of the final position of the pivot element.

int partition ( int [] data, int start, int end){