May 4
Final, 8-10am (11am if needed). Meet in lab.
May 2
Project final report and binder due. Peer reviews. Reflection paper
due by midnight.
April 29
Project presentations to clients. Meet in regular classroom.
April 15
Draft of final report is due. Include at least an overview of the project with
the mission statement and objectives, the list of tasks for the project,
the conceptual data model, logical data model, and screen shots of the
user interface.
April 4
Project demonstrations and draft report due.
For the presentations each group review the mission of the application,
who the application is for, and the tasks it is to perform.
Show the conceptual and logical models.
While showing the logical model - present an overview of the interface and the tasks.
Show realistic data in the tables.
Walk through each interface element (forms and reports).
Each member of the group should be involved in the presentation.
April 1 (Friday)
Exam 2
March 28 (Monday)
Quiz - normalization
March 23
Have the relational algebra exercise completed.
Can also practice normalization using Exercise 14.14 (page 390) determining FDS,
candidate keys and creating BCNF relations for the data.
March 4
Meet in Museum 205, each group describes what their project is and who it is for. They show the
misison statment, objectives, list of tasks and the conceptual model for their project.
Each member of the group should be involved.
March 3
Email project mission statment, objectives and list of tasks to me by midnight March 3rd
March 2
Finish the exercise going from conceptual models to logical models
started in class.
Feb. 19
Exam 1
Feb. 12
Finish doing the modeling exercises started in class.
Feb. 5
Quiz on Chapters 3, 4, 6 & 21.
Jan. 22
Quiz on Chapters 1 and 2.
Jan. 11
Course Introduction
Text: Database Systems, 5th edition,
by Thomas Connolly & Carolyn Begg.
Warning: include(/home/faculty/schahczenski/webSites_Common/contact.php): failed to open stream: No such file or directory in /opt/www/classes/csci340/csci340.php on line 19
Warning: include(): Failed opening '/home/faculty/schahczenski/webSites_Common/contact.php' for inclusion (include_path='.:/usr/share/php') in /opt/www/classes/csci340/csci340.php on line 19
Office Hours:
Warning: include(/home/faculty/schahczenski/webSites_Common/officeHours_spring.php): failed to open stream: No such file or directory in /opt/www/classes/csci340/csci340.php on line 25
Warning: include(): Failed opening '/home/faculty/schahczenski/webSites_Common/officeHours_spring.php' for inclusion (include_path='.:/usr/share/php') in /opt/www/classes/csci340/csci340.php on line 25
Text: Database Systems, 5th edition, by Thomas Connolly & Carolyn Begg
Prerequisite:
CSCI 136, Fundamentals of CS II, or
CSCI 310, Advanced Visual Basic, or
CSCI 112 Programming with C and CSCI 117 Programming with Mathlab
Meeting times and place:
Mon. & Wed. 2:00-2:50 in MUS 205
Fri. 2:00-3:50 in S&E 308
What is in this course?
This course offers you a background in database management systems and design so that you will be able to understand the fundamentals of all relational database products. Working in a group, you will get to work on a small database application and you will experience working with both Microsoft SQL Server and MySQL.
Topics:- Relational model
- Relational algebra
- Data modeling using the Universal Modeling Language (UML)
- Normalization
- Building database applications
- SQL, Structured Query Language, the standard query language for relational databases
- Transactions
- Sql-injection
- SQLServer and mySQL
- Processing semi-structured data (XML, NoSQL and Hadoop)
- Information stewardship
Grading:
Activity | Percentage |
---|---|
Exercises/Quizzes
|
10% |
Information stewardship paper | 10% |
Reflection paper | 5% |
Midterm 1 (Feb. 19) | 10% |
Midterm 2 (March 23) | 20% |
Final (May 4, Wednesday, 8:00am-10:00am, 11:00 if needed) | 25% |
Project | 20% |
Homework Assignments and Quizzes:
The material in this course builds on itself. For this reason it is important that you keep up with the material. Not understanding one topic will make the next topic harder to learn. Reading assignments will be given for most class periods and small quizzes will be given periodically. Homework assignments, class exercises and labs will solidify your understanding of the material.
Students who actively discover information, ask questions about the material, and explain their reasoning to others, are more likely to remember the concepts and to use them outside the context in which they were learned. For this reason I hope to avoid lecturing and spend class time going over problems, doing exrcises, working examples and discussing concepts.
Papers:
You will have a chance to discuss information stewardship, develop a thesis concerning it, and support that thesis in a paper. Information stewardship involves not only storing information, but protecting its security and integrity. You will explore the delicate balance between using personal information and honoring privacy. You will also write a reflection paper on your experience developing the database application for outside clients and working within a group.
Catalog description of the course:
Studies concepts and applications in database management including the relational model, relational algebra, Structural Query Language (SQL), normalization, transactions, and how to avoid SQL-injection. XML, NoSQL and Big Data are introduced. Information stewardship is discussed. Students get a chance to prototype a database application working in groups. Prerequisite: CSCI 136, or 310, or 112 & 117. (2nd)
Expected skills students have coming into the course:
- E1. Students are proficient in a programming language and have learned basic error-handling, testing and debugging techniques. (CSCI 136, CSCI 130, or CSCI 112 and CSCI 117)
Expected outcomes from taking this course:
- R1. Students will be aware of issues relating to information privacy including consequences of data retention policies, information integrity, and understand the concept of information stewardship. (CAC-e, g; EAC-f, j)
- R2. Students will understand the purpose of data modeling and are able to model the logical data in a database. (CAC-c, i, k; EAC-k,1)
- R3. Students will understand the relational model, its significance, can create a relational schema that incorporates entity integrity, and referential integrity constraints, and have been introduced to relational algebra. (CAC-i, k; EAC-k, 1)
- R4. Students will be able to perform Boyce-Codd Normal Form (BCNF) data normalization. (CAC-c, i, k; EAC-k, 1)
- R5. Students will write basic Structured Query Language (SQL) DDL and DML statements. (CAC-i, EAC-k)
- R6. Students will understand the purpose and concepts of transactions. (CAC-c, i; EAC-k, 1)
- R7. Students will understand what code injection is, its dangers, and ways to write SQL statements to avoid code injection. (CAC-i; EAC-j, k)
- R8. Students will have been introduced to XML, No SQL and Big Data. (CAC-i; EAC-j, k)
- R9. Students will have a basic grasp of the system development life cycle as related to database development. (CAC-c, k; EAC-1)
- R10. Students will be familiar with at least one database management product. (CAC-i, EAC-k)
- R11. Students will work in teams to develop a database application for an external client. (CAC-d, f; EAC-d, g, 1)
Related student outcomes:
- CAC-c An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- CAC-d An ability to function effectively on teams to accomplish a common goal
- CAC-e An understanding of professional, ethical, legal, security and social issues and responsibilities
- CAC-f An ability to communicate effectively with a range of audiences
- CAC-g An ability to analyze the local and global impact of computing on individuals, organizations and society
- CAC-i An ability to use current techniques, skills and tools necessary for computing practices
- CAC-k An ability to apply design and development principles in the construction of software systems of varying complexity
- EAC-d An ability to function on multidisciplinary teams
- EAC-f An understanding of professional and ethical responsibility
- EAC-g An ability to communicate effectively
- EAC-j A knowledge of contemporary issues
- EAC-k An ability to use the techniques, skills and modern engineering tools necessary for engineering practice
- EAC-1 The ability to analyze, design, verify, validate, implement, apply and maintain software systems
Course Information | Schedule | Resources