CS 2441: Database and Team Projects


Instructors:

Lecture: Professor Bhagi Narahari   |   narahari [at] gwu.edu
Office Hours: Tues, Thurs 11am-12noon


Lab: Roxana Leontie   |    [at] gwu.edu
Office Hours: TBA




Course Outline and Objectives


This course will expose students to various topics: database design, team software development, social impact and professional ethics, and writing in the disciplines. In database design, it introduces relational database design, query languages including SQL, theory behind the design of relational schemas and normal forms, database application development. A semester long team project requiring the design and implementation of a large information system using one of the commercial database systems will be assigned. The course will expose students to ethical analysis skills,  evaluate social impact of computer systems in society, intellectual property, software copyrights, and use of professional code of ethics in decision making. As part of the WID requirement, a number of written reports will be assigned and classroom discussions will be required.

Objectives:

  • Understand the fundamentals of data models and relational database model.
  • Learn query processing languages, and theory of relational database design and query languages.
  • Program database queries using SQL.
  • Design and implement a complete relational database application.
  • Work in a team to design, program, test, integrate and release a database application.
  • Develop ethical, legal and social impact analysis skills to evaluate the design and social and legal impact of computer systems.
  • Use professional codes of ethics in decision-making.
  • Improve written and spoken commununication skills.
Course material and course announcements will be placed at the following URL: www.seas.gwu.edu/~bhagiweb/cs2441/

Prerequisites and Texts


Prerequisites: CSci 2311
Primary Text (1)  Database Management Systems*, by Raghu Ramakrishnan, 3rd Edition, McGraw-Hill, ISBN Number 0-07-246563-8 (2) Gift of Fire, by Sara Baase
 
*The notes posted on the web will be sufficient for most of the database topics.

Working in Teams

In this course, you will work in a team during in-class exercises and the term project. Lectures will include in-class activities, where students will work in teams to cooperatively solve the assigned problems. Participating in team activities is essential for learning in this course. Details of roles within a team, team contracts, and how your role changes in this class are provided here.


Writing Requirements
This is a WID course -- as a result there will be a number of writing requirements and they will constitute a portion of your grade. There will be a TA assigned for the writing component of this course, and a few lectures will be scheduled on this topic. As a starting point get a copy of the book:
The Elements of Style, by Willian Strunk and E.B. White Jr, Longman Press. An earlier edition is available free on-line.

Course Materials


Grading
There will be many components for the grade: Lab Assignments, Homeworks, Team assignments, Exams and quizzes, Written reports, Term project and in-class participation.  The tentative breakdown is provided below:
  • Homeworks, labs, and programming assignments: 20%
  • Exams (two exams): 30-35%
  • Team based project: 25%
  • Writing homeworks: 10%
  • In-class Discussions, In-class team assignments, and Quizzes: 10-15%

Team based term Project
There will be a term project. The project will involve working in a team to design and implement a database Information System consisting of a web front end and a relational database.

Syllabus:

Lecture Schedule


   Part A: Database Design
 
  • Introduction to Database Systems. Chapter 1 of DB textbook
  • ER Model. Chapter 2 of DB book
  • Introduction to Relational Model. Chapter 3 of DB book.
  • Formal query languages: Relational Algebra and Relational Calculus. Chapter 4 of DB book.
  • SQL. Chapter 5,
  • Relational schema design and normal forms. Chapter 19.
  • Overview of DBMS.
  • Introduction to transaction processing.
   Part B: Social Impact and Professional Ethics.
  •  Professional Ethics
  • IP and Copyright Law
  • Fourth Amendment and Privacy
  • Consumer protection
  • Professional responsibility and ACM Code of Ethics
  Lab Schedule
  • Introduction to PhP
  • Introduction to MySQL
  • SQL Queries using MySQL
  • Team Project discussions and design document 1.
  • Introduction to Oracle: Triggers, Stored Procedures.
  • Transaction processing in Oracle and MySQL
  • Team project Phase 1 demos
  • Teamwork exercises.
  • Social Impact analysis and report
  • Professional ethics and ACM Code of Ethics
  • Team Project Phase 2 discussions - design document 2.
  • Team project final demos

Schedule of Lectures and Lecture Notes

Homeworks

Link to Lab Section Materials
You must be registered for a lab section of CS 2441. The instructor for the lab section is Roxana Leontie. You are required to attend the labs -- in some cases assignments will be handed out in the lab section and failure to attend the lab session implies failing grade on the assignment.

Projects and Teams

Course Announcements and Info will be placed here: check once a week

Academic Integrity Policy