CPSC 343 Database Theory and Practice Fall 2020

CPSC 343 Course Policies

You are expected to be familiar with the course policies stated below. Ignorance of a policy is not an excuse for violating a policy or being surprised when it is applied to you, and will not exempt you from its penalties.

On this page:


Communication

All course information, materials, and announcements will be posted on the course webpage and/or Canvas. You are expected to check Canvas and the schedule page regularly.

Individual communication will take place via email. You are expected to check your HWS email account regularly.


Conduct

As with any course, you are expected to be on time prepared to engage in the day's activities for both class and lab sessions. Labs and class sessions will often involve group activities, and being late or unprepared impacts others. During class/lab, you are expected to be present and on task for the whole period - web surfing, texting, playing games, doing assignments for other courses, etc are not acceptable, nor is leaving during the session (absent an emergency). (Take care of any necessary business before or after class!)

However, meeting and interacting online brings some additional considerations. Many distractions are present on a computer; you should turn off email and other notifications and close applications that are not needed for class in order to reduce the temptation of those distractions. Please keep your video on to aid in conversation and maintaining a sense of community, and be aware of the impact of your environment on others - if there is noise or activity in your environment, please mute yourself when you aren't speaking so that the class is not interrupted. Additionally, if there are others around, you are encouraged to use headphones to avoid bothering them.

This course will use Zoom. Please make sure that you have Zoom installed and that you are familiar with using it. You should also make sure to join each session early enough to make sure that your speaker, microphone, and camera are working properly. (The ability to troubleshoot individual connections during class time is limited.) Keep speakers away from microphones to avoid feedback. During class/lab, please have the Zoom chat open.

This course and its materials are limited to officially enrolled students. Do not share the Zoom link with others or post it in a public place. In addition, Zoom classes may not be recorded or distributed by anyone other than the instructor. Materials posted on Canvas are likewise not to be distributed without instructor permission.


Technology Failures

There may well be technological glitches at some point during the semester. In general, use the Zoom chat as a backup form of communication in case of audio/video problems during Zoom sessions and email if you can't access Zoom or it is outside of class time.

If there are problems during class (audio/video issues with Zoom, Zoom disconnects, your computer crashes, the network goes down, etc), try to get reconnected as soon as possible. (For audio/video issues, try quitting and restarting Zoom, then try rebooting your computer if that doesn't work.) If the issue can't be resolved reasonably promptly, use backup communication methods to communicate your problem as soon as you are able to (though note that the ability to troubleshoot individual issues during class time is limited - test things ahead of time so that you have a working setup; email/come to office hours if you need help). For a problem not on your end (such as my computer crashing), continue to try to reconnect to Zoom and keep an eye on your email for information. If it is possible to resume during the class period, expect that to happen.

Outside of class/lab times, email if there is a system-related issue (such as the course webpage not being available or a server being down). Keep an eye on your email for information. (For a campus system, you can also monitor the IT News and Alerts page.)

Of course, if email or the network itself is down, communication will not be possible. During class/lab time, continue to try to reconnect to Zoom and monitor your email until the end of the period in case the problem is resolved. Otherwise periodically check to see if service has been restored.


Assignments and Evaluation

This course introduces many new terms and concepts, including multiple languages and sets of notation. This means that it is important to do the readings, to prepare for class and actively practice the material, and to keep up rather than letting things slide.

Daily Lessons: For most class and some lab sessions you will be expected to complete a lesson beforehand involving readings and/or videos and some questions about the material to help you self-assess what concepts you understand, learn what you don't, and identify where you have further questions.

Practice Problems: Trying to solve problems and applying concepts for yourself is essential for mastery. In most cases the Canvas discussion boards will be used for practice problems in order to facilitate peer feedback and encourage deeper engagement with the problems. You must post your answer before you can see others' responses, and problems will be graded on a 3-point scale: one point for posting an answer, one point if your answer is correct or you follow up with a correct answer and an explanation of what was wrong with the original answer, and one point for a (correct) reply to an answer different from your own, addressing whether or not it is correct and why. You are also encouraged to like correct answers and insightful comments. Practice problems will be due by the second class period after the day they are posted, but will be accepted late until the practice problem cutoff for that unit.

Project: A substantial course project involving the design and development of a database and application utilizing that database will provide a practical application for the course material. Work on the project will begin early in the semester; the timeline can be found on the schedule page.

Exams: There will be five hour exams and a two-hour final exam. These will be online; you will have a 2-3 day period where you can choose the specific time window when you will complete the exam. Dates are on the schedule page.

Grades: Grades in this course will be computed as follows:

  • Practice Problems: 10%
  • Project: 25%
  • Midterm Exams: 45% (9% each)
  • Final Exam: 10%
  • Engagement (includes daily lessons and attendance): 10%

Attendance

Any absence, whatever the reason, means that you miss out on discussions and activities that take place in class. This puts a greater burden on you to catch up, and students who regularly miss class often end up not doing as well in the course.

The expectation is that you will be on time for all class sessions and that you will be present for the full period. ("Present" means at the computer and engaging in the class, not logging into Zoom and then doing other things.)

Attendance will be taken in class and will be factored into the engagement grade: more than three unexcused absences will lower your engagement grade. There is no penalty for excused absences, but you must notify me promptly of the reason for any absence that is to be considered excused. It is also your responsibility to make sure that you sign the attendance sheet each day; repeatedly forgetting to sign in may result in the accumulation of unexcused absences.

Excused absences include absences due to sports competitions, official Colleges activities such as musical performances or debate competitions, academically-related events such as attending a conference, religious observances, illness, or personal or family emergencies. Since the course is being held remotely, an unexpected technology problem or one outside your control (such as the campus network going down) is also grounds for an excused absence. A reason must be provided in order for such an absence to be counted as an excused absence. (Note that providing a reason does not automatically make an absence excused - it must also be one of the reasons listed above.)

Missing class for other reasons - such as being too busy, oversleeping, or leaving early for a vacation - is considered to be an unexcused absence. Any absence for which no reason is provided is automatically considered to be unexcused.

While attendance is important, it is even more important that you do not go out in public if you are not feeling well or have been exposed to COVID-19 and need to quarantine. You will not be penalized for missing class for these reasons, though, because the course is being held remotely, it is expected that you will plan ahead for foreseeable contingencies such as being quarantined, not being able to access labs or other resources on campus, and having to leave campus (whether at Thanksgiving or earlier in the semester) in order to minimize such interruptions. Communicate with me about possible alternatives if you anticipate not having access to the necessary resources.


Making Up Work, Late Policy, Extensions, and Rescheduling Exams

Any handouts, examples, recordings, and other materials from class will be posted on the course website (on the schedule page) and/or on Canvas. Announcements will be posted on Canvas. If you miss class, you should review this material as soon as possible and seek help at office hours as needed.

Late handins refer to assignments being accepted for grading after the due date. Late handins for things that are accepted late will be penalized 10% unless otherwise specified. In the case of a last-minute emergency that prevents an on-time handin of already-completed work, notify me as soon as possible and make arrangements to complete the handin promptly. This is not an extension of time to complete the assignment.

Extensions allow handins after the due date without penalty, whether or not late handins are allowed for the assignment. Extensions are expected to be rare, as taking more time for one thing cuts into the time available for the next. However, in the event of an extended interruption or an excused absence or issue that affects a significant amount of the time for an assignment, contact me as soon as possible to discuss how to make up the missed work. Note that leaving early for a vacation, being busy, having a bunch of assignments due at the same time, and foreseeable computer failures are not generally considered reasons for an extension.

Daily lessons will not be accepted late, nor will extensions be granted. The value of these exercises is to be prepared for class and to determine what needs more attention in class. It is understood that (very) occasionally it may not be possible to complete a daily lesson on time - missing a few will not directly impact your grade.

Exams will not be accepted late.

Practice problems will only be accepted late up to the end of the designated "practice problem cutoff"; new material is best practiced promptly, and the value of these exercises is diminished if they are not completed prior to needing to use those skills.

No work will be accepted after the end of the Registrar-scheduled final exam time slot except in the case of an incomplete.


Disability Accommodations

If you are a student with a disability for which you may need accommodations, you should self-identify, provide appropriate documentation of your disability, and register for services with Disability Services at the Center for Teaching and Learning (CTL). Disability related accommodations and services generally will not be provided until the registration and documentation process is complete. The guidelines for documenting disabilities can be found at the following website: http://www.hws.edu/academics/ctl/disability_services.aspx

Please direct questions about this process or Disability Services at HWS to Christen Davis, Coordinator of Disability Services, at ctl@hws.edu or x 3351.


Working Together and Academic Integrity

The HWS Principle of Academic Integrity governs all of the work completed in this course. Students should read the full policy.

For this course:

  • Exams assess your mastery of the course material. Specific instructions will be provided with the assignment, but in general these will be open book/notes/Internet (you may utilize reference material but not search for solutions to specific problems) but must be completed solely by the student whose name is on the handin - the only person you may discuss the exam with is the instructor.

  • Daily lessons and practice problems are for learning and practice - a low-stakes way to learn new things and determine what needs further attention. Discussing with others and getting help from others is fine and encouraged, though with two important caveats:

    • copying solutions from someone or somewhere else is never acceptable, and
    • if all your work is with others, it is difficult for you to know what you do and don't know.

    As a result, you should always first try to complete the assignment on your own and then should always write up your answers/do the task on your own after any help or discussion. Make sure that you fully understand the end result and where it came from - a good self-test is whether you can explain both the solution and how it was arrived at to others.

  • The project falls in between practice and demonstration of mastery - it is a significant task where skills are demonstrated but is also a learning opportunity. Getting help from others and looking for technical references on the Internet is fine, but looking for solutions and passing the work of others off as your own (which is what happens if you take solutions from elsewhere) is not - what you hand in must be your work, that is your ideas and your effort. (In the case of libraries or other packages that you might want to use, ask first.)

For all assignments, copying part or all of someone else's solution is expressly prohibited and it is never acceptable to be in possession of someone else's program or solution before you have handed in your own. Decompiling or reverse-engineering someone else's code (including provided code) is also prohibited.

Violations can result in anything from a warning to point deductions or a 0 on the assignment for the first offense. A second such offense is grounds for failure in the course. Cases may also be referred to the Committee on Standards. Note that the HWS Principle of Academic Integrity states:

Academic dishonesty is determined in every case by the evidence presented and not by intent. Questions of intent and circumstances under which an infraction occurred may be considered in determining a sanction.

There are no exceptions to this policy; ignorance of the policy and desperation ("It was the night before it was due and there wasn't anyone else to ask!") are specifically not excuses for violating the policy. If you are having trouble with the course material, come to the instructor! - it is never advantageous to "borrow" someone else's solution, and the time spent trying to disguise this "borrowing" is far better spent getting help.


Plagiarism in Programs and on Problem Sets

As with papers, verbatim copying of programs and problem solutions constitutes plagiarism. Also as with papers, plagiarism is not limited to verbatim copying - copying the significant ideas and structure of someone else's program/problem solution also constitutes plagiarism.

But aren't all programs which solve the same task/solutions to the same problem pretty much the same, so won't my program/solution look like everyone else's even if I worked by myself?
It is true that programming languages are simpler and more structured than human languages like English, and so two independently-written programs solving the same problem will be more similar than two independently-written papers on the same topic. However, "more similar" doesn't mean "the same" - there is still flexibility in many aspects of the program, and each programmer will express themselves somewhat differently. It is clear when two programs were derived from the same source, and I routinely run a plagiarism-detection tool on all handins.
Problem sets are similar - there is enough room for variation in most solutions for it to be clear when solutions were derived from the same source.

Programming/problem solving techniques are often explained via examples - what's the difference between using an example and "copying the significant ideas and structure"?
Nothing - the whole point of examples is to provide the significant ideas and structure of the solution, with the idea that the details would be modified for the particular situation.

OK, then, so I can't use any examples because that constitutes plagiarism?!
No, not exactly. What is and isn't allowed is a matter of degree. Let's first define "example" and "solution":

  • An example illustrates a technical point or problem-solving strategy, applied to a different problem instance than the one you are trying to solve. An example can't be used as-is to solve your specific problem, but can be adapted to address some aspect of the problem. For example, an example demonstrating the proper syntax for a while loop is OK to use when writing a program which involves a while loop (as long as the point of the problem isn't to write exactly the while loop given in the example).
  • A solution gives a significant amount of the answer to your particular problem (or an extremely similar problem). Quantity is relevant here - you may view something as just an example (because it doesn't solve your exact problem), but if a single source covers most of what you need to do, it may well be what I consider a "solution".

Using "examples" (as defined above) is generally OK but using "solutions" is not.

There's a fuzzy middle ground here, and I'm still not sure exactly what is OK and what isn't.
Then ASK! - before you get into whatever situation you are wondering about. A few additional guidelines which may help:

  • Any materials provided as part of the course (examples in the textbook, from class, and directly posted on the webpage) are acceptable to use/adapt (unless specifically forbidden, such as on exams).
  • Any solutions written by another student (either this term or in previous terms) are not acceptable to use as "inspiration" or a guide when you are working on the same assignment. (Looking at someone else's work later, after the assignment has been handed in, is fine.)
  • Use caution with materials from other sources - think "examples, not solutions" and ask if you have any questions. In fact, ask even if you are sure something is allowed. (Specifically looking through other materials to find solutions to problems you've been assigned is not acceptable.)
  • Use common sense - the purpose of assignments is for you to practice and gain understanding of the material, and for you to demonstrate what you have mastered. If you are mostly just tweaking something written by someone else - even if you spend a lot of time renaming variables and inserting comments - then what you are turning in isn't your work.

Being Successful and Getting Help

There is a lot of new material in this course, and at any point you will likely have several active assignments: daily lessons, practice problems, the project, and possibly an exam. Don't fall behind! It is important that you budget your time so that you can fit all of these things in and get them in on time.

It is also important that you take responsibility for your own learning and do enough problems to master the material, seeking out help as needed. Do the practice problems provided and pay attention to the feedback!

The primary resources for this course are the instructor - via email, during office hours, or scheduling a meeting outside of office hours - and (when allowed) other students in the course.

For more general help, such as with writing, study skills, or time management, you are encouraged to check out the Center for Teaching and Learning (CTL).

At Hobart and William Smith Colleges, we encourage you to learn collaboratively and to seek the resources that will enable you to succeed. The Center for Teaching and Learning (CTL) is one of those resources: CTL programs and staff help you engage with your learning, accomplish the tasks before you, enhance your thinking and skills, and empower you to do your best. Resources at CTL are many: Teaching Fellows provide content support in 12 departments, Study Mentors help you manage your time and responsibilities, Writing Fellows help you think well on paper, and professional staff help you assess academic needs.

Study Mentors: The CTL resource especially valuable to students either just starting college OR adjusting to the demands of their choice of Major is the Study Mentor program. Study Mentors engage directly with each student in the process of adjusting to new academic demands: they help you find the time you need for both your academic and co-curricular activities, and can help you find strategies to accomplish the tasks in front of you and enhance your reading and study time. Study Mentors may be especially important for those of you who are involved in many activities, work on or off campus, are studying for Teaching Certification, graduate school exams, or prepping for fellowships, or who have one or more unusually demanding courses on your schedule. To meet with a Study Mentor, make an appointment via StudyHub on the CTL website.

For Fall 2020, the Teaching Fellows, Writing Fellows, and Study Mentors will be available via both Zoom and, when possible, in-person meetings. If students choose an in-person meeting, it will be held in a classroom where social distancing can be practiced. All students will be required to wear masks throughout the meeting. All appointments can be booked through StudyHub on the CTL website https://campus.hws.edu/StudyHub/Appointments/.