§1 Instructor Information #

I am a professional software engineer and an adjunct professor of Computer Science, dedicated to bridging the gap between academic theory and professional practice. I hold a Bachelor’s Degree in Computer Science with a specialization in cybersecurity from California State University, San Bernardino.
As an Operations Engineer & Software Developer (DevOps) at Lawrence Livermore National Laboratory, I specialize in distributed systems architecture, containerization, and Site Reliability Engineering (SRE). My goal is to share this real-world expertise, ensuring students gain practical insights alongside a strong theoretical understanding. Beyond my primary roles, I actively contribute to open-source projects and enjoy mentoring new developers.
Office Hours
Monday & Thursday 12:00 PM - 1:00 PM on Zoom
You can contact me anytime via Canvas messages or email. I respond to messages within 48 hours during the week. If you don’t receive a response within two days, please send a follow-up message.
I do not ignore messages. In previous semesters, Canvas messages sometimes failed to arrive, but email has proven reliable. Please do not hesitate to follow up if you do not receive a response.
§2 Course Description #
This is an introductory course in database programming. Topics include data modeling and database normalization. Structured Query Language (SQL) and stored programs will be used to create database objects, query their contents, and make changes.
This is a fully online, asynchronous course. Both lecture and lab components are delivered digitally, and there are no mandatory live Zoom meetings (office hours are optional).
You will need to work independently and dedicate a significant amount of time on a computer to complete coursework and lab assignments. This is a 3-credit course, consisting of 54 hours of lecture.
§3 Course Requirements #
CISP 301 with a grade of “C” or better.
§4 Student Learning Outcomes #
Upon completion of this course, students will be able to:
- construct basic and complex queries using Structured Query Language (SQL) to retrieve data from a database, incorporating single- and multi-table joins, aggregate functions, and subqueries as appropriate.
- design relational databases that conform to normalization guidelines, and implement using SQL Data Definition Language (DDL) statements.
- modify (insert, update, and delete) database content using SQL Data Manipulation Language (DML) statements.
- develop (analyze, design, implement, and test) stored programs to achieve desired results.
§5 Course Topics #
This course will cover the following topics:
- Introduction to relational databases and database management systems (DBMS)
- Relational database design and organization; primary and foreign keys; normal forms
- Basic SQL queries for selecting data from existing databases; WHERE and ORDER BY clauses
- Single- and multi-table joins; outer joins; unions
- Summarizing and grouping query results; aggregate functions; GROUP BY and HAVING clauses
- Subqueries; correlated vs. non-correlated subqueries; techniques for managing complex queries
- Modifying database content using Data Manipulation Language (DML) statements: INSERT, UPDATE, and DELETE
- Implementing databases using Data Definition Language (DDL) statements; referential integrity and check constraints
- Stored program development; procedures vs. functions; selection and iteration statements; cursors
- Review and evaluations
§6 Textbook (Optional) #
The textbook for this course is Database Systems: Design, Implementation, & Management; 13th ed.; Carlos, Morris (2018); ISBN: 9781337627900
The book is optional and not required for this course. I will not assign work from the textbook. I will however refer to sections from the book and other free online sources to provide additional information and further reading on class topics.
§7 Teaching Philosophy #
My teaching philosophy is grounded in the belief that the most effective learning occurs through practical experience. In my classes, I emphasize projects that mirror the challenges that students may encounter in a professional software development role. My goal is to equip students with the skills and knowledge to confidently transition from the classroom to the workplace.
Rather than focusing solely on theory, I design coursework that requires students to solve practical problems using the topics covered in class. Collaboration and continuous feedback are key components of my approach. I provide feedback that addresses the technical accuracy of your work and offers insights into industry best practices. My aim is to prepare you for professional roles, equipped with both technical skills and practical experience.
§8 AI #
The use of AI tools is allowed and, in some cases, encouraged in my course. I include several assignments that demonstrate useful ways to employ Large Language Models (LLMs), as they can help you rapidly complete necessary yet tedious tasks.
To succeed in this course, students must genuinely learn the material. Those who depend solely on AI will find themselves unprepared for later projects.
§9 Course Structure and Expectations #
Online Lecture: The lecture portion of this course is delivered online, with all materials available on Canvas. Although the course is asynchronous, it is not self-paced. You are expected to engage with course materials and complete assignments weekly. You will need to manage your own learning and contact me if you need assistance.
Assignments: Assignments will be published on Canvas weekly, with due dates generally one week from the publish date. More time will be provided for larger assignments.
You can typically expect to spend up to 10 hours each week on assignments to be successful in this class.
§10 Grading Information #
Points for this course are allocated as follows:
| Weight | |
|---|---|
| Midterm Exam | 15% |
| Assignments | 30% |
| Lectures | 25% |
| Final Exam | 20% |
| Discussions | 10% |
| Grading Scale | |
|---|---|
| A | 90% - 100% |
| B | 80% - 89% |
| C | 70% - 79% |
| D | 60% - 69% |
| F | 59% or less |
There will be opportunities for extra credit through additional assignments that explore topics related to the course.
§11 Late Work & Make-up Policy #
Most assignments have a “Due Date” and a later “Close Date.” I will accept all assignments submitted before the “Close Date” without penalty. However, I strongly recommend completing assignments by the “Due Date.” This course covers a lot of material, and assignments often build on each other, so falling behind can make it difficult to catch up.
For labs and assignments, if you submit your work before the “due date,” you will receive feedback and be allowed to resubmit for an improved grade up until the “close date.” I want you to learn from your mistakes, not be punished for them. This benefit does not extend to submissions after the “due date,” so please submit your work on time.
Please note that some assignments involve collaboration with other students and will have more stringent “close dates” to respect everyone’s time. The strict due date will be made clear on those assignments.
If you have an extenuating circumstance and need alternative arrangements, please contact me.
§12 Midterm & Final Exam #
A midterm examination will be administered online and will cover material studied up to that point. To accommodate potential technical issues, the exam will be available over a four-day period, with a duration of 3 hours. You can start the exam on any day within the four-day window but must complete it within the 3-hour time limit. The exam must be taken on Canvas.
The final examination will be conducted online and will be cumulative. Like the midterm, the final will be available over a four-day period with a 3-hour time limit. The exam must be taken on Canvas.
Additionally, a final project will be assigned. Failure to complete both the final project and the final exam will significantly harm your standing in the course.
§13 Course Expectations and Communication #
Class Attendance and Participation: In this online class, attendance is tracked through your participation. You must complete the Week 1 assignments and discussion during the first week of class. Students who do not will be dropped from the course in accordance with Sacramento City College’s attendance policy. All students are expected to actively participate and complete assignments, quizzes, and exams by the deadlines on Canvas.
Student Drop Policy: If you encounter challenges that hinder your ability to complete the course, please reach out to me. I am here to support you. However, if you decide to drop the class, it is your responsibility to notify the admissions and records office.
Accessing Canvas: Assignments, readings, and resources are accessible on Canvas. Regularly logging in is essential, as it is the main platform for communication. I will post all assignments under the “Modules” section, and any important updates will be posted to the “Homepage.” To create an account and learn how to use Canvas, please visit the Los Rios Canvas homepage.
Official Correspondence: All official communications from me and the Los Rios Community College District will be sent to your Los Rios Gmail account (e.g. w1234567@apps.losrios.edu) and/or your Canvas account. Please ensure both accounts are active and check them regularly. Visit the Los Rios Student single-sign-on page for more information.
§14 Academic Honesty #
You are expected to uphold the highest standards of academic integrity. This course abides by all stipulations in the college’s Student Code of Conduct.
You are encouraged to form study groups and use tutorial services, but all work submitted for grading must be your own.
Copying another student’s work and submitting it as your own is an act of academic dishonesty. It is also dishonest to give answers to another student or allow them to copy your work. Additional information can be found in the statement of Academic Rights and Responsibilities.
Should an act of academic dishonesty occur, a grade of zero will be given for the assignment, and the matter may be referred to the Business & CIS Division Dean and/or Campus Discipline Officer for further action.
§15 Accommodations/Support #
I am dedicated to ensuring this course is inclusive and accessible. If you face any barriers, please inform me so we can explore possible adjustments or accommodations. I am open to creative solutions, provided they maintain the integrity of the assessment. You are also encouraged to contact the Disability Services & Programs for Students (DSPS) office to discuss accommodations.
DSPS Information: Students with disabilities who may need academic accommodations are encouraged to discuss their authorized accommodations from DSPS with their professors early in the semester. If you do not have accommodations but believe you may need them, please contact DSPS.
- Location: Student Services Building, STS 104
- Phone: (916) 558-2087, VP (916) 374-7218
- Website: DSPS Homepage
Tutoring: Free Computer Science tutoring is available at the CIS Labs in LRC 141 and LRC 144.
Student Counseling: SCC Counseling provides academic, career, personal, and crisis counseling. SCC Counseling Homepage
Student Health Center: The Student Health & Wellness Centers offer health and wellness resources. Student Health Center Homepage
SCC Library: Library Homepage
Equipment: If you need hardware, software, or other tech help, please contact SCC IT.
- Email: scchelpline@scc.losrios.edu
- Phone: (916) 558-2222
Canvas Help: You can use the Help button on the lower-left corner of the Canvas navigation bar to contact the support team.
- Phone: (916) 568-3199 (24/7 Support)
- Canvas Student Tour
- Canvas Student Getting Started Guide
- Canvas Student Guide
Student Tech Center:
- Website: Student Tech Support Website
- Phone: (916) 558-2049
- Text: (916) 346-0435
- Email: scc-pantherhelp@scc.losrios.edu
- Location: First Floor of the Learning Resource Center (LRC)
Additional Help:
Behavior and Conduct: