SYLLABUS FOR CS340: INTRODUCTION TO DATABASES



Similar documents
Basic info Course: CS 165 Accelerated Introduction to Computer Science Credits: 8 Instructor: Tim Alcon timothy.alcon@oregonstate.

CS 496 Cloud and Mobile Software Development

College Algebra Math 1050 Fall :30-1:20 M-R BLT123

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

Subject & Course: CS362 Software Engineering II. Credits: 4. Instructor s Name: Arpit Christi. Instructor s christia@onid.oregonstate.

IINF 202 Introduction to Data and Databases (Spring 2012)

IS6030 Data Management Fall Semester 2015

Database Web Development ITP 300 (3 Units)

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS PROJECT SCHEDULING W/LAB CET 2021

Database Design Final Project

ACCOUNTING FOR NON-FINANCIAL MANAGERS Survey of Accounting SYLLABUS

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2510

CITC 1303 (formerly INFS 186) - Database Concepts 3 Credit Hours

SOCIAL MEDIA METRICS & EVALUATION

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS PROJECT SCHEDULING W/LAB ENGT 2021

ISQS 3358 BUSINESS INTELLIGENCE FALL 2014

SYLLABUS. BOOK AUTHOR ED YEAR PUBLISHER ISBN# REVIEW Managing Human Resources

CS 649 Database Management Systems. Fall 2011

CS 261 C and Assembly Language Programming. Course Syllabus

DePaul University February, Bahrain Accounting 500 Financial Accounting

THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE TECHNOLOGY AND ENVIRONMENTAL STUDIES BACHELOR OF SIENCE IN INFORMATION AND COMMUNICATION TECHNOLOGY

JEFFERSON COLLEGE COURSE SYLLABUS CIS-236 SQL AND DATABASE DESIGN. 3 Credit Hours. Prepared by: Chris DeGeare CIS Instructor. Revised: 3/11/2013

Math: Essentials+ (GN105A) 4 Credit Hours Spring 2015

Associate Professor Northern Virginia Community College

Online Course Syllabus CS320: C Programming

BADM323: Information Systems for Business Professionals SU2016 Online Course

College of Business Department of Accounting and Management Information Systems

Classroom Management & Instruction EDU 163-OL1

C S 105 (53485) Computer Programming: PHP/SQL Spring 2014

BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS BCIS 1405: BUSINESS COMPUTER APPLICATIONS ONLINE VERSION

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE CISY 233 INTRODUCTION TO PHP

2667A - Introduction to Programming

SOCIAL MEDIA MANAGEMENT

INTRODUCTION TO INFORMATION TECHNOLOGY CSIT Class Hours: 3.0 Credit Hours: 4.0 Laboratory Hours: 3.0 Revised: August 24, 2012

SYLLABUS MAC 1105 COLLEGE ALGEBRA Spring 2011 Tuesday & Thursday 12:30 p.m. 1:45 p.m.

San José State University Lucas College of Business School/Department Course, Section, Course Title Semester, Year

Student Preferences for Learning College Algebra in a Web Enhanced Environment

ITP 300: Database Web Development. Database Web Development (Monday section) Fall 2012 Course Units

INFORMATION TECHNOLOGY EDUCATION PROGRAMMING & ANALYSIS COURSE SYLLABUS. Instructor: Debbie Reid. Course Credits: Office Location:

San José State University CS160, Software Engineering, Sections 1, 2, and 4, Fall, 2015

Division of Fine Arts Department of Photography Course Syllabus

Syllabus: Web Design 1

School of Business and Nonprofit Management Course Syllabus

ACCOUNTING 205 INTRODUCTION TO FINANCIAL ACCOUNTING 8-Week Online Course Spring 2015

Course: BSE 2520 A1, Business Law Academic Year: 2015/2016 Semester/Quad: Fall 2015 Quad A Credit Hours: 2 Prerequisites:

Syllabus Geography 1010 Introduction to Geographic Data Spring 2015

HCC ONLINE COURSE REVIEW RUBRIC

ECE475 Control System Analysis ABET Syllabus. ECE 326. Prerequisite topics: knowledge of Laplace transforms and Bode plots.

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS CIW XML/DHTML/CSS/XHTML WEB 2350

3.4.9 The institution provides appropriate academic support services. (Academic support services)

Northeastern University Online College of Professional Studies Course Syllabus

ACCT 5020 Accumulation / Analysis of Accounting Data Class Syllabus Spring 2015 Eight Week Format March 23 May 15, 2015

Math 19B (Online) Calculus for Science Engineering and Mathematics University of California Santa Cruz

Department of Accounting ACC Fundamentals of Financial Accounting Syllabus

Digital Communication Southwest College

Precalculus Algebra Online Course Syllabus

02-201: Programming for Scientists

POFT 1309 Administrative Office Procedures I COURSE SYLLABUS

USF Sarasota-Manatee CIS 4368 Database Security and Auditing Summer Office Hours: By Appointment

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS SECURITY MANAGEMENT I SEAT 1500

CTS 4348 Linux Administration Spring 2014

BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS ITSE 1432 INTRODUCTION TO VISUAL BASIC.NET PROGRAMMING

Web-Based Database Applications ITP 300x (3 Units)

CSCI 4163 / CSCI Human Computer Interaction Course Syllabus

CS3332 Software Engineering I. Term III/2016

ACNT 1311 Intro to Computerized Accounting COURSE SYLLABUS

MAC 1105 FLEX SYLLABUS

Biology 156 Introductory Biology for Allied Health Professor: Darin Taverna, PhD

Austin Community College SYLLABUS

CS135 Computer Science I Spring 2015

Turtle Mountain Community College

FIVS 316 BIOTECHNOLOGY & FORENSICS Syllabus - Lecture followed by Laboratory

CS 300 Data Structures Syllabus - Fall 2014

MySQL for Beginners Ed 3

CS 2302 Data Structures Spring 2015

Multimedia 320 Syllabus

2. Describe the major characteristics, strengths, and limitations of selected assessment tools.

MAT 151 College Algebra and MAT 182 Trigonometry Course Syllabus Spring 2014

Human Resources Management in Public Service Organizations PUAD 5220 Syllabus, Spring 2015 Thursday 6:30p 9:15p

Introduction to Business Course Syllabus. Dr. Michelle Choate Office # C221 Phone: Mobile Office:

CS 1361-D10: Computer Science I

Human Development and Learning in Social and Educational Contexts (EDP 201) Spring 2012 Syllabus

ADVANCED WEB TOPICS 1 - SYLLABUS

INFS1603 BUSINESS DATABASES

INFO 2130 Introduction to Business Computing Fall 2014

ITSY1342 Section 151 (I-Net) Information Technology Security

REHB 461. Fall Introduction to Alcoholism and Drug Abuse. Mondays, 6:00-9:00 pm

Teaching Online at UD Best Practices Guide

CASPER COLLEGE COURSE SYLLABUS

CSC-570 Introduction to Database Management Systems

BIO 315 Human Genetics - Online

COMMONWEALTH OF MASSACHUSETTS BUNKER HILL COMMUNITY COLLEGE CHARLESTOWN, MASSACHUSETTS COMPUTER INFORMATION TECHNOLOGY DEPARTMENT

Transcription:

SYLLABUS FOR CS340: INTRODUCTION TO DATABASES COURSE INFORMATION CREDITS: 4 INSTRUCTOR: AMENEH SARBAZIAZAD EMAIL: SARBAZIA@ONID.ORST.EDU COURSE CATALOG DESCRIPTION: Design and implementation of relational databases, including data modeling with ER or UML diagrams, relational schema, SQL queries, relational algebra, user interfaces, and administration. PREREQS: CS 162 or ECE 152 INSTRUCTORS DESCRIPTION: In this class you will have the opportunity to 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 notation. Additionally you will have the opportunity to practice these skills by building a simple website driven by a database backend. REQUIRED TEXT: None OPTIONAL TEXT: PHP and MySQL Web Development (4th Edition) ISBN: 9780672329166 COURSE SPECIFICS COURSE STRUCTURE: The course is essentially broken into two pieces. Around 3/4 of the course is dedicated to learning the basics of database design and use. You will complete 3 medium homework assignments and discuss them with your peers. The second part of the class will involve creating a simple website with a robust database backend. There are two kinds of prepared material, they are both equally valuable. One kind are lectures which more formally go over the material. The second are Real Coding videos that demonstrate actual implementation and use of MySQL and web programming. There will also be small quizzes which will help you keep informed of your understanding of the material. If you ever get a wrong answer on a quiz that means you are not understanding critical information and it is your responsibility to get clarification from your peers.

PREREQUISITES: 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. EVALUATION: There are two different stages of evaluation. Formative evaluation will let you know if you are on the right track. Its purpose is to help you learn. This will come primarily from your peers and myself on the discussion forums, the exception is for the final project where you get several optional turn ins for ungraded feedback. The other form is summative evaluation. This is the grade you receive on completed projects. Its purpose is to measure the extent to which you understand the material. In other words, you will not be getting much feedback after assignments are submitted so it is your responsibility to get feedback early by discussing concepts using the methods of communication listed for this class. COMMUNICATIONS CANVAS: This is the main place for our class discussion. You can ask your questions regarding course materials, quizzes and assignments there. SKYPE/HANGOUT/CONNECT: These forms of video communication are essentially elevated support channels. We try to avoid using them for simple or non-specific questions as they prevent other students from benefiting from the discussion. However, if enough students are having a similar problem we will start an online video chat session for the group to come to. EMAIL: All email sent to myself or a TA should include CS340 as the first word in the subject. Additionally email should only be used for grading related or personal questions. If you are confused about a topic and need help, use Canvas. If you email us questions, we will simply ask you to post it to Canvas. The one exception is if you already posted a question in Canvas and a TA or the instructor did not respond within 24 hours, you can email us asking us to respond. ECAMPUS ELECTRONIC FORUM PARTICIPATION EXPECTATIONS This program strives to prepare students for careers in computer science, which includes preparing students to communicate professionally. Therefore, students in this class are expected to communicate in a professional manner in discussion forums, email messages and all communications for this course. Critiques, disagreements, problems, or other topics of a sensitive nature can be addressed, but should be addressed civilly and professionally. If a student's communications become unprofessional, disruptive, abusive, inflammatory, or if they otherwise obstruct the learning process of the class, the instructor may restrict the student from participating in the electronic forums associated with the class and notify Ecampus and the OSU Office of Student Conduct and Community Standards. Productive learning communities and workplaces depend on civil, professional discourse. It is our hope that this policy strengthens your learning community and prepares you for the professional workplace.

DISCUSSION GRADING Discussion is required and will be graded based on the quality of the content. Good, complete questions and in depth answers are expected. I know what questions you should be asking if you are actually working on the assignment. If you try to make up questions before actually starting the assignment, you are going to have a bad time. Depending on class size you may be broken into sub groups for discussion. FINAL EXAM The final exam covers all of the material for the class. It is proctored and needs to be scheduled in advance. If you do not contact the instructor at least 2 weeks before the exam window opens about any issues with scheduling, you will get no leniency. Emergences are handed on a case by case basis. The earlier you contact the instructor the more likely the outcome will be in your favor. GRADING SCALE GRADE AVERAGE A 93 OR GREATER A- 90-92 B+ 87-89 B 83-86 B- 80-82 C+ 77-79 C 73-76 C- 70-72 D+ 67-69 D 63-66 D- 60-62 F LESS THAN 60 WEIGHTS: QUIZZES 15% Even split between all quizzes ASSIGNMENTS 25% Even split between all assignments FINAL 30% PROJECT 25% DISCUSSION PARTICIPATION 5%

LATE POLICY You can discuss circumstances with me before an assignment is due to consider possible options if you are not going to get it done on time. Those options are more forgiving than the chart below. Late penalties (t = time past due date): 1 second t > 6 hours -5% 6 hours t > 24 hours -10% 24 hour t < 48-25% 48 t No Credit COURSE OUTCOMES General Database Differences between databases and flat file systems Recorded lectures Class discussion ASSESSMENT Appropriate uses of a database Role and place for a DBMS Database Design Relationship cardinalities Entities vs Relationships Prevention of data anomalies through design Proper use of keys ER Diagramming Schema Creation ER Schema conversion Model a moderately complex data set by using an ER diagram, and derive a relational schema from that diagram Create backend database design for simple website Final ASSESSMENT Optional critiques Final project Final Basic database normalization MySQL Indices: appropriate Basic syntax: data creation, data Create a relational database from a ASSESSMENT

use and application Joins: types and application Relational Algebra Selection Projection Joins manipulation and selection Debugging Database creation from schemas relational schema Implement a database backend for a simple website Automated queries checks Formulate simple queries in relational algebra by using projection, selection, product, and join operations Optional critiques Final project Final ASSESSMENT Relational Algebra Assignment Web Database Development Final Components of database driven website Roles of server side languages in database driven websites Security concerns Use of a server side language to: o display dynamic data on a website o store input from users o display related data from different tables Create database driven website Optional critiques Final project STUDENT OUTCOMES At the end of the course, the following objectives should be met at the proficient level ET LEARNING BASIC PROFICIENT DATABASE DESIGN I don t yet know how to model simple entities or relationships in either ER diagrams or schemas. I am able to create ER diagrams but do not know the situations that are difficult or impossible to capture. I have some difficulty converting them to schemas if they include more complex relations or unusual hierarchies. I am able to create ER diagrams which correctly capture an external schema. I know the limitations of my ER diagrams and note them. I can convert those to schemas to be used in database implementation even if they include manyto-many relationships and

DATABASE IMPLEMENTATION DATABASE COMMUNICATION WEB APPLICATIONS DEBUGGING I don t yet know how to create tables or write queries to select data. I don t know common terminology to discuss or write ideas about databases. I don t yet know how to create a website that pulls data from a database. I don t know the proper way to debug database applications. I can create tables but sometimes make incorrect decisions regarding best practices in the use of foreign keys. I don t always use indices where appropriate. I don t like to use sub-queries to compare data across tables. I am able to communicate basic ideas regarding database but may not use proper notation when documenting ideas in writing. I know how to connect to a database and run simple queries to insert and query data. I often don t know the best steps to take to debug issues. I have difficulty finding the code responsible for errors but with enough trial and error can fix errors. class hierarchies. I know what situations will be difficult to implement in practice. I can create tables that include complex foreign key relationships. I know when to use indices. I can construct correct queries that join tables and select data without needing anything more than the table definitions. I know when to calculate values rather than store them. I know how to string together many joins to select data across many tables. I am able to specifically and clearly talk about issues with databases and write definitions using diagrams, schemas and relational algebra where appropriate to communicate my ideas. I know how to correctly insert and query data to prevent security issues. I am comfortable using the results of one query to then use in a future query. I produce clean code that throws no errors, warnings or notices. I know how to isolate areas that are causing problems. I test early and often. I know when to and how to consult documentation. I know how to ask for help in public forums. ADACEMIC DISHONESTY Do not copy work without citing it: this includes lectures, other students' work and Internet sources. This is plagiarism and will result in the strictest of punishments. Exams are summative evaluations of your performance. Do not share information with others regarding exams.

You will not get in trouble for posting too much code. I may ask you nicely to remove it if you posted more than I am comfortable with (which means you can t use it for discussion points) but in almost all instances you should be able to rework your question or comment to include less code. After an assignment is due I encourage you to share code in a way that makes it easy for other students to access. This means providing links to source files or directly posting small snippets of code. Again, this is encouraged. Post your work for feedback! SCHEDULE TIME PERIOD Week 1 Watch Week 1 videos. Read this document. Quiz1 due at end of week 1 (1/11) Week 2 Watch Week 2 videos. Project proposal, Quiz2 and Quiz3 due at end of week 2 (1/18). Week 3 Watch Week 3 videos. Quiz4 due at end of week 3 (1/25) Week 4 Watch Week 4 videos. Assignment1 discussion and turn in due at end of week 4 (2/1) Week 5 Watch Week 5 videos. Quiz5 due at the end of week 5 (2/8) Week 6 Watch Week 6 videos. Assignment2 (SQL Assignment) discussion and turn in due at end of week 6 (2/15) Week 7 Watch Week 7 videos. Project queries are due if feedback is desired. Quiz6 (Relational Algebra quiz) due at end of week 7 (2/22) Week 8 Watch Week 8 videos. Project interface is due if feedback is desired. Assignment 3 turn in due at end of week 8 (3/1) Week 9 Watch Week 9 videos. Project PHP is due if feedback is desired. (3/8) Week 10 Watch Week 10 videos. Project is due. (3/15) Post-week 10 Final exam occurs Proctored Final (3/16-3/19). STUDENTS WITH DISABILITES "Accommodations are collaborative efforts between students, faculty and Disability Access Services (DAS). Students with accommodations approved through DAS are responsible for contacting the faculty member in charge of the course prior to or during the first week of the term to discuss accommodations. Students who believe they are eligible for accommodations but who have not yet obtained approval through DAS should contact DAS immediately at (541) 737-4098." Students with documented disabilities who may need accommodations, who have any emergency medical information the instructor should be aware of, or who need special arrangements in the event of evacuation, should contact the instructor as early as possible, and no later than the first week of the term. Class materials will be made available in an accessible format upon request. ABET REQUIREMENTS 1. Describe the difference between a relational database and a flat file (Level 1; ABET Outcomes: A, j).

2. Model a moderately complex data set by using an ER diagram, and derive a relational schema from that diagram (Level 3; ABET Outcomes: A, b, C). 3. Create a relational database from a relational schema (Level 4; ABET Outcomes: A, K, c). 4. Create multiple indices in a relational database, and explain when and why such indices are appropriate (Level 5; ABET Outcomes: A, b, C). 5. Formulate SQL statements for data manipulation (Level 4; ABET Outcomes: A, c). 6. Formulate simple queries in relational algebra by using projection, selection, product, and join operations (Level 3; ABET Outcomes: A, I). 7. Describe the components and interfaces of a Web-based database system (Level 1; ABET Outcomes: A, B, I). 8. Design and implement a Web-based relational database system, using one or more scripting languages (e.g., PHP) and an open-source database development system (e.g., MySQL) (Level 4; ABET Outcomes: a, B, C, I, K).