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 NAME | Web Applications |
SEMESTER | Fall 2024 |
NUMBER AND TYPE OF UNITS | 4 |
COURSE TIME AND LOCATION | TTh 10-11:45am in CTC 114 |
INSTRUCTOR NAME | Osvaldo Jiménez |
Table of Contents
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
ojimenez AT pacific.edu | |
Discord | https://discord.gg/6h5KFGcrTs (opens in a new tab) |
Office Hours | TTh 2pm-4pm in CTC 121 |
Other meetings | by email/discord appointment |
Prerequisites
COMP 53 Data Structures
Course Objectives
After successfully completing this course, you will be able to:
- Identify the basic components of a client-server system.
- Apply client-side programming techniques to improve the interface of web-based applications.
- Build dynamic websites using server-side programming techniques.
- 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:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
- Apply computer science theory and software development fundamentals to produce computingbased solutions.
Course Outcomes Mapped to Program and Institutional Learning Outcomes
Course Outcome | CS Program Learning Outcomes | Pacific Institutional Learning Objectives |
---|---|---|
1 | 3 | Information Literacy |
2 | 1, 2, 6 | Critical Thinking, Information Literacy |
3 | 1, 2, 6 | Critical Thinking, Information Literacy |
4 | 1, 2, 3, 6 | Critical 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
- Canvas: canvas.pacific.edu (opens in a new tab)
- Class Website: comp127.djosv.com (opens in a new tab)
- The class website will also link to additional free resources
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!
- We will be using Discord.
- 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.
- You can also email the Pacific Helpdesk for Canvas guidance at [email protected].
- 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.
- Use it to help you fix a setup issue on your computer
- To explain what a certain error means
- Use it to help you understand a particular line of code
- 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:
- Copying anything that chatgpt generates and adding that as your assignment
- Using it to write your reflections (or even paraphrasing it)
- 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:
A | A- | B+ | B | B- | C+ | C | C- | D |
---|---|---|---|---|---|---|---|---|
93 | 90 | 87 | 83 | 80 | 77 | 73 | 70 | 63 |
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 Assignments | 25% |
Assessments | 25% |
Attendance | 10% |
Reflections | 10% |
Course Project | 30% |
There will be six lab assignments, two major assessments, 1 big course project as well as a few smaller assessments.
Tentative Course Outline
Week | Class Session | Date | Hours, Topics, and Activities |
---|---|---|---|
1 | 1 | Aug 27 | Lesson: Course orientation Lab: Lab 0 Testing Environment Setup |
1 | 2 | Aug 29 | Lesson: The Internet and World Wide Web Online Guided Research: Reading online materials Lab: Project Proposal |
2 | 3 | Sep 3 | Lesson: Basic HTML Online Guided Research: Reading online materials and doing online exercises/quiz Lab: Try sample HTML code |
2 | 4 | Sep 5 | Lab: Lab 1 Create your personal homepage |
3 | 5 | Sep 10 | Lesson: CSS Online Guided Research: Reading online materials and doing online exercises/quiz Lab: Try sample CSS code |
3 | 6 | Sep 12 | Pipelines and processes |
4 | 7 | Sep 17 | Lab: Lab 2 Style your personal homepage with CSS |
4 | 8 | Sep 19 | Lesson: Web Application Design Online Guided Research: Web Design Process and Methodology |
5 | 9 | Sep 24 | Lesson: Page Layout Online Guided Research: Page Layout Design Principles |
5 | 10 | Sep 26 | Lab: Lab 3 CSS Design and Layout |
6 | 11 | Oct 1 | Prepare for Assessment |
6 | 12 | Oct 3 | Assessment: Unit 1 |
7 | 13 | Oct 8 | Project: Project Design |
7 | 14 | Oct 10 | Lesson: PHP Online Guided Research: Reading online materials and doing online exercises/quiz Lab: Try sample PHP code |
8 | 15 | Oct 15 | Lab: Lab 4 PHP |
8 | 16 | Oct 17 | Lesson: Forms Online Guided Research: Reading online materials and doing online exercises Lab: Try sample Forms code |
9 | 17 | Oct 22 | Lab: Lab 5 PHP & Forms |
9 | 18 | Oct 24 | Lesson: JavaScript Online Guided Research: Reading online materials and doing online exercises/quiz Lab: Try sample JavaScript code |
10 | 19 | Oct 29 | Lab: Lab 6 JavaScript for Interactive User Interfaces |
10 | 20 | Oct 31 | Lesson: Document Object Model Online Guided Research: Reading online materials Lab: Term Project |
11 | 21 | Nov 5 | Review for Unit 2 Assessment |
11 | 22 | Nov 7 | Assessment: Unit 2 |
12 | 23 | Nov 12 | TBD (Term Project) |
12 | 24 | Nov 14 | TBD (Term Project) |
13 | 25 | Nov 19 | Lesson: Events Online Guided Research: Reading online materials Lab: Term Project |
14 | 26 | Nov 21 | Lesson: SQL Online Guided Research: Reading online materials Lab: Term Project |
14 | 27 | Nov 26 | Lesson: AJAX, XML, and JSON Online Guided Research: Reading online materials Lab: Term Project |
13 | 28 | Nov 28 | 🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃🦃 |
15 | 29 | Dec 3 | Lesson: Accessible and Responsive Web Design Online Guided Research: Reading online materials Lab: Term Project |
15 | 30 | Dec 5 | Lab: 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:
- Indicate or cite any assistance that you received (including chatgpt logs) from anyone or the internet
- Do not share your program code with other students in the class
- Do not look at solutions for how to solve an assignment problem or subproblem
- 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
- Student meets with the SSD Director and provides documentation and completes registration forms.
- Student requests accommodation(s) each semester by completing the Request for Accommodations Form.
- 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.