csu logo green Department of Computer Science

Algorithms and Data Structures 2012

-Home -Syllabus -Schedule -Assignments -Grading Policy -Course Policy -Code of Conduct -RamCT

All programming assignments are to be submitted using the checkin program. When checking in assignment number i, use PAi as the name of the assignment (e.g. PA0 for the in-lab assignment). Make sure you submit your assignment as a tarball, as PAi.tar, and only include your .java files unless specified otherwise.You will practice checking-in by submitting a file to HW0 in your recitation class.
For those of you who develop software from a non CS machine, make sure your code compiles and executes 'properly' on a CS machine before submitting your assignment. These are the only machines on which your programs will be tested.

All programming assignments (PAs) are due by 5 PM on the due date. Always check the assignment page for due dates. Late assignments submitted within 24 hours of the time required will receive a 10% late penalty. Electronic submission is closed 24 hours after assignments are due; students not having submitted programs receive an automatic zero on the assignment.

Written assignments are to be submitted in class. These may be handwritten, but must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible. Late assignments are accepted in class on the first Monday, Wednesday, and Friday after the original due date, and will receive a 10% late penalty.

Programming Assignments
: Search, Sort and EdgeRank for the Social Network Application

Students in CS200 will build a social network API similar to Facebook. Your system will manage (1) your personal information and (2) information about your friends and their activities. You will also provide APIs to generate News Feeds for each of the users. Your News Feeds should reflect the relation between friends and importance of the news: news from a loosely connected friend who’s faded off into obscurity or aged items is less important. To build News Feed, we will use the EdgeRank algorithm and this will involve searching, sorting, and data traversal techniques that will be covered in the class. For the further information, please check the overview.

Assignment 0: Submit anything using checkin.
Assignment 1: Building a Single-person Social Network Application using Stack
Assignment 2: Mamagement and Sorting of EdgeRank Scores in Single-Person Social Network Application using Quicksort algorithm
Assignment 3: Managing Multiple Users with a Binary Search Tree
Assignment 4: Retrieving Information of Multple User's Activities using HashMap
Assignment 5: Putting them all together: Generate a NewsFeed for a member

Programming Assignments Schedule

Assignment Number Due Date
PA0 Jan. 26(2 PM)
PA1 Feb. 2 (2 PM)
PA2 Mar. 8 (5 PM)
PA3 Mar. 27 (2 PM)
PA4 Apr. 19 (2 PM)
PA5 May. 3 (2 PM)



Written Assignments Schedule

All of the written assignment should be done individually.

Assignment number Due date
WA1 (pdf file) Jan. 27 (beginning of the class)
WA2 (pdf file) Feb.15 (beginning of the class)
WA3 (pdf file) Mar. 21 (beginning of the class)
WA4 (pdf file) Apr. 13 (beginning of the class)
WA5 (pdf file) Apr. 30 (beginning of the class)