CSCI 340
Databases and Web Systems


MWF 12:10pm - 1:00pm




Dr. Mark Goadrich
(501) 450-1367
Office Hours

background image from wikimedia


A study of designing and using a database management system (DBMS) and of developing Web applications. Topics include HTML, CSS, the JavaScript language, relational database theory, techniques for supporting ACID properties, and frontiers in database research. As part of a large team, students design and develop a system using both Web and mobile front ends that interacts with a DBMS using SQL. Prerequisites: CSCI 151.

Learning Goals

Upon completing this course, our goal is for you to be able to:



When we write code together in class, it will be posted here!

Date Topic Code
F 8 Sep AJAX Demos Dogs
    Fortune Cookie
W 13 Sep User Stories User Story
    Agile Introduction to User Stories
    Tips for Writing Good User Stories
  Use Cases Use Case
    Agile Introduction to Use Cases Use Cases
M 18 Sep Entity Relationship Diagrams ERD
W 20 Sep Data Modeling with Vertabelo Taxi Serivice
F 22 Sep Normalization Database Normalization


[Adapted from Spencer Bagley and David Clark, via Robert Talbert]

CSCI 340 uses a real-world policy on due dates—but this may not mean what you think! In the real real world, due dates exist but they are often not ironclad. Assignments have due dates to help you make progress in the course and solidify your knowledge before moving on to something new. Your life and schedule may not perfectly coincide with the due dates I have chosen. If you need more time to get the job done well, you email whoever set the deadline to ask if you can have more time. Studies have shown that deadline extension requests—in moderation and when truly needed—often lead to better employee evaluations (not to mention better work). [See Go Ahead and Ask for More Time on that Deadline by Ashley Williams.]

If you need an extension on a due date, email me and explain what you need, and it will probably be fine. It helps if you propose a concrete new deadline (e.g. “I can get it done by 5pm on Wednesday”). If you ask for lots of extensions, we’ll work together to find a way to help you keep up. Note, however, that late submissions may not receive feedback as quickly as on-time submissions.

If you have significant extenuating circumstances that cause you to miss multiple deadlines, please come to office hours to discuss broader accommodations. I’m happy to be flexible, but it helps to know what you need so I can figure out the best way to help.

If you would like to improve an assignment after it has been graded and improve your grade, you may revise and resubmit the assignment until you do. This must be within two weeks of receiving feedback. If you need more than two weeks, you must schedule a meeting with me to discuss your reasons for the delay.

However, the above only applies if you made a reasonable attempt at the assignment the first time. You cannot turn in a half-finished assignment before the deadline and then “revise” it by completing the rest. If your assignment is only half-finished, you must request use late days as described above.


Your initial experience with databases in this course will be through weekly labs.

Web Systems

# Name
1 HTML and CSS
2 Jekyll Blogging
3 Jekyll Styling
4 Javascript and JQuery
5 Bootstrap Templates


# Name
6 Data Modeling
7 SQL Queries
8 ASP.NET Razor Pages
9 Entity Framework
10 Azure Remote Hosting

You will be graded not only on correctness, but also technique, documentation and evaluation of your solution. Further details on the grading standards and handin instructions for each lab will be given when they are assigned.


For the bulk of this semester, you will be participating in teams of three or four to develop a database and web application in coordination with a local non-profit organization.

# Name
1 Final Project


Three times throughout the semester, you are expected to make an office hours appointment and discuss your progress in the course. This will include conversation and feedback about your current progress and understanding. Ideally, these checkins should be scheduled during the weeks shown on the course calendar.


Attending class and being an active participant in the class community is one of the most important contributors to your learning at Hendrix. Attendance is especially important in this class since you will often engage in group learning activities. Active participation is expected in order to achieve higher grade levels in the course.

If you know that you will be absent, please email me so that we can find accomodations. If there is an emergency, please get in touch with me as soon as is possible once the emergency is resolved. I trust you to be honest with me about your reasons for the absence (I do not need details), and honest with yourself about if you truly need to be absent.

Specifications Grading

A Level Work

B Level Work

C Level Work

D Level Work


It is my ultimate goal for this course, and my teaching, to develop your academic skills, advance your learning of computer science concepts, and support the liberal arts in general. To do so will require commitments from myself and from you toward meeting this goal.

Active Participation

I will be prepared and on time for class each day, ready to use class time to help you understand the course material. I will respectfully listen to, understand, and answer questions asked in class.

You are expected to attend class and actively participate in discussions every day, answering questions, asking questions, presenting material, etc. Your participation will be respectful of your classmates, both of their opinions and of their current point in their educational journey, as we each approach the material with different backgrounds and contexts.

Constructive Feedback

I will keep office hours and be available for outside appointments, and respond to emails within one business day (not including weekends). I will provide feedback on group presentations within one day. For exams, projects, and homeworks, I will provide graded feedback within two weeks.

You are encouraged to provide constructive comments for improving this course for furthering your learning throughout the semester. There will be an opportunity for anonymous course feedback at the end of the term, in which I hope you all participate. Through your feedback I can improve this course and others for future students.

Academic Integrity

I will abide by the above syllabus and grade your work fairly.

As stated in the Hendrix Academic Integrity Policy, all students have agreed to adhere to the following principles:

  • All students have an equal right to their opinions and to receive constructive criticism.
  • Students should positively engage the course material and encourage their classmates to do the same.
  • No students should gain an unfair advantage or violate their peers' commitment to honest work and genuine effort. It follows that any work that a student submits for class will be that student's own work. The amount of cooperation undertaken with other students, the consistency and accuracy of work, and the test-taking procedure should adhere to those guidelines that the instructor provides.
  • Members of the Hendrix community value and uphold academic integrity because we recognize that scholarly pursuits are aimed at increasing the shared body of knowledge and that the full disclosure of sources is the most effective way to ensure accountability to both ourselves and our colleagues.
More details of our departmental stance on integrity can be found in the Hendrix Computer Science Academic Integrity Policy

Learning Accomodation

I will make this classroom an open and inclusive environment, accommodating many different learning styles and perspectives.

Any student seeking accommodation in relation to a recognized disability should inform me at the beginning of the course. It is the policy of Hendrix College to accommodate students with disabilities, pursuant to federal and state law. Students should contact Julie Brown in the Office of Academic Success (505.2954; to begin the accommodation process.

Physical and Mental Health

I am willing to work with you individually when life goes off the rails.

Coursework and college in general can become stressful and overwhelming, and your wellness can be impacted when you least expect it. You should participate in self-care and preventative measures, and be willing to find support when you need it.

  • The Office of Counseling Services welcomes all students to see a counselor in a private and safe environment regardless of their reasons for making an appointment. Counseling services are available to all Hendrix students at no cost.
  • Student Health Services provides free healthcare to Hendrix students. Services are provided by an Advanced Practice Registered Nurse (APRN) in collaboration with a local physician. Hendrix Student Health Services is now located in Conway Regional's Hendrix Medical Clinic at 1700 Altus in The Village at Hendrix

The Offices of Counseling Services and Student Health Services are located in the white house behind the Mills Center for Social Sciences at 1541 Washington Avenue.