Colby Computer Science
CS 325 Web Programming
Syllabus
JanPlan 2022
Lectures: 9:00 - 11:30 and 1:00 - 3:00
Mondays, Tuesdays, & Thursdays, Davis 117 and 102
Instructor: Dale Skrien
Office: Davis 211
Tentative Office hours: 11:30-1:00 on
Monday, Tuesday, & Thursday; 12:00-3:00 on Wednesday via Zoom
Prerequisites: CS 231 or equivalent
Texts: M. Stepp, J. Miller, & V. Kirst, Web
Programming Step by Step, 2nd Edition.
Course website: https://moodle.colby.edu/course/view.php?id=23307
Programming Projects: daily lab projects and a final project.
Grades: The course grade will be determined
as follows:
In-class daily lab projects
|
55% |
| Final project |
40% |
Class Participation
|
5% |
The minimum grade you will receive is shown below. Grades may be
raised and pluses or minuses added at the instructors'
discretion.
| 90-100% |
A |
| 80-89% |
B |
| 70-79% |
C |
| 60-69% |
D |
| below 60% |
F |
Course Description: This course is a practical
introduction to the art and science of building dynamic
(interactive) websites. Topics include the Internet, HTML, CSS
style sheets, XML, event-driven programming, client-side
programming with JavaScript, server-side programming with PHP,
database programming with MySQL. The use of AJAX (Asynchronous
Javascript and XML) to access databases on the server will also be
discussed. This will be a course with a lab, in which students
will develop a variety of web pages and their own websites.
Course Goals:
- Understand the basic structure and function of the Internet
and the World Wide Web
- Use HTML and CSS to create visually appealing, effective web
sites
- Understand DOM and basic JavaScript for client-side processing
- Learn how to use PHP and MySQL for server-side processing
- Follow software engineering principles to construct a web
- Be ready to develop websites on your own, knowing that you can
learn whatever new languages/libraries/tools that are needed.
Software: In this course, you can use your
browser of choice. For writing web pages and code, you are welcome
to use whatever editor you wish. Some possibilities include a
general-purpose text editor with syntax highlighting such as BBEdit and a full-fledged web programming IDE such as
JetBrain's Intellij IDEA Community Edition (my
favorite, because it has editors for all the languages we'll be using), Eclipse
(with plugins), VSCode, or Netbeans. BBEdit and
Intellij IDEA are available on all lab machines. You can also freely
download copies of these programs for your own machines.
Final project: Your final
project will be to create a website for a customer that
incorporates all the ideas we discussed in class this semester. So
it will need to use web pages, forms, and a database. Your customer could be a
club or department on campus, a family member's business, a
Waterville business, a faculty member's or student's project that needs a web presence. The customer specifies what
is to be included
in the website, but you can negotiate with the client regarding
the feasibility of implementing their specifications during
January. You are not allowed to be your own customer or develop a personal web page. Ideally your
customer's website should use PHP and MySql. If not, write your
final project using PHP and MySql in addition to the version the
customer wants or write just the PHP and MySql version in January
and then later convert it for the customer. It is okay to get paid
by your customer for your work. Because of the short time period, you are strongly encouraged to
work with a classmate as a team of two on the final project.
You will present the website to the whole class on the last day.
Attendance: For this course to be truly
successful, your presence and participation are important. Asking
questions in class is an important part of learning. When you have
a question, ask it. It is highly probable that many of your
classmates have the same question. When you have an opportunity to
share your opinion or your answer, please speak up. Your professor
wants to hear what you have to say. And, of course, to participate
in class you must attend class. If you must miss a class, you are
responsible for making up the material covered in that lecture.
Late assignments: I will give you more than
enough time for each assignment. For this reason and because I
will be quickly moving on to new material, reduced or no
credit will be given for late submissions.
Active Learning: Please come see me any time you
have questions. Office hours are the best time to come by, but
feel free to come by at other times too, although just before
class is usually a bad time to reach me since I am busy with
last-minute class preparations. Please feel free to make an
appointment if you prefer. Many of the concepts we will cover
build on each other. If you find yourself stuck trying to
understand something, it will only make catching up later that
much worse. Whether you are aware of it or not, one of the
advantages of Colby over larger colleges and universities is that
we have relatively small classes, and we have faculty who are
willing to take the time to help you learn when you ask. It
frustrates us when we miss opportunities to pull students out of
confusion.
Collaboration, Academic honesty
- This policy applies to anyone you work with other than your partner.
- Computer science, both academically and professionally, is a collaborative discipline. In any collaboration,
however, all parties are expected to make their own contributions and to generously credit the contributions of
others. In our class, therefore, collaboration on homework and programming assignments is encouraged, but you as
an individual are responsible for understanding all the material in the assignment and doing your own work.
Always strive to do your best, give generous credit to others, start early, and seek help early from both your
professors and classmates.
- The following rules are intended to help you get the most out of your education and to clarify the line between
honest and dishonest work. We reserve the right to ask you to verbally explain the reasoning behind any answer
or code that you turn in and to modify your project grade based on your answers. It is vitally important that
you turn in work that is your own. We do use automated plagiarism detection software, so please be sure
to abide by these, rather minimal, rules. Reports of academic dishonesty are handled by an academic review board
and a finding of academic dishonesty may result in significant sanctions. For more details on Colby's Academic
Integrity policies and procedures, see
colby.edu/academicintegrity.
- If you have had a substantive discussion of any programming project with a classmate, then be sure to cite
them in your write-up. If you are unsure of what constitutes "substantive", then ask me or err on the side
of caution. As one rule of thumb, if you see more than 10 lines of someone else's code, then you should cite
them. You will not be penalized for working together.
- You must not copy answers or code from another student
either by hand or electronically. Another way to think about
it is that you should be talking English with one another, not
program languages.
The Colby Affirmation
- Colby College is a community dedicated to learning and committed to the growth and well-being of all its
members.
- As a community devoted to intellectual growth, we value academic integrity. We agree to take ownership of our
academic work, to submit only work that is our own, to fully acknowledge the research and ideas of others in
our work, and to abide by the instructions and regulations governing academic work established by the
faculty.
- As a community built on respect for ourselves, each other, and our physical environment, we recognize the
diversity of people who have gathered here and that genuine inclusivity requires active, honest, and
compassionate engagement with one another. We agree to respect each other, to honor community expectations,
and to comply with College policies.
- As a member of this community, I pledge to hold myself and others accountable to these values. More ...
Title IX Statement
- Colby College prohibits and will not tolerate sexual misconduct or gender-based discrimination of any kind.
Colby is legally obligated to investigate sexual misconduct (including, but not limited to, sexual assault
and sexual harassment) and other specific forms of behavior that violate federal and state laws (Title IX
and Title VII, and the Maine Human Rights Act). Such behavior also requires the College to fulfill certain
obligations under two other federal laws, the Violence Against Women Act (VAWA) and the Jeanne Clery
Disclosure of Campus Security Policy and Campus Statistics Act (Clery Act). To learn more about
what constitutes sexual misconduct or to report an incident, go to
https://life.colby.edu/ and follow the links under "YOUR SAFETY".
-
I am committed to all Colby students feeling safe, accepted, and included in all aspects of their college
experiences, including this course. Colby prohibits and will not tolerate sexual misconduct or gender based
discrimination of any kind and is obligated, by federal and state laws, to respond to reports and provide
resources to students. As your professor I am considered a "responsible employee" which requires me to
report incidence of sexual misconduct, dating violence, or harassment to the Title IX Coordinator.
- If you wish to access confidential support services, you may contact:
- The Counseling Center: 207-859-4490
- The Title IX Confidential Advocate, Emily Schusterbauer: 207-859-4093
- The Office of Religious and Spiritual Life: 207-859-4272
- Maine's 24/7 Sexual Assault Helpline: 1-800-871-7741
Religious Holidays
- Colby College supports the religious practices of students, faculty, and staff, but we don't always know
which people will observe which holidays. Since I need to plan course activities in advance, I need to know
in advance, if you need to miss a class or have a deadline adjusted in order to observe a holiday. Please
notify me by email at least 14 days in advance of any religious holiday that will affect your ability to
participate in this course.
Miscellaneous Information:
- If you come across a construct that you are unfamiliar with,
you should know how to look up documentation on it on the Web.
This course's home page lists several sources for information on
the Web. If you have trouble finding the documentation you need,
feel free to come see me, but I expect you to try to look up the
documentation yourself first.
- Of course it should go without saying that you are required to
keep a backup copy of any work you submit to me. If the material
you submit to me is somehow lost (through your fault or my
fault), I must be able to get another copy from you.
- In addition to coming by my office for help, you are welcome
to send me email with a question. I read my email very
frequently and respond to such questions as soon as I read them.
I often post a copy of the email (with the original questioner's
identity removed) and my answer if the question is one that I
think the whole class might like addressed.
- I am always happy to help you with any of your projects.
However, the earlier you come to me with questions, the happier
I'll be to help you (I usually respond to a last-minute call for
major help with the question "Why didn't you start earlier?").
- Don't gloss over errors in your submissions. That is, if you
pretend there are no errors when you know there are some there,
I will take off more points than if you point out the errors
that you were unable to fix.
- Please feel free to raise any concerns or complaints about the
course directly with me. You are also welcome to send me your
concerns anonymously. I will gladly respond to them.