CSC 337 Web Programming Summer 2023
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
CSC 337 Web Programming
Summer 2023
Description of Course
Introduction to the techniques and technologies for developing dynamic web sites. Topics include a web server, PHP as the server-side scripting language, the MySQL database, JavaScript and AJAX for enriching web services, and page layout with HTML and CSS. Security concerns will be considered with details for prevention of such vulnerabilities in web applications. This course includes a team project to deploy a dynamic website.
Course Prerequisites
A college level programming course that teaches programming in a high-level programming language that includes data types, strings, selection, loops, methods (functions), argument/parameter association, lists (arrays), and lists of lists (2-D arrays). CSC 337 are CSC 110 or CSC 127A or CSC 227 or ISTA 130 or ECE 175. Experience has shown students do better in CSC 337 after taking two or three courses such as CSC 110 and 120 for CS majors, or ECE 175 and 275 for Engineering majors, or ISTA 130 and 131 for ISTA majors. You will be learning and using seven languages: HTML, CSS, JavaScript, PHP, REGEX, JSON, and SQL.
Instructor and Contact Information
Instructor: Shreya Nupur Shakya (she/her)
Home page:https://www.cs.arizona.edu/person/shreya-nupur-shakya
Email address: [email protected]
Office hours: Mondays and Tuesdays, 11:00 am to 12:00 pm
Teaching assistant: Honor Lee Jang (she/ her )
Email address: [email protected]
Office hours: TBD
Course Format and Teaching Methods
This course will be taught asynchronously in online modality. However, you are required to watch a week’s lecture within the scheduled week to be able to work on the assignments. The midterms and final exam will also be online but will be on scheduled dates.
Obtaining Help
● Academic advising: If you have questions about your academic progress this semester, or your chosen degree program, consider contacting your department’s academic advisor(s). Your academic advisor and the Advising Resource Centercan guide you toward university resources to help you succeed. Computer Science major students are encouraged to visit https://www.cs.arizona.edu/undergraduate/advisingfor advisor contact information.
● CS Help Desk: The Computer Science IT team can help students with department technology issues including logging into/resetting your Lectura account, printing in the 930 lab, etc. You can submit a ticket for help by visiting theComputer Science Lab Helpdesk (note, requires UA login).
● Life challenges: If you are experiencing unexpected barriers to your success in your courses, please note the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Officecan be reached at 520-621-2057 or DOS- [email protected].
● Physical and mental-health challenges : If you are facing physical or mental health challenges this semester, please note that Campus Health provides quality medical and mental health care. For medical appointments, call (520-621-9202. For After Hours care, call
(520) 570-7898. For the Counseling & Psych Services (CAPS) 24/7 hotline, call (520) 621- 3334.
● UA Ombuds : TheUA Ombuds Office (https://ombuds.arizona.edu/) helps with a wide variety of issues, concerns, questions, conflicts, and challenges. The primary mission of the Ombuds Program is to assist individuals in resolving conflict, facilitating communication, and assisting the University by surfacing issues and providing feedback on emerging or systemic concerns. Communications with the Ombuds Committee are informal and off-the-record. The Ombuds Committee is governed by the following standards: (1) Confidentiality; (2) Impartiality: (3) Informality; and (4) Independence.
Class Recordings
For lecture recordings, which are used at the discretion of the instructor, students must access content in D2L only. Students may not modify content or re-use content for any purpose other than personal educational reasons. All recordings are subject to government and university regulations. Therefore, students accessing unauthorized recordings or using them in a manner inconsistent with UArizona values and educational policies (Code of Academic Integrity and the
Student Code ofConduct) are also subject to civil action.
Course Objectives
CSC 337 presents the concepts and programming languages needed to build dynamic websites with you as a full-stack web developer. This includes the client side: the browser using HTML, CSS, forms, client-side validation with REGEX, along with JavaScript for event-driven programming with high order functions, changing the DOM tree, and making asynchronous calls using high order functions (AJAX). Topics also include experience with the server-side using PHP, file processing on the server, a Database management system (a fork of MySQL named MariaDB), JSON, and PHP data objects (PDO) as an API that allows you to create, read, update, and destroy (CRUD) databases.
Expected Learning Outcomes
• Use HTML5 and CSS to style and layout web pages
• Use the JavaScript programming language on the client side (the browser) to manipulate the Document Object Model (DOM) tree, the tree data structure that models all web pages, to present the modern way to show web pages.
• Use the PHP programming language to perform server-side programming to access data in files and databases on the server to be sent back to the browser for display.
• Use event-driven programming to allow users of your web site to do things like select options, enter data in a form, and get desired information.
• Employ client-side validation to prevent incorrect input from users using your website.
• Use AJAX to provide asynchronous calls to the server that result in smoother web page updates and a better user experience in the browser.
• Design a database to represent real world entities and a structured query language (SQL) to create, read, and update databases.
• Understand some of the vulnerabilities that Web programming allows, how they actually work, and know how to prevent some dangerous security risks that can leak sensitive data to hackers.
• Build a full stack dynamic website like what you use all the time that includes client-side processing to present the view to the user and ways to do what the user desires, server -side processing with a database, and a controller to coordinate the data exchange between the client and server
Absence and Class Participation Policy
The UA’s policy concerning Class Attendance, Participation, and Administrative Drops is available
athttps://catalog.arizona.edu/policy/class-attendance-and-participation
The UA policy regarding absences for any sincerely held religious belief, observance or practice will
be accommodated where reasonable: http://policy.arizona.edu/human-resources/religious- accommodation-policy.
Absences pre-approved by the UA Dean of Students (or dean’s designee) will be honored. See
https://deanofstudents.arizona.edu/policies/attendance-policies-and-practices
Participating in the course and attending lectures and other course events are vital to the learning process. As such, attendance is required at all lectures. Absences may affect a student’s final course grade. If you anticipate being absent, are unexpectedly absent, or are unable to participate in class online activities, please contact me as soon as possible. To request a disability -related accommodation to this attendance policy, please contact the Disability Resource Center at (520) 621-3268 or [email protected]. If you are experiencing unexpected barriers to your success in your courses, the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office is located in the Robert L. Nugent Building, room 100, or call 520-621-7057.
Illnesses and Emergencies
● If you feel sick, or may have been in contact with someone who is infectious, stay home. Except for seeking medical care, avoid contact with others and do not travel.
● Notify your instructor(s) if you will be missing up to one week of course meetings and/or assignment deadlines.
● If you must miss the equivalent of more than one week of class and have an emergency, the Dean of Students is the proper office to contact ([email protected]). The Dean of Students considers the following as qualified emergencies: the birth of a child, mental health hospitalization, domestic violence matter, house fire, hospitalization for
physical health (concussion/emergency surgery/coma/COVID-19 complications/ICU), death of immediate family, Title IX matters, etc.
● Please understand that there is no guarantee of an extension when you are absent from class and/or miss a deadline.
Statement on compliance with COVID-19 mitigation guidelines:
As we enter the semester, our health and safety remain the university’s highest priority. To protect the health of everyone in this class, students are required to follow the university guidelines on
COVID-19 mitigation. Please visitwww.covid19.arizona.edu.
Makeup Policy for Students Who Register Late
If you register after the first class meeting, you may not make up missed assignments. This means you may receive zeros for any assignment not submitted before the posted deadline.
Course Communications
Official online communications will be conducted through D2L, our course web page, Piazza, email, and Panopto recordings of the lecture on D2L. You are required to read all email from us, and read all Piazza posts. You will be using D2L to turn in Assignments.
Required Texts or Readings
There is no required textbook to buy. You will be required to read from online sources such as W3Schools.
Required or Special Materials
You must have a laptop or desktop computer to take this course. IPads and Chromebooks are not sufficient. All required software will be free to install on Mac or Windows. If you don't have a computer, contact [email protected]
Assignments and Examinations: Schedule/Due Dates
There will be two 75-minute tests during the semester (dates given below). Students with DRC accommodations will receive extra time. Both tests will be given as a D2L quiz that must be completed on the scheduled dates.
There will be at least one and at most two assignment deadlines at 11:59 pm every week that range from 10 to 80 points.
Final Examination
The final exam will be on Wednesday, August 9, 2023.
Link to the Final Exam Regulations and Final Exam Schedule: https://registrar.arizona.edu/faculty- staff-resources/room-class-scheduling/schedule-classes/final-exams
Grading Scale and Policies
University policy regarding grades and grading systems is available at
http://catalog.arizona.edu/policy/grades-and-grading-system
A >=90%
B 80.0 to 89.9
C 70.0 to 79.9
D 60.0 to 69.9
E <60.0
50% Assignments
20% Test 1 (June 28, 2023, Wednesday)
20% Test 2 (July 19, 2023, Wednesday)
05% Final Exam (August 09, 2023, Wednesday)
05% Weekly questions (To be submitted at the end every week; 1-3 sentences maximum about what you learnt, what you liked, any recommendations, any questions)
Department of Computer Science Grading Policy:
1. Assignments will be graded within 3 working days of the deadline.
2. Both tests will be taken as a 75-minute D2L Quiz. They will be graded within one week. The final exam will be a two-hour D2L Quiz and will be graded within two working days.
3. Grading delays beyond promised return-by dates will be announced as soon as possible with an explanation for the delay.
Incomplete (I) or Withdrawal (W):
Requests for incomplete (I) or withdrawal (W) must be made in accordance with University
policies, which are available athttp://catalog.arizona.edu/policy/grades-and-grading- system#incomplete and http://catalog.arizona.edu/policy/grades-and-grading- system#Withdrawal respectively.
Scheduled Topics/Activities
The following weeks are estimated for the following topics and may change according to the pace of the class. The Pdfs will be available under the “Content” section on D2L.
WEEK |
TOPIC |
PDFs |
Assignments |
1 |
Syllabus Course introduction Introduction to HTML, CSS |
-Installing Xampp (MacOS/Windows) -Programming Paradigms -HTML -CSS |
-HTML and CSS -Rancid Tomatoes (06/11/2023) |
2 |
JavaScript DOM |
-JavaScript -DOM |
JS Functions (06/18/2023) |
3 |
Event-Driven Programming |
- Event-Driven Programming |
JS Events (06/25/2023) |
4 |
HTML Forms Form validation MIDTERM 1 |
-HTML Forms -Form validation |
Purchase Receipt Validation (07/02/2023) |
5 |
Regular Expressions (REGEX) PHP |
-PHP |
PHP functions Rancid Server Start (07/09/2023) |
6 |
Server side processing with PHP AJAX JSON |
-AJAX -JSON |
Purchase Receipt Server |
|
MVC |
-MVC |
Best Reads (07/16/2023) |
7 |
Relational Databases SQL PHP Data Objects (PDO) MIDTERM 2 |
-SQL -PDO |
-Database Adapter -Actors or Movies 07/23/2023) |
8 |
Higher order functions Database Design and Joins Cookies and sessions |
-Higher Order Functions -DB Designs and Joins -Persistance Cookies and Sessions |
Quotes 1 Quotes 2 (07/30/2023) |
9 |
Web Security Vulnerabilities |
|
Quotes 3 (08/06/2023) |
10 |
Salt/hash, htmlspecialchars PDO's bound parameters FINAL EXAM |
Web Security |
--- |
Department of Computer Science Code of Conduct
The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.
Classroom Behavior Policy
To foster a positive learning environment, students and instructors have a shared responsibility. We want a safe, welcoming, and inclusive environment where all of us feel comfortable with each other and where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.).
2023-06-15