COMP 127 Syllabus

For the most up-to-date version of this document, please visit https://comp127.djosv.com/syllabus (opens in a new tab)

COURSE NAMEWeb Applications
SEMESTERFall 2024
NUMBER AND TYPE OF UNITS4
COURSE TIME AND LOCATIONTTh 10-11:45am in CTC 114
INSTRUCTOR NAMEOsvaldo Jiménez

Table of Contents

Course DescriptionContact Information
Evaluation MethodologyGrading Scale
PrerequisitesCourse Outline
Course ObjectivesGenerative AI Policy
Teaching MethodologyHonor Code
Learning ResourcesStudent Accommodations
AttendanceAcademic Support

Course Description

The World-Wide Web consists of client-server applications operating over the Internet. This course introduces the skills and techniques for designing and developing web applications. Topics include clientserver architectures, web servers and web browsers, server-side programming, client-side programming, form processing, state management and multimedia.

Major topics that will be covered in the course are:

  • Basic client-side web page design with HTML and CSS
  • Server-side web programming with PHP
  • Client-side web programming with JavaScript
  • Accessing server-side data with Ajax and SQL

Contact Information

Emailojimenez AT pacific.edu
Discordhttps://discord.gg/6h5KFGcrTs (opens in a new tab)
Office HoursTTh 2pm-4pm in CTC 121
Other meetingsby email/discord appointment

Prerequisites

COMP 53 Data Structures

Course Objectives

After successfully completing this course, you will be able to:

  1. Identify the basic components of a client-server system.
  2. Apply client-side programming techniques to improve the interface of web-based applications.
  3. Build dynamic websites using server-side programming techniques.
  4. Analyze user requirements and apply a variety of strategies and tools to build and implement a functional web-based application.

Computer Science Program Learning Outcomes

Students who complete the Bachelor of Science degree with a major in Computer Science will have acquired:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computingbased solutions.

Course Outcomes Mapped to Program and Institutional Learning Outcomes

Course OutcomeCS Program Learning OutcomesPacific Institutional Learning Objectives
13Information Literacy
21, 2, 6Critical Thinking, Information Literacy
31, 2, 6Critical Thinking, Information Literacy
41, 2, 3, 6Critical Thinking, Information Literacy, Oral & Written Communication

Teaching Methodology

This course will be setup as a flipped classroom, meaning that much of the traditional instruction will happen remotely. In class attendance is required. Canvas (opens in a new tab) will be used for distributing course notes, assignments, and announcements. Our class website (opens in a new tab) will also house many instructional materials, but you should use Canvas to follow any materials provided here. Students are responsible for checking the site regularly.

Learning Resources

Required

Attitudes & Technical Skills Required

You will find that the following attitude will significantly contribute to your success in this class:

  • A positive attitude towards technology
  • An open mind towards a flipped classroom
  • Willingness to share your experiences with others
  • Strong analytical and critical thinking skills for when you "get stuck"
  • Resourcefulness - don't be afraid to click on links and explore and ask questions
  • Time management

Online learning requires only basic technical skills:

  • Competency with file management (for example, creating a folder on your desktop, moving files from one location to another, finding a saved file)
  • Internet navigation skills
  • Download plug-ins from the Internet
  • Update your Internet browser
  • Send and receive email
  • Create and save documents (Word, PowerPoint, Excel or HTML)
  • Copy text from a word processing program and paste them into another program

Minimum Hardware and Software Requirements

You will need a code editor. We'll walk you through installing Visual Studio Code in the first lab, but you can also use WebStorm if you really like all of JetBrains products. While I will not be using them, You may also try some online editors such as JS Bin (opens in a new tab) or W3Schools Code Editor (opens in a new tab).

We may make a determination on using one particular browser in the future, but a chromium based browser like:

can be used. Firefox Developer Edition (opens in a new tab) can be used as well for now.

Technical Assistance

It's crucial to seek help when you can't access Canvas or class materials. It's up to you to ask questions!

  1. We will be using Discord.
  2. For Canvas, they have live help that will assist you with any technical issues. To access help, click the question mark at the far left side of the screen.
  3. You can also email the Pacific Helpdesk for Canvas guidance at [email protected].
  4. For assistance with course materials contact your instructor or ask in the #help channel on discord

Here is an overview of available Canvas help resources (opens in a new tab).

Further in depth information can be accessed in The Canvas Student Guide (opens in a new tab).

Behavioral Expectations

Important Tips for Success in this class

  • This class will leverage a flipped classroom, where many of the resources and lectures will happen outside of class, and we'll use class time to work on exercises and to provide formative assessment on your work.
  • Begin planning now for private, uninterrupted time in your schedule to go through course materials and complete the assignments – preferably in at least two-hours blocks and at least three times a week outside of class time.
  • Check your email account and the class discord regularly for updated information.
  • Use discord for private messages to the instructor. Discord is a great place to ask questions in the correct categories (make sure you read the rules there).
  • If you have questions or are confused about an assignment, act promptly! Check #announcements, #help or #sos to see if your concern has been addressed already. If not, post your question to this discussion.
  • Read directions carefully.

Course Expectations

Attendance

There has been a lot of change and upheaval since 2020. While the idea of remote work is something that I personally think will continue to evolve, it has yet to be able to replace in-person interactions and collaboration. Therefore, attendance in the class is mandatory. We will be using canvas's roll call attendance tool to mark absences. The only excused absences will require a doctor's note. Missing one or two classes will have a negligible effect on your grade, but missing more than three absences will begin to affect your attendance grade drastically.

Use of Generative AI Tools and Internet

The world is rapidly changing, and I'm sure that all of you are familiar with a variety of Large Language Models, things like ChatGPT. To me, ChatGPT is still very much like a sloppy intern. Using it may help, but you also need to understand what you are doing and the rule about being able to explain any line of code that you submit is still valid here.

Instead of outright banning the use of it, I'm going to outline a few places where you can use it.

  1. Use it to help you fix a setup issue on your computer
  2. To explain what a certain error means
  3. Use it to help you understand a particular line of code
  4. Use it to automate tasks in your workflow or to brainstorm how to save time with mundane tasks (if you see yourself doing something over and over again that isn't writing certain lines of code)

Now on the flip side, while you may put a lot of stuff into chatGPT, you should not be taking items from chatGPT and submitting them in your assignments. This also goes for the internet (including stackoverflow)

This includes:

  1. Copying anything that chatgpt generates and adding that as your assignment
  2. Using it to write your reflections (or even paraphrasing it)
  3. Having it do any of the other work for you that is intended in this class.

Your reflections or anything that I ask you to write will be personal. Do not worry about grammatical mistakes or sounding "good". That's not what I'm looking for. If you are in doubt, you should just paste a link to any chatgpt conversation Failure to be able to provide a link for those conversations may result in an honor code violation.

Questions

Be patient, few are online 24/7. Remember that all the people in your course have lives outside of the class they are taking. If you ask a question or need clarification, it may be a day or two before you get a response. Your instructor will have their policy on responding listed in the syllabus.

Help others. You are all in this together. If someone in the course has a problem with the system or needs help in another way, feel free. Many of you will have more experience and your assistance will be appreciated.

Pronouns

Knowing and applying the names and pronouns that students use is a crucial part of developing a productive learning environment that fosters safety, inclusion, personal dignity, and a sense of belonging across campus. Please let me know your preferred name and pronoun anytime throughout the semester.

Evaluation Methodology

Please see the grading portion for more information on the breakdown of the class. You are expected to read the relevant online materials that are posted on the website, and you will be coming into class to do work on your projects. You will be asked to submit three reports at different stages of your project.

Programming Assignments

There will be regular programming assignments

When electronic submission is requested, follow submission guidelines carefully. Since it is a web programming class, instead of submitting all files, you can simply add the web link of your work to your wiki page.

Students are responsible for reading course material and following instructions posts on Canvas. Students are also responsible for being aware of any announcements the instructor makes through Canvas.

Late Assignments and Make-up Work

The only acceptable excuses for missing an assignment due date are serious illness, death in the immediate family or important professional activities. Illness or death in the family may require documentation. Excuses for professional activities must be approved by the instructor in advance. Late assignments will be deducted 15% per day and will not be accepted beyond 1 week late.

Individual Work and Collaboration: Computer professionals usually work in a cooperative environment, yet proper assessment requires that work be done by individuals. To alleviate confusion, the following policy will be followed:

Collaborative work is encouraged. This includes students working together on problem sets, planning solution strategies, and helping each other to debug programs. Collaboration must stop short of the writing of program code or English that represents your work. You may not directly copy the work of another student. It is your responsibility to ensure that the work you submit is an honest representation of your own understanding of the material.

Marginal cases will be resolved by oral examination of the students involved. If they understand the material in the assignment, it will be considered honest collaboration. If they do not, then it will be considered academic dishonesty.

Collection of Work for Assessment

Student work may be retained to assess how course learning objectives are being met and for accreditation purposes. Copies of student work may be retained to assess how the learning objectives of the course are being met.

Grading Scale

The following minimum percentages are required to achieve the corresponding grades:

AA-B+BB-C+CC-D
939087838077737063

For many of the assignments in this course, earning full credit (100%) will be a reflection of exceptional work. This means going above and beyond what is expected. While a grade of "A" signifies excellent performance, full credit will be reserved for work that demonstrates a deeper understanding or creative endeavor/application of the material. Please note that meeting the basic criteria for an assignment may result in a high grade, but slightly less than 100%. Striving for full credit involves pushing to exceed expectations.

The grading will come from these areas:

Programming Assignments25%
Assessments25%
Attendance10%
Reflections10%
Course Project30%

There will be six lab assignments, two major assessments, 1 big course project as well as a few smaller assessments.

Tentative Course Outline

WeekClass SessionDateHours, Topics, and Activities
11Aug 27Lesson: Course orientation
Lab: Lab 0 Testing Environment Setup
12Aug 29Lesson: The Internet and World Wide Web
Online Guided Research: Reading online materials
Lab: Project Proposal
23Sep 3Lesson: Basic HTML
Online Guided Research: Reading online materials and doing online exercises/quiz
Lab: Try sample HTML code
24Sep 5Lab: Lab 1 Create your personal homepage
35Sep 10Lesson: CSS
Online Guided Research: Reading online materials and doing online exercises/quiz
Lab: Try sample CSS code
36Sep 12Pipelines and processes
47Sep 17Lab: Lab 2 Style your personal homepage with CSS
48Sep 19Lesson: Web Application Design
Online Guided Research: Web Design Process and Methodology
59Sep 24Lesson: Page Layout
Online Guided Research: Page Layout Design Principles
510Sep 26Lab: Lab 3 CSS Design and Layout
611Oct 1Prepare for Assessment
612Oct 3Assessment: Unit 1
713Oct 8Project: Project Design
714Oct 10Lesson: PHP
Online Guided Research: Reading online materials and doing online exercises/quiz
Lab: Try sample PHP code
815Oct 15Lab: Lab 4 PHP
816Oct 17Lesson: Forms
Online Guided Research: Reading online materials and doing online exercises
Lab: Try sample Forms code
917Oct 22Lab: Lab 5 PHP & Forms
918Oct 24Lesson: JavaScript
Online Guided Research: Reading online materials and doing online exercises/quiz
Lab: Try sample JavaScript code
1019Oct 29Lab: Lab 6 JavaScript for Interactive User Interfaces
1020Oct 31Lesson: Document Object Model
Online Guided Research: Reading online materials
Lab: Term Project
1121Nov 5Review for Unit 2 Assessment
1122Nov 7Assessment: Unit 2
1223Nov 12TBD (Term Project)
1224Nov 14TBD (Term Project)
1325Nov 19Lesson: Events
Online Guided Research: Reading online materials Lab: Term Project
1426Nov 21Lesson: SQL
Online Guided Research: Reading online materials Lab: Term Project
1427Nov 26Lesson: AJAX, XML, and JSON
Online Guided Research: Reading online materials Lab: Term Project
1328Nov 28🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃
1529Dec 3Lesson: Accessible and Responsive Web Design
Online Guided Research: Reading online materials Lab: Term Project
1530Dec 5Lab: Term Project Report and Evaluation

Policies

Honor Code

The Honor Code at the University of the Pacific calls upon each student to exhibit a high degree of maturity, responsibility, and personal integrity. Students are expected to:

  • act honestly in all matters
  • actively encourage academic integrity
  • discourage any form of cheating or dishonesty by others
  • inform the instructor and appropriate university administrator if she or he has a reasonable and good faith belief and substantial evidence that a violation of the Academic Honesty Policy has occurred.

Violations will be referred to and investigated by the Office of Student Conduct and Community Standards. If a student is found responsible, it will be documented as part of her or his permanent academic record. A student may receive a range of penalties, including failure of an assignment, failure of the course, suspension, or dismissal from the University. The Academic Honesty Policy is located in Tiger Lore and online at http://www.pacific.edu/Campus-Life/Safety-and-Conduct/Student-Conduct/Tiger-LoreStudent-Handbook-.html (opens in a new tab) Accommodations for Students with Disabilities: If you are a student with a disability who requires accommodations, please contact the Director of the Office of Services for Students with Disabilities (SSD) for information on how to obtain an Accommodations Request Letter.

In our case, the Honor Code includes these four rules:

  1. Indicate or cite any assistance that you received (including chatgpt logs) from anyone or the internet
  2. Do not share your program code with other students in the class
  3. Do not look at solutions for how to solve an assignment problem or subproblem
  4. You must be prepared to explain any code that you submit at any time.

The honor code is not meant to create suspicion, but to protect you and others who will eventually get a degree.

3-Step Accommodation Process

  1. Student meets with the SSD Director and provides documentation and completes registration forms.
  2. Student requests accommodation(s) each semester by completing the Request for Accommodations Form.
  3. Student arranges to meet with his/her professors to discuss the accommodation(s) and to sign the Accommodation Request Letter To ensure timeliness of services, it is preferable that you obtain the accommodation letter(s) from the Office of SSD as early as possible in each term. After the instructor receives the accommodation letter, please schedule a meeting with the instructor during office hours or some other mutually convenient time to arrange the accommodation(s). The Office of Services for Students with Disabilities is located in the McCaffrey Center, Rm. 137. Phone: 209-946-3221. Email: [email protected]. Online: http://www.pacific.edu/disabilities (opens in a new tab) NOTE: The preceding information is the minimal information required in this section of the course syllabus, instructors are free to expand on the information above and/or add any additional information below. See requirements below for Program Objectives and Course Schedule.

Academic Support Services

Students at University of the Pacific have access to many free support services to help them thrive academically. These services can benefit all students and are designed to help reinforce, extend, enrich and support students’ learning in the classroom. Both students who simply want to improve their performance and those struggling with understanding the material in a course can benefit. Come to the academic support center on the second floor of the library for one-on-one or group tutoring appointments, drop-in or by-appointment writing help, math skills lab open hours, research help from academic support librarians, or to sign up for study hall, a study pal or study group. Click on this link to schedule an appointment: Academic Support Services Appointments.

Additional resources can also be searched for from student success resources website.

Family Educational Rights and Privacy Act (FERPA)

FERPA is a federal law designed to protect the privacy of educational records by limiting access to these records, to establish the right of students to inspect and review their educational records and to provide guidelines for the correction of inaccurate and misleading data through informal and formal hearings. The University of Pacific complies with FERPA and has placed the most updated version of FERPA in our Academic Catalog. If you wish to view FERPA, or locate the Non-Release of Directory Information Form, Please click the following link to view the University's FERPA Policy. NOTE: Items that can never be identified as public information are a student’s social security number, citizenship, gender, grades, GPR or class schedule. All efforts will be made in this class to protect your privacy and to ensure confidential treatment of information associated with or generated by your participation in the class.