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
|