CIS 450/550: Database & Information Systems (Spring 2016)

Location Berger Auditorium101 Levine Hall (Wu and Chen Auditorium), Tuesday/Thursday 1:30-3:00


Instructor





Teaching Assistants


Zachary Ives
Location: 576 Levine Hall North
Office hours: Tue 3:00-4:00 and by appointment


TAs and TA office hours (please email TAs to determine office locations, as these are not fixed):
Aryaa Gautam, Fri 4:30-5:30 and Sun 3:00-4:00
Shashank Agani Munivenkat, Mon 2:30-3:30 and Sat 3:00-4:00
Sagarika Rayudu, Thurs 2:30-3:30 and Fri 2:30-3:30
Aakriti Singla, Mon 4:00-5:00 and Sat 3:00-4:00
Kaushik Suryanarayana Tues 4:00-5:00 and Thurs 4:00-5:00
Rakshita Tandon, Wed 2:00-3:00 and Mon 2:00-3:00
Yunchen Wei, Fri 2:00-3:00 and Thurs 3:30-4:30
Course description

Structured information is the lifeblood of commerce, government, and science today. This course provides an introduction to the broad field, covering a range of topics relating to structured data, ranging from data modeling to logical foundations and popular languages, to system implementations. We will study the theory of relational and XML data design, the basics of query languages, databases' role in the Web, information integration, object-to-relational mappings, the connections between databases, key-value stores and "big data", database tuning and internals, and recent "cloud" data processing techniques.

The course project will exercise students' knowledge of database design, AJAX Web programming, and information integration, to build a social network photo sharing site.

Topics covered Database design, relational algebra and calculus, query languages (SQL, Datalog, XQuery), views, object and XML mappings, indexing, consistency, database tuning, servlet programming with AJAX, Map/Reduce and its relationship to SQL, basics of information retrieval and recommendation systems.
Format The format is two 1.5-hour lectures per week, plus assigned readings. There will be regular homework assignments, plus a team project, a midterm, and a final exam.
Prerequisites At least 12 months' programming experience, with at least 6 months' experience in the Java language (CIS 120, CIT 591, or equivalent). Familiarity with logic and logical reasoning.
Texts and readings Additional materials will be provided as handouts or in the form of light technical papers.
Grading

Homework and mini-projects 30%, Midterm 10%, Participation and intangibles 5%, Project 30%, Final 20%

All homework assignments should be done individually unless expressly allowed.

Other resources
  • Canvas page for homework submissions and grades, at https://upenn.instructure.com/courses/1312880
  • Course Piazza page for discussions, at http://piazza.com/upenn/spring2016/cis450550

Supplemental Textbooks (with links to Amazon)

(None of these are required, but some may be useful for further depth. You may be able to find some of them in the Engineering Library.)

Web Links

Potentially Useful Downloads

These are only necessary if you want to download software to run on your home machine. The CIS department servers and labs have Galax, Eclipse, Tomcat, and MySQL installed.

Schedule
Assignments are available in (frequently updated) electronic form here

Image by Barry Mieny, Creative Commons license