With the explosive growth in data volume, increasing sophistication of data analysis, and a trend toward parallelism and distribution, traditional approaches for developing data-driven and data-intensive applications are becoming inadequate. We are witnessing a plethora of ideas that blur the traditional boundaries between databases and programming languages, and between data-centric and process-centric views of computing. These ideas range from techniques for dealing with impedance mismatches between programming paradigms such as Language Integrated Querying (LINQ), to abstractions and primitives for data parallelism such as BigTable and Map/Reduce, to new, data-centric declarative languages for domains such as networking and system management. The course will involve plenty of reading and discussion of the recent research literature as well as course project.
Except for necessary background reviews, the contents of this course do not overlap with CPS 216 or previous offerings of CPS 296 on topics in databases.
Prerequisites: A good understanding of algorithms, data structures, and programming. Some background in databases will be helpful but is not required.
Aside from lectures, much of the course will consist of seminar-style class meetings. Students will read recent research papers, and give presentations and lead discussions of these papers. There also will be an open-ended course project.
Homework consists of reading and presentation assignments. There will not be any exams. Grade will be based on course project, homework, and class participation.
Instructor: Jun Yang
Time and Place
2:50pm-4:05pm on Tuesdays and Thursdays; North Building 306.
No textbook is required. There will be a reading list drawn from recent research literature. The list will be posted and updated regularly on the course Web site.
Web and Email
Most of the course materials, including the tentative schedule, lecture notes, reading list, etc., will be available through the course Web page (http://www.cs.duke.edu/courses/spring10/cps296.1/).
To avoid spam, there is no mailing list for the class. However, the instructor will send out emails with everybody on the recipient list. You may use the recipient list in these emails to send only questions/answers and comments of general interests to the class. Specific questions should be directed to the instructor. Please check your emails regularly, as important announcements and information will be sent via email.
Grading is done on an absolute scale (in other words, there is no curve). Anyone earning 90% or more of the total number of points available will receive a grade in the A range; 80% or more guarantees a grade in the B range; 70% or more guarantees a grade in the C range; 60% or more guarantees a grade in the D range.
Under the Duke Honor Code, you are expected to submit your own work in this course. On many occasions, it is useful to ask others for hints or help, or to search the Web for related resources (e.g., slides from the original authors of a paper you are presenting). Such activities are acceptable, but you must explicitly indicate any assistance you received. Any assistance received that is not given proper citation will be considered a violation of the Honor Code. In any event, you are responsible for understanding and being able to explain on your own all materials that you submit and present. The course staff will pursue aggressively all suspected cases of Honor Code violations, and they will be handled through official University channels.
|Last updated Tue May 04 11:27:47 EDT 2010|