Course Syllabus
Course N°: |
CSCI E-60 |
Course Title: |
Developing Web-based Database Applications |
Classroom: |
53 Church Street L01 |
Class Time: |
Wednesday 5:30 pm – 7:30 pm |
Semester: |
Fall 2015 |
Course Email: |
Teaching Staff
Instructor: |
Maria R. Garcia Altobello |
Email: |
|
Lecture: |
Wednesday 5:30 pm – 7:30 pm |
Office Hours: |
Wednesdays before or after class by appointment |
Teaching Assistants
Email: |
cscie60@dce.harvard.edu (this email will reach the Instructor and all members of the Teaching Staff) |
|
Emily Keuthen |
Introduction
Most management information systems in place today use some form of the client/server model of distributed computing. The client/server architecture comprises two elements: the client side, which provides user interface, and the server side, which provides file, database, and other services. Middleware allows communication between clients and servers. The proliferation of inexpensive and powerful personal workstations along with highly productive Web development software, have inspired the widespread demand for Web-based client/server applications.
This course focuses in the development of Web-based database applications, with an emphasis on sound database design. Database design is a business not a data problem. To successfully design a database, the analyst needs to understand the information of the organization. This includes using all the data research and analysis techniques available, and searching inside of the toolbox to select those tools that will allow the analyst to understand the business the organization is in. Information is data within a particular context. Thus, if the person understands the information required by the organization, he/she will be able to organize the data in such a way that answers the questions required by the organization. Although governed by a number of rules and standards, database design is an art. Only practice will allow an individual to learn what better suits each particular need.
The first two thirds of the course will cover those indispensable aspects of database server computing: database design, the relational database model, relational database management systems, the SQL language, transaction processing and other database concepts. The latter third of the course will introduce one of the alternatives available for building client applications using Web application development.
For database services, we will use the Oracle version 12c database management system as the principal vehicle for demonstrating and building relational databases and exploring important database management system concepts such as schema definition, referential integrity, SQL queries, triggers, stored procedures, transaction processing, and access control.
For Web application development, we will use Adobe’s ColdFusion version 11 to develop Web forms featuring database access such as database connections, retrieval, insert, update and delete operations as well as secure user interactions via HTML within a Web server.
Audience
This course is intended for individuals interested in gaining a thorough understanding of Web-based database application design and development. Individuals interested in enhancing their knowledge or broadening their skills with respect to database management systems and client/server application development should benefit from this course. The focus of this course is on using high-level software tools in order to develop software applications. It should be viewed as a solid introduction to a broad set of topics, anyone of which the student may want to focus upon as an area of specialization in the future, and a good prerequisite for a number of more specialized courses in the computer science curriculum.
Degree Requirements
Students may count this course toward the Web Technologies Certificate. This course also fulfills the following requirements in the ALM in IT:
Concentration |
Database Management |
Elective |
Web Application Development |
Web Design and Application |
Digital Media Design |
√ |
√ |
||
Information Management Systems |
√ |
√ |
||
Software Engineering |
√ |
√ |
Prerequisites
The instructor assumes students have familiarity with general business situations, but no previous knowledge on designing and building database applications. Familiarity with databases as an end user is a plus.
In addition, students must have programming experience, preferably in an object-oriented programming language like C++ or Java, such that learning a new language is not an obstacle.
Finally, students must have sufficient hands-on experience with Unix/Linux, text editors, and have the ability to create simple HTML pages.
Catalog Description
Web-based applications offer the advantages of workstation productivity and ease of use together with the power and sophistication of relational database servers. This course provides the concepts and skills necessary to design and develop web-based database applications. Students build a working database application using Oracle and a client application using ColdFusion to serve the information needs of an enterprise. Through hands-on projects, students will build, populate, query, and write transactions for a relational database using SQL and then develop a client application to access their database. As a final project, students will build a prototype client/server application. Prerequisites: programming experience, preferably in an object-oriented programming language such as C++ or Java; familiarity with Unix/Linux; and the ability to create simple HTML pages.
Course Objectives
Throughout this course, students will:
- Be exposed to computerized database functionality, power, and management methods.
- Become conversant in database terminology.
- Use current database management system software (Oracle) in a current operating system environment (Unix/Linux), to build a client application that runs on a current Web application Server (ColdFusion) to demonstrate their acquired knowledge.
- Be exposed to current database structures.
- Discuss current and emerging database technologies.
- Survey current technologies affecting the way databases are used.
Upon completion of this course, students will be able to:
- Demonstrate ability to design a database to solve an information problem, by applying the relational model.
- Demonstrate ability to create a Web-based database application using current application software.
- Articulate the role of database technologies in solving business problems and management decision support.
- Transform business requirements into business solutions using database technologies.
- Formulate queries, transactions, and triggers to support management decision-making processes.
- Become aware of issues pertaining distributed database management systems, especially transaction processing, concurrency control, and security.
Texts
While there is no specific textbook requirement, students are encouraged to purchase at least one book on database concepts and/or SQL.
Textbooks complement class lectures, and help students consider points of view which may differ from those of the instructor. This contributes to creating a solid foundation in the subject. A guide to suggested readings for recommended texts will be available on the Course Website.
Teaching Strategies
Over the course of the term, the instructor will employ one or more of the following strategies:
- Lecture
- Practical Applications
- Sections
Lecture
Under this section, the instructor will present the basic concepts to be covered. Depending on the subject, students may be exposed to other supplemental material. The lecture will rely heavily on questions posed by the students.
Practical Applications
Under this section, the instructor will walk students through exercises that represent an application of the concepts covered. Students may bring their own laptops to class, and follow along with the instructor. A great part of the course covers a hands-on approach to database implementation.
Sections
Starting the first week of class, optional sections will be held each week. Sections are one and a half hours long. Each section is taught by a course Teaching Assistant. The number of sections is dependent on course enrollment. While attendance is not required, it is highly recommended that you try to attend at least one section each week. You may attend as many sections as you wish. There will be sections for distance students.
Evaluation Methods
Assignments for this class range from written work on database design to SQL, client development computer exercises to a final project. The workload to complete the written work and computing assignments is short, but intensive. Depending upon your experience, each assignment should take an average of four to six hours to complete. There is one examination in this course, but major emphasis is placed upon the assignments and the final project. You should expect to devote a significant amount of time over a one-month period to complete the final project.
The final grade will be calculated as follows:
¨ Database Assignments 500 points
¨ Online Midterm 250 points
¨ Final Project 250 points
Database Assignments
There will be four assignments during the term:
PQ-1-5 |
Pop Quizzes (5 short quizzes, 1 point each for extra credit) |
5 points |
PS-1 |
Database Design using Normalization |
100 points |
PS-2 |
Database Design and Data Modeling using Entity Relationship Analysis |
150 points |
PS-3 |
Defining and Querying a Database using SQL |
100 points |
PS-4 |
Database Integrity using SQL and PL/SQL and Simple Database application using ColdFusion |
150 points |
Total |
500 points |
Midterm
There will be one online examination during the term. The midterm comprises the material covered in Units 1 and 2, and will consist of short database design exercises using Normalization and Entity Relationship Analysis, as well as some basic SQL and PL/SQL concepts.
Final Project
The final project consists of the design and implementation of a Web-based database application to solve an information management problem of your own choosing; perhaps something relevant to information needs at your workplace. Database design is the most critical part of the final project.
The final project is due by the last class on December 16, 2015. The final project is in many respects a composite of the entire course content. Plan for this early. Consultations with the Teaching Assistants or myself are expected as you proceed. In general, the final project should reflect concepts from the entire course content. Local students will be encouraged to demonstrate their projects during the last class. Details on the final project will be provided by session 7.
Grade Calculation
The total points accumulated will be converted to the Extension School grading scale at the end of the semester. The following score criteria will be used:
Grade |
Definition |
Quality Points |
Score |
A |
Excellent |
4.00 |
96-100 |
A- |
Excellent |
3.75 |
90-95 |
B+ |
Very Good |
3.25 |
87-89 |
B |
Good |
3.00 |
84-86 |
B- |
Good |
2.75 |
80-83 |
C+ |
Average |
2.25 |
77-79 |
C |
Average |
2.00 |
74-76 |
C- |
Average |
1.75 |
70-73 |
D+ |
Deficient |
1.25 |
67-69 |
D |
Deficient |
1.00 |
64-66 |
D- |
Deficient |
0.75 |
60-63 |
E |
Failure |
0.00 |
0-60 |
Final grades will be calculated on the basis of completed assignments and the final project. No credit will be given for unfinished assignments. The final grade will be based upon a standardized curve aggregated by overall class performance.
Late Submission Policy
All assignments will be due by 6:00 pm EDT. Late assignments will be accepted and graded according to the following guidelines:
Days Late |
Penalty |
Up to 1 |
10% |
Up to 2 |
20% |
Up to 3 |
30% |
Up to 4 |
100% |
This late policy does not apply to the final project. The final project must be handed-in on or before December 16, 2015. Final grades will be calculated on the basis of completed assignments, the midterm, and the final project. Zero credit will be given for unfinished work.
Extensions will be granted only for the most extenuating circumstances, and generally only for the final project. You must petition the class instructor for an extension on or before November 30, 2015.
Late Token Policy
Students have 3 late tokens, each worth one day. Tokens may be applied to submitted assignments only. Each token allows students to submit an assignment a day late without any explanation. Students may use all 3 tokens in one assignment or a token on 3 different assignments. The late assignment policy will apply to additional late days, as indicated above.
There are no exceptions to this policy. Exceptions are unfair to other students, and impose an added burden on teaching assistants. The tokens expire on November 30, 2015. Thus, they may not be applied to the final project.
Assignment Review Policy
Students must address their comments on the graded assignments to the TA who graded them. If the TA and the student are not able to reach an understanding, the TA or the student may request the instructor to review it.
Resubmission Policy
Once graded, assignments may not be resubmitted for regrading.
Technical Requirements
To gain access to selected handouts, students will need to download the most recent version of Adobe Acrobat Reader. This software is available for free at: http://www.adobe.com.
To access Oracle students must use a special Unix account provided on the Extension School server, ora60.dce.harvard.edu. If you have access to the Internet you may connect to the Oracle server via telnet, using a secure terminal emulator to your Unix account on ora60.dce.harvard.edu.
You may use your favorite text editor to write your code. If you use a Windows-based editor you will need to transfer the .cfm files to you Unix account on ora60.dce.harvard.edu using secure file transfer software (SFTP). Harvard degree and certificate candidates may download this software for free directly from the FAS Website: http://www.fas.harvard.edu/computing. You must have a valid Harvard Student ID to access software available for download.
Local students may complete all computing assignments, including the final project, using the PCs in the Science Center or at the 53 Church Street lab. Distance students will need an Internet connection to access the course server.
Course Communication
Classes meet once a week for 2 hours. Aside from classes, students have a number of ways to communicate with the teaching staff and with their classmates.
In person:
You may attend any or all the Teaching Assistant sessions. Teaching Assistant sessions run for 1.5 hours, and will begin the first week of class. The Teaching Assistant sessions are optional and are meant to reinforce and expand upon class topics as well as to discuss assignments and the project. Although not mandatory, you are strongly encouraged to take advantage of this opportunity.
You may schedule a meeting with a teaching assistant. Office hours are available before or after Teaching Assistant sections, and run for 30 minutes. Additional hours may be scheduled by appointment. Please, contact the teaching assistant directly to set up a mutually convenient time.
You may schedule a meeting with the instructor. Office hours are available each Monday before class on a first come-first served basis. Additional hours may be scheduled by appointment. Please, contact your instructor if you are interested in meeting with her.
Electronically:
You are encouraged to visit the course Website often for updated information about the course.
If you require further assistance, there are 4 additional ways to get an answer to your questions. If your question is a general one, you may post it to the bulletin board. There are 2 bulletin boards available in this course (links appear on the course Website):
- General Discussions,
You are encouraged to read the class postings and contribute with your responses. Please refrain from posting solutions to assignments. Note that you will need to register before posting to any of the above bulletin boards.
This semester we have started a new FAQ section. Some of your general questions might be featured in the FAQ section, and will be available to students taking this class at a later time. The FAQ section is a blog. Students are free to post a new item, or to comment on items already posted.
Alternatively, you may contact the teaching staff by sending an email to the class email (cscie60@dce.harvard.edu).
Student Responsibilities
Students registered in this course are responsible for attending classes, taking notes, downloading the materials, taking the midterm examination, and handing in their problem sets and final project.
Make sure you keep a backup of all your work. Even if you submit your homework on time, there is no guarantee that your work will reach its destination as expected. Your instructor or a member of the teaching staff may contact you in case there are any problems, but you are responsible for making sure your work receives proper credit, and this includes proper reception.
As a word of advice, do not wait until the last moment to complete your work. If you do, you run the risk of experiencing unanticipated problems that might prevent your from completing your work on time.
Students are expected to be familiar with the Academic Policy described in the Extension School catalogue. You may contact the Registrar’s Office with questions in this regard.
Classroom Etiquette
All students should follow and maintain appropriate classroom etiquette. This means that you should not be noisy or disruptive during class time and that you should be polite and respectful to your fellow students, to your instructor, and to the teaching staff. I promise to do the same. If you note that appropriate etiquette is not being followed in your presence, I encourage you to contact me for assistance.
Make sure you are familiar with online etiquette, by visiting http://www.netmanners.com/.
Learning Disabilities
The Extension School is committed to providing an accessible academic community. The Disability Services Office offers a variety of accommodations and services to students with documented disabilities. Please visit www.extension.harvard.edu/resources-policies/resources/disability-services-accessibility for more information.
Academic Honesty
You are responsible for understanding Harvard Extension School policies on academic integrity (www.extension.harvard.edu/resources-policies/student-conduct/academic-integrity) and how to use sources responsibly. Not knowing the rules, misunderstanding the rules, running out of time, submitting "the wrong draft", or being overwhelmed with multiple demands are not acceptable excuses. There are no excuses for failure to uphold academic integrity. To support your learning about academic citation rules, please visit the Harvard Extension School Tips to Avoid Plagiarism (www.extension.harvard.edu/resources-policies/resources/tips-avoid-plagiarism), where you'll find links to the Harvard Guide to Using Sources and two, free, online 15-minute tutorials to test your knowledge of academic citation policy. The tutorials are anonymous open-learning tools.
Here is a PDF version of the syllabus.
Course Summary:
Date | Details | Due |
---|---|---|