Design and implementation of relational databases, including:
- data modeling with
- entity-relationship (ER) diagrams
- unified modeling language (UML) diagrams
- relational schema
- structured query language (SQL) queries
- relational algebra
- user interfaces and administration
CS 290 (Web Development).
M/W 8:00-9:50am in WNGR 153 - Weniger Hall 153
Lectures will be recorded and links will be added to the module page for the respective week. These recordings are largely meant for students who want to review content and/or cannot attend a lecture due to sickness or other obligations. Though regular class attendance is not required, it is highly recommended as it tends to be correlated with success.
Please see "Where to go for help? (Comm. Policies & Methods)"
Name | Role | Office Hours |
---|---|---|
Christopher Buss [[email protected]] (he/him) | Instructor | Wednesday 10-11am: Kelley Atrium |
Alena Makarova [[email protected]] | TA | TBD |
Bakhtiyar Doskenov [[email protected]] | TA | TBD |
In this four credit course you will learn the basic skills needed to
- Design and implement a simple to moderately complex database,
- Make good decisions regarding database design, and
- Document your design and queries in standardized notations.
Upon successful completion of CS340, you will be able to:
- Describe the difference between a relational database and a flat file.
- Model a moderately complex data set by using an ER or UML diagram, and derive a
- relational schema from that diagram.
- Create a relational database from a relational schema.
- Create multiple indices in a relational database, and explain when and why such indices are appropriate.
- Formulate SQL statements for data manipulation.
- Formulate simple queries in relational algebra by using projection, selection, product, and join operations.
- Describe the components and interfaces of a Web-based database system.
- Design and implement a Web-based relational database system, using one or more Web development languages and an open-source relational database management system.
- Textbook: Relational Database Design and Implementation by Jan L Harrington, 2016 Edition is the recommended textbook for CS340-400. This book is available for free online for all the OSU students at the OSU Library.
- Required readings for the week will be detailed in the overview pages for each week.
- Other Material: Other useful links will either appear under "Additional Resources" in week-specific modules or in the general "Useful References" module as the course progresses.
Students are expected to know the following:
You should be familiar with good coding practices. Good coding style is required and not taught in this class. You should understand basic control structures. If you are unable to code a simple sorting algorithm, you will have trouble in this class as this level of coding experience is expected.
You should also have completed 290 or be a strong student currently taking the course. It is possible to take these two courses at the same time, but if you run into difficulty in 290 you can have some real trouble late in this course, so do that with some caution.
Code must be clear and you must understand what it is doing. Having well-documented code is going to be extremely important. I or the TA may not know the platform you are using, so it is your responsibility to make sure that your work is clear enough so that we can follow what is happening.
You should also have no major errors in your program. If we can manage to get the program to throw some default error message that is usually a major issue. Errors which you handle via a clear message to the user (e.g. 'Please enter only numbers in the age field') are usually fine. On the other hand, error messages like 'Error 0x00001: Null pointer to Null found, expected pointer to Int Factory Factory' are not.
When possible, you should find a style guide and conform to it.
Student conduct is governed by the university’s policies, as explained in the Student Conduct Code. Students are expected to conduct themselves in the course (e.g., on discussion boards, email postings) in compliance with the university's regulations regarding civility.
OSU has twelve established student rights. They include due process in all university disciplinary processes, an equal opportunity to learn, and grading in accordance with the course syllabus: https://asosu.oregonstate.edu/advocacy/rights.
Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval, please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.
All materials used in this course are intended to be accessible. However, resources available through external providers (i.e., YouTube, websites, etc.) may not fully comply with accessibility standards. If you require accommodations please contact Disability Access Services (DAS). Additionally, Canvas, the learning management system through which this course is offered, provides a detailed page about how the platform is accessible to students with disabilities.
The online Student Evaluation of Teaching system opens to students during the last couple weeks of the term. Students receive notification, instructions and the link through their ONID. They may also log into the system via Online Services. Course evaluation results are extremely important and used to help improve courses and the online learning experience for future students. Responses are anonymous (unless a student chooses to “sign” their comments, agreeing to relinquish anonymity) and unavailable to instructors until after grades have been posted. The results of scaled questions and signed comments go to both the instructor and their unit head/supervisor. Anonymous (unsigned) comments go to the instructor only.
All students are subject to the registration and refund deadlines as stated in the Academic Calendar: https://registrar.oregonstate.edu/osu-academic-calendar.
University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success at oregonstate.edu/ReachOut. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255).
This course features material and content developed by (and graciously shared by) Danielle Safonte, Michael Curry, Justin Wolford, Samarendra Hedaoo, Julianne Coffman, Casey Patterson, Stephen Ramsey, and many other OSU faculty and staff members. We are also grateful to COE IT (especially Steve Cleveland) for providing the MariaDB accounts and the Linux server infrastructure for this course. Thank you.