Database Programming Syllabus

Course Description

This course deals with concepts and principles of database theory, server application development, and deployment strategies. It focuses on the use of server application components that reside inside the database. The course explores in depth the best practices and approaches to writing database application components that ensure ACID-compliant transactions across two or more SQL statements and/or tables. SQL will be used to query and transact against a sample database inside the procedural coding components.

Course Objectives/Outcomes

Textbook

The class will make extensive use of the assigned textbooks and Brother McLaughlin's blog. You shouldn’t limit yourself to only the books and blog because they are only places to start the learning process. Your needs and/or career objectives may require that you buy one or more of the optional textbooks. Not every book is suited to every reader, and as the reader, it is your responsibility to figure out what works best for you. If you’re struggling with a concept, the best recourse is to ask a question.
The textbooks are available for free download using the links below: 

Required

Oracle Database 12c PL/SQL Programming

Errata for Oracle Database 12c PL/SQL Programming

Optional

Linux Command Line (Free download)

Should you wish to purchase your own copy for reference, you can compare prices for your textbooks through the University Store Price Comparison site. This will show you all of the options from the University Store plus several online options to help you find the best price.

Hardware Requirements

Students must have a laptop computer with the following requirements: 6GB RAM and a 64-bit processor capable of hyper-threading.

Grading Components

Assignment Labs Reading Quizzes Presentations Exams Total
Week 1: Development Overview 10 20 30
Week 2: PL/SQL Basics 40 20 60
Week 3: Language Fundamentals 25 20 10 55
Week 4: Control Structures 25 20 10 55
Week 5: Collections 25 20 10 55
Week 6: Error Management 25 20 10 55
Week 7: Functions & Procedures 25 20 10 55
Week 8: Packages 25 20 10 55
Week 9: Large Objects 25 20 10 55
Week 10: Object Types 25 20 10 55
Week 11: Triggers 25 20 10 55
Week 12: Native Dynamic SQL (NDS) 25 20 45
Week 13: Final Project 100 100
Week 14: Course Conclusion Final Exam 100 100
Total: 300 250 90 200 830

Lab Assignments

The lab assignments develop knowledge of using PL/SQL in an Oracle environment. As stated by Elder Bednar, students should be enabled to act not be acted upon (Seek Learning by Faith). Objectives are noted on each lab assignment. The MySQL portions are individual assignments and should be performed individually.

Quizzes & Exams

All quizzes are open book. There is a comprehensive final exam, which is also open book.

The quiz/exam review questions are drawn from the primary textbook but require internalization and extension of concepts. The quizzes are true/false or multiple-choice questions. Quizzes are designed to examine whether you understand what you’ve done in the labs and how that integrates to theory and applied concept.

If you are unable to take a scheduled quiz because of a qualifying emergency, you must notify the instructor by email no later than the Wednesday of that week. A qualifying emergency includes serious illness, personal injury, death of an immediate family member, et cetera.

If you miss a scheduled exam or quiz for reasons other than a qualifying emergency, you lose the opportunity to earn those points. You are responsible for your education and should use the course to help develop skills that will help you in the job market or graduate school.

Grades

The following shows the grading matrix for the course:

Grade Percentage Range
A 93 - 100%
A- 90 - 93%
B+ 87 - 90%
B 83- 87%
B- 80 - 83%
C+ 77- 80%
C 73 - 77%
C- 70 - 73%
D+ 67 - 70%
D 63 - 67%
D- 60 - 63%
F 0 - 60%

Note: This course does not curve grades.

Participation

Each week you will participate in a core competency discussion. In other courses, many students mechanically post and reply on discussion boards. If you do that in this course, you will lose participation points. Carefully review the selected presentation and then write thoughtful, intelligent, and articulate responses that reference what you’ve learned and what you still need to learn. This is a critical part of this course. Your level of internalization of course material generally contributes to your successful job interviewing and placement. The discussion boards are a great place to demonstrate and reveal your level of internalization. It will be graded accordingly.

Class Policy

In addition to the qualification of assignments and participation, these are the course policies: