Syllabus
General Info
Meeting times and location:
Sec 1: TTh 12:30-1:45 Trinkle B6
Sec 2: TTh 3:30-4:45 Trinkle B6
Credits: 3
Course website:
http://www.zacharski.org/classes/2010/spring/cs350/
Instructor:\\ Ron Zacharski
Trinkle B20
googletalk & gmail: ron.zacharski
aim: zacharsky
Office hours:
Tuesday: 1:45-3:30
Wednesday: 11-1
Thursday: 1:45-3:30
Required materials
Textbook: Head First SQL Lynn Beighley Publisher: O’Reilly Media, Inc. Pub Date: August 28, 2007 Print ISBN-13: 978-0-596-52684-9 http://headfirstlabs.com/books/hfsql
Supplemental material: Depending on your learning style, you may want to pick up a book on PHP programming. There are many good books out there. Among them are
PHP and MySQL Web Development. Luke Welling and Laura Thomsom. Any edition. $34.64 from Amazon.
Head First PHP & MySQL. Lynn Beighley and Michael Morrison. $29.69 from Amazon.
Laptop policy
If you have a laptop I encourage you to bring it to class for several reasons. First, you can install a web server on it and do the in-class lab work (see, for example,the first lab). Second, you can take notes by typing significantly faster than by writing. And finally, you can use the net to research questions I may pose.
Catalog description
Presents logical database modeling and design, emphasizing the construction and analysis of relational schemas. Covers semantics, integrity constraints, functional dependencies, and table normalization. Practical use of relational algebraic operators, the tuple relational calculus, and their expression in declarative query languages. Introduces basic data mining concepts. May involve student team projects to develop small but representative data collection and analysis applications.
Course competencies
On successful completion of this course, you should be able to
- demonstrate a good understanding of SQL including subqueries, joins, and transactions.
- demonstrate the ability to create rudimentary database web applications.
- demonstrate the ability to use the Apache Web Server/MySQL/PHP stack.
Format of course
Teams
During the first day of class, all students will be assigned to permanent teams. Throughout the course, teams will both take team tests and participate in joint activities. Team performance will be one component of your final grade.
This consists of units of study roughly corresponding to the chapters of our textbook. The structure of each unit is as follows. First there will be an assigned reading. Following the reading, there may be a short multiple-choice test (the Readiness Assessment Test described below). We will then practice applying the material in class both with individual and group work.
Evaluation
Grading weights
Grading is on a straight scale. The grade reflects your achievement regardless of the performance of other students in the class. There is no curve.
- 93 and above is an A;
- 90-93 an A-;
- 88.5 -89.99 a B+;
- 82- 88.5 a B;
- 80-81.99 a B-;
- 78.5 – 79.00 a C+;
- 72-78.5 a C;
- 70-71.99 a C-;
- 65-70 a D; and 64 and below an F.
If everyone in the class does poorly on a particular item (test, or assignment), we will identify the problem and determine a remedy. The grades will be determined by scores in three areas: individual performance, group performance, and group participation (as determined by peer evaluation).
Evaluation criteria
I find it best if students in the class have a say in how they will be evaluated. My one solid constraint is that 10% of your grade will be based on team participation as described below. The other 90% of your grade will be determined by you using the following procedure.
- Each team sets preliminary weights by filling in the blanks in the table below and selects a representative for their group. You can give any component any weight you want provided the constraints listed after the table below are met. For example, you can have the tests count for 0% of your grade.
- Team representatives will meet at the front of the room and develop a consensus about the grade weights for the entire class.
The result will be an evaluation method that will be the same for every student in this section of the class. If the evaluation methods for the two sections of the class are so disjoint that they will require significant work on my part, I reserve the right to call for a joint meeting of section representatives to come up with a class-wide evaluation method.
CONSTRAINTS: Either midterm + final or RATs need to be 10% or greater of the total grade. (i.e. if individual performance = 50% and final = 20% of individual grade then final = 10% of total grade). Projects must be 10% or greater of the total grade
RATs – Readiness Assessment Tests and exams
There will be approximately six short multiple-choice Readiness Assessment Tests (RATs) given during the course. Each test will be taken individually and by team. On group exams and projects all team members will get the same grade. Makeup tests will not be given.
Midterm and Final Exams
To be determined. The final is likely to be a take home comprehensive final.
Projects
The projects will be team based using Agile Software Development with Scrum. Scrum is a software development process that works on a development cycle called a sprint. In the case of this class, sprints will be two weeks long. At the end of each sprint each team will demo their application.
MySQL Project
The MySQL Project involves writing a web application using PHP and MySQL about the difficulty level of developing a simple shopping site or simple social networking site.
nonSQL project
This project will involve installing one of the nonSQL servers mentioned on the homepage (e.g., Apache CouchDB) and writing a simple cloud application such as a very rudimentary GoogleDocs application.
Participation
During class I will ask individual students questions. For example, during the first week of class I may ask a student what might be the tables needed to write an Amazon-like application. I may also ask questions directed to the entire class. The participation evaluation metric is based on how students respond to these questions.
Worksheets/Labs
A good deal of class time will be directed at doing hands-on work. Sometimes a group will collaborate on one task. At other times, each individual must do something (for example, the first task is to get a web server, and mysql server running), but the idea is that everyone in the team will help make sure each individual will succeed.
Team participation
Each student will rate the helpfulness of all members of their group. Individual group participation scores will be the sum of the points they receive from other members of their team. Each team member distributes 100 points to other members of the team. The average team participation score will be 100 points. The rater must differentiate some of their ratings (they cannot assign the same rating to all members).
Accommodations for students with special needs
Any student with a documented disability may receive a special accommodation to complete any requirements of this course. If you are have a disability or believe you have one you may wish to self-identify. You may do so by providing documentation to the Office of Disability Services located in Room 203 of George Washington Hall (Phone: Voice 540-654-1266, Fax: 540-654-1163). Appropriate accommodations may then be provided for you. If you have a condition that may affect your ability to exit the premises in an emergency or that may cause an emergency during class, you are encouraged to discuss this in confidence with me and/or anyone at the Office of Disability Services. This office can also answer any questions you have about the Americans with Disabilities Act (ADA).