a
Syllabus
COURSE NAME | Web Development |
SEMESTER | Spring 2024 |
NUMBER AND TYPE OF UNITS | 3 |
COURSE TIME AND LOCATION | Online (Meetings will be asynchronous) |
INSTRUCTOR NAME | Osvaldo Jiménez |
Course Description
This course is about the principles and techniques for designing and developing web applications. Topics include web application design, client-side web programming, and server-side web programming. Students are expected to read online resources and apply techniques to develop a website from scratch.
Contact Information
ojimenez AT pacific.edu | |
Discord | https://discord.gg/VRUKRxCJ95 |
Virtual Office Hours | MW 3pm-5pm |
Other meetings | by email/discord appointment |
Prerequisites
COMP 141 with a "C" or better and graduate or blended students in the School of Engineering and Computer Science or instructor approval.
This is a graduate course in computer science. Therefore, you are expected to have:
- good programming skills
It is also strongly recommended that you have some basic knowledge of:
- web programming
- databases and...
- git or a similar version control system.
You are also expected to have perseverance and a capacity for solving problems and seeking information independently.
Previous knowledge of JavaScript or other course topics is not required. If you do not have the strongly recommended skills, then realize that you will need to put extra time in at the beginning of the course.
How much programming experience is needed? It is hard to say, but you should be pretty fluent in your programming language. This level of fluency takes usually at least 100-200 hours of practice to develop.
Course Objectives
After successfully completing this course, students 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 modern programming techniques.
- Build a functional web-based application across a variety of technologies.
Computer Science Program Learning Outcomes
This course helps students meet the following Computer Science Program Learning Outcomes:
- Analyze a complex computing problem and 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 computing-based solutions.
Learning Resources
Other Responsibilities
You will find that the following attitude will significantly contribute to your success in this online class:
- A positive attitude toward technology
- An open mind toward online education
- Willingness to share your experiences with others
- Strong writing skills for expressing yourself in the discussion area
- 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 that give you just enough information to get unstuck
- Time management
The next reading in the course will discuss more information about the course in general and what is necessary.
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.
- if you have not used Discord before it is fairly intuitive, but here's a guide should you need it
- Canvas has 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 guidance at [email protected].
- For assistance with course materials contact your instructor or ask in the #help channel of discord
An overview of available Canvas help resources can be found here: https://community.canvaslms.com/videos/1687-canvas-help-resources-all-users
Further in-depth information can be accessed in The Canvas Student Guide which can be found here: https://community.canvaslms.com/docs/DOC-10701
Important Tips for Success as an Online Learner
-
Begin planning now for private, uninterrupted time in your schedule to go through the course materials and complete the assignments
- preferably in at least two-hour blocks and at least five times a week. It can be easy to fall behind!
- 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.
- We may use Canvas tools such as WebEx for Q&A sessions and please follow the instructions the instructor sends out through Canvas Announcement.
- Read directions carefully.
For posts to online discussions, conventions of online etiquette ("netiquette") which include courtesy to all users, will be observed. Please see Guidelines for Online Discussion for details.
Discord & Course Netiquette
You can discuss the course and related topics in our Discord. Discord will have different channels for both your learning partners as well as course-related conversations. You will be expected to be active on Discord! If you have not used Discord before, then you can review their official beginner's guide. However, I think merely using the software is the best way to learn it.
For those of you who are new to online learning and online discussion, there are some important differences between how you communicate online and in the classroom. These differences are frequently the cause of misunderstandings in courses that have an online component. The following guidelines are intended to help you understand the differences and communicate in a way that minimizes the chances of misunderstandings.
Remember you cannot see each other
The most important difference between face-to-face communication and using an online discussion is that you cannot see each other. For the most part, humans rely on visual and audio cues when talking to each other. When we speak face to face we can interpret what the other person is saying through their posture, tone of voice, and expression. All of this is missing when communicating through discussion forums. You can’t easily tell what the intent is when reading a response to a message in a discussion board. There are no visual cues. There is no tone of voice to convey emotion. There is only text. It is easy to make assumptions about a person’s intent when you are lacking the cues that you would take for granted otherwise. Below are some guidelines for communication in online courses that will help you make the most out of your online interactions.
Keep a positive tone
Everyone in your class is there to learn, just as you are. Discussions are a great way to understand different perspectives. If a conversation remains positive, then it is a lot more likely that everyone will get something useful out of it. Avoid any language that can be construed as angry, sarcastic, or even humorous.
Don’t take things personally
As mentioned above, there is no way for you to know for sure what that person writing intends. Given that the discussions are supposed to be a community-building experience, assume that the responses are meant to be helpful. If you have questions about a post, contact your instructor.
When in doubt, take a break before posting
If you do find yourself becoming emotionally involved in the discussion, take a break for a half hour. Then revisit what you were about to post with an eye to how others would interpret it. Once you post a message there is no deleting or taking it back.
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. As for me, I vow that I'll respond to you as quickly as I can, but I am not always available immediately.
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.
Attendance policies
Even though this is an asynchronous online course, attendance will be counted by how responsive you are on Discord. You will be expected to respond to any discussion via Discord in a reasonable time frame (24-48 hours). After having to contact you via other methods or bringing responsiveness in discord to your attention, any subsequent attempts to contact you will lower part of your social learning exercises grade by two percentage points. In addition to me reaching out, you will be expected to:
- Be in contact with others via our official discord server channels.
- Communicate in those discord channels with your learning groups regularly.
-
Meet with your learning groups regularly to go over the material.
- This means that you'll be expected to meet online with those groups either over Discord or via Zoom (or in person if you prefer).
Chatting privately via DMs will not count towards your expectations of regular communication. Those meetings are crucial to your learning and your peers, and so you will be expected to make them up if you cannot make it, or forfeit your ability to pass the course.
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.
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 |
The grading will come from these areas, however, the percentages are tentative and subject to change.
Individual Exercises | 45% |
Social Learning Exercises & Attendance | 20% |
Final Project | 25% |
Other Activities | 10% |
Major Assignments and Examinations
The course is composed of a few parts
- Individual Exercises
- Social Learning Exercises
- Final Project
- Other Activities
- Course Exam
Individual Exercises
Part of your grade for the course will be based on the total number of submitted exercises for the required parts (including exercises marked with an asterisk). For all of the exercises, your work will not only come from the solution but from you showing your work as you move toward your solution.
Your grade will not completely come from these exercises.
We will be having other exercises and assignments as well that will be just as important to your grade.
Assume that if there are 138 exercises (there are not 138 exercises; that count is not final), a rough calculation for this portion is as follows:
exercises | approx grade for exercises |
---|---|
138 | A? |
127 | B+? |
116 | B? |
105 | C? |
94 | C-? |
83 | D? |
72 | F? |
Why did I put it this way? Because this is a guideline, not a contract. I don't even know if there are 138 exercises to begin with! Nevertheless, I wanted to provide this approximation to you so that you have a better understanding of what the expectations look like. Also, realize that what is more important here is a continual amount of progress each week. This means that if you get stuck during a week, that is OK, but you'll need to do extra to catch up. How much you can catch up per week will also be capped, to no more than 10% of the exercises that you have left to do. If you wish to pass the course, you will need to work regularly and submit the assignments as listed in Canvas.
For the other modules, we will determine at a later date which ones will be completed, but these may be done in a different order sequence.
Additional Modules | Module name | Minimum Exercises to submit | work needed |
---|---|---|---|
6 | Redux | 24 | 1 |
7 | React router, hooks & styling | 24 | 1 |
8 | TypeScript | 24 | 1 |
With all submissions requested, please follow submission guidelines carefully.
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.
Course Exam
You must also complete the course exam. Notice though that the exam is not listed in your grade breakdown. The exam does not count towards your final grade, but you must pass it to pass the course. More info about the exam will be discussed via Canvas and Discord in the middle of the semester.
You can only take the exam after submitting a sufficient number of exercises. It is not wise in practice to take the exam immediately after submitting the critical number of exercises. The exam is the same and does not count toward your grade (you just need to pass it).
If you complete the assignments and you work through the material in earnest, you will be fine on the exam.
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 other than the individual exercises will be deducted 15% per day and will not be accepted beyond 1 week late.
Individual exercises will follow a different policy. Exercises are broken into Canvas assignments. Students must submit one part before unlocking subsequent parts. There is no late penalty to submit a part. However, there is a cap on how many individual exercises can be submitted in a given week, which is 10% more than the regular workload. This means that falling behind greatly will impact your chances of finishing all of the exercises for credit. Your focus on that point with the individual exercises should be to focus on your current understanding. All work will have a hard cutoff that will be outlined in Canvas.
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.
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 they have 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 https://www.pacific.edu/student-life/student-conduct/tiger-lore
You will be expected to conduct yourself according to professional ethics, just as if this were a real-world job.
With this course focused on exercises,
you may not ask others (including computers) for solutions or to partially solve any of the individual exercises,
This also applies to search tools, AI services and other humans, whether hired, friends or classmates.
You MAY ask others (both computers and humans)
for help understanding particular errors that appear, or in explaining high-level concepts that you feel the text does not explain well.
However, those concepts should not contain the exercise text.
You should be able to explain any of the code you write and you also need to cite anything longer than a line of code that you get from the internet.
Provide links to any code and tutorials that you find that help you program.
Make sure to cite and credit code, libraries, videos, ideas, or other resources that are not provided directly from this website.
Honor code cases will be resolved by an oral examination of the understanding of the material.
just as a professional would need to credit the source or fully understand code when receiving help from others.
Students are expected to participate as a team, with fair credit given according to effort and participation.
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.
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 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 the 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 the link to schedule an appointment: Academic Support Services Appointments.
Additional resources can also be searched for on the 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.
Week | Date | Hours, Topics, and Activities |
---|---|---|
1 | Jan 15 | 0 - General course info & Setup 1a-1c: React, Javascript, State & Handlers |
2 | Jan 22 | 1d - Debugging React 2a - Rendering collections |
3 | Jan 29 | 2b-2d - Forms and working with data on a server |
4 | Feb 5 | 2e - Adding styles to React 3a-3b Express and Deploying an app to the internet |
5 | Feb 12 | 3c-3d - Saving data to MongoDB and Validation |
6 | Feb 19 | 4a-4b - Testing the backend |
7 | Feb 26 | 4c-4d - User administration & Token Authentication |
8 | Mar 5 | 5a-5b - Frontend logins and props |
9 | Mar 12 | 🌞🌴😎🌞🌴😎🌞🌴😎🌞🌴😎🌞🌴😎 |
10 | Mar 19 | 5c-5d - Testing React and end-to-end |
11 | Mar 26 | 6, 7, 8 Redux, Custom Hooks, TypeScript |
12 | Apr 2 | Redux, Custom Hooks, TypeScript continued |
13 | Apr 9 | Final Project Activities |
14 | Apr 16 | Final Project Activities |
15 | Apr 23 | Final Project Activities |
16 | May 1 | Final Project Activities |