CSCI-4360 / 5360 Web Technologies
Slack Channel of the Class
Join our Slack Channel
HERE
for discussions, teaching points, and peer learning.
Syllabus
You may download the official class syllabus HERE.
Basic Information
If you wish, you may download a printable version of the original syllabus. However, all of that information is also on this web page and the web page will be updated as the course proceeds, whereas the printed syllabus will not.
Instructor: Flavio Esposito
Office: ISE 234 D
Email: first DOT last AT slu DOT edu
Phone: 314-977-2434
Homepage: http://www.cs.slu.edu/~esposito
Teaching Assistant: TBD
Class Website: Canvas and http://www.cs.slu.edu/~esposito/teaching/5360
Lectures
Time and Days:
11:00 am - 12:30 pm Tuesday and Thursday
Where:
Bush Student Center 253
(Campus Map)
Date Range: Aug 21, 2024 - Dec 15, 2024
Eating in class is forbidden. Do not leave campus before Dec 15th.
Though attendance in class is not explicitly required, it is certainly expected. Class participation points are also computed based on quizzes that will be given before, during, or at the end of class. Lectures are designed to be interactive and class participation is most welcome; no remote attendance is allowed. These meetings will offer learning opportunities that cannot be recreated purely from readings.
For this class, there is no official textbook, but the instructor or the Teaching Assistant (usually a PhD student) will provide study references. For those who miss a lecture, information on the lecture topic can often be found on the course schedule web page or on Canvas.
Office Hours and Tutoring
Wed: After class or by appointment
For quick questions, please use our Slack channel or email the teaching assistant and always copy the instructor. Emails sent only to the instructor may be delayed.
Please notify the instructor at least 24 hours before if you need office hours. Do not expect to stop the instructor for questions after class, given the size of the class.
Tutoring Resources at SLU: Our department employs many junior/senior CS majors to help out in our department labs. Those students are also available to provide assistance with course materials at such times. Our department webpage maintains a current list of available times and locations. As stated in the section on Academic Integrity below, these tutors are an acceptable resource for help, yet you should still document both the source of the help as well as the extent, if significant.
Resources
This class uses online resources and handouts. No textbooks are required. However, a good textbook for our lectures on React is: Learning React: A Hands-On Guide to Building Web Applications Using React and Redux by Kirupa Chinnathambi
Course Overview and Learning Objectives
The course introduces the underlying concepts and principles of web technologies. It covers an overview of the client-side and server-side technologies of web development, as well as some of the algorithmic notions that govern the modern web, such as e-commerce, web privacy and security, and auctions for web advertising. From the practical point of view, the course provides hands-on experience with interactive web application development.
At the completion of this course, students will be able to:
navigate the protocols and standards that underlie the web;
design and implement interactive, portable, and secure web applications;
use server-side technologies to implement a web service;
develop and execute a testing plan for a web site or application;
acquire familiarity with algorithmic notions that drive the web.
Course Prerequisites and Expectations
For CSCI 5360, CSCI 5030: Principles of Software Development is a prerequisite.
For CSCI 4360, CSCI 2300: Object-Oriented Software Design is a prerequisite.
Solid programming skills in a high-level language (such as C, C++, Java, Python) are required. If the instructor provides a skeleton of code in some language as part of an assignment, you will be expected to incorporate your code in that language to implement specific functions. In this case, the code is mostly straightforward and does not need knowledge of advanced features of the language.
A rudimentary understanding of software engineering and operating systems is required.

You are expected to already have the background to read and understand code, write and debug reasonably large (1000-line) programs, and learn new syntax and apply it without much difficulty. You are also expected to learn new tools/programs and run them to test and analyze code. If you are in doubt of your background, please talk to the instructor.
Preliminary Lecture Outline
Topical Outline:
Architecture and protocols of the web: HTTP/HTTPS, QUIC, TCP, UDP, DNS and fundamentals of networking driving the Web
Client-side technologies: JavaScript, jQuery, HTML5, DOM, CSS, React
Server-side technologies: Node.js, Linux Containers, Serverless Computing
Algorithmic aspects of the web: e-commerce, A/B testing, auctions for ads
Web security: digital signature for the web, DNS security
Algorithmic aspects of the web: e-commerce, PageRank, auctions for web ads
Grading Criteria
Grading Criteria
Written, Programming Assignments, and In-class Quizzes: 40%
Exams: 60 (usually 3 exams each counting 20 or 2 exams counting 30%)
All exams will be closed books and closed notes, except for your own handwritten (single-page) 8.5”x11” cheat sheet (front and back).
Letter Grades
Student percentage above 93% will result in a grade of A or better.
Student percentage above 90% will result in a grade of A- or better.
Student percentage above 87% will result in a grade of B+ or better.
Student percentage above 83% will result in a grade of B or better.
Student percentage above 80% will result in a grade of B- or better.
Student percentage above 77% will result in a grade of C+ or better.
Student percentage above 73% will result in a grade of C or better.
Student percentage above 70% will result in a grade of C- or better.
Student percentage above 60% will result in a grade of D or better.
Student percentage below 60% will result in a grade of F.
Late submission policy
Assignments submitted late will have a score reduced of per day for the first days after the deadline. No submissions will be accepted after the second day. Upon request to the Dean of Students (http://www.slu.edu/dean-of-students-office), students shall be given up to five (5) consecutive days (not including weekends or holidays) of excused absence for bereavement.
Technology in class
Cell phones are allowed in vibration mode during class. If you have a personal emergency, feel free to step out quietly from the classroom and take the call. Cell phones are not allowed during exams. Recording audio or video (frames) during class is not allowed in this class. Learning how to take notes effectively is useful: train for that.
Acceptable Generative Artificial Intelligence (GAI) Use
Students are permitted to use GAI tools for brainstorming ideas and drafts but not for generating complete assignments. In some assignments and some online hands-on activities, you will be allowed to use GAI, in others you will not be allowed. In others yet, you will be asked to compare the answer that the GAI gave you with your answer, as a learning tool.
Student Success Center
In recognition that people learn in a variety of ways and that learning is influenced by multiple factors (e.g., prior experience, study skills, learning disability), resources to support student success are available on campus. The Student Success Center assists students with academic-related services and is located in the Busch Student Center (Suite, 331). Students can visit www.slu.edulife-at-slustudent-success-center/ to learn more about tutoring services, university writing services, disability services, and academic coaching.
Disability Accommodations
Students with a documented disability who wish to request academic accommodations must formally register their disability with the University. Once successfully registered, students also must notify their course instructor that they wish to use their approved accommodations in the course.
Please contact the Center for Accessibility and Disability Resources (CADR) to schedule an appointment to discuss accommodation requests and eligibility requirements. Most students on the St. Louis campus will contact CADR, located in the Student Success Center and available by email at accessibility_disability@slu.edu or by phone at 314.977.3484. Once approved, information about a student’s eligibility for academic accommodations will be shared with course instructors by email from CADR and within the instructor’s official course roster. Students who do not have a documented disability but who think they may have one also are encouraged to contact to CADR. Confidentiality will be observed in all inquiries.
University Writing Services
Students are encouraged to take advantage of University Writing Services in the Student Success Center; getting feedback benefits writers at all skill levels. Trained writing consultants can help with writing projects, multimedia projects, and oral presentations. University Writing Services offers one-on-one consultations that address everything from brainstorming and developing ideas to crafting strong sentences and documenting sources. For more information, visit www.slu.edulife-at-slustudent-success-center/ or call the Student Success Center at 314-977-3484.
Title IX
Saint Louis University and its faculty are committed to supporting our students and seeking an environment that is free of bias, discrimination, and harassment. If you have encountered any form of discrimination on the basis of sex, including sexual harassment, sexual assault, stalking, domestic or dating violence, we encourage you to report this to the University. Discrimination on the basis of sex includes discrimination on the basis of assigned sex at birth, sex characteristics, pregnancy and pregnancy related conditions, sexual orientation and gender identity. If you speak with a faculty member about an incident that involves a Title IX matter, that faculty member must notify SLU’s Title IX Coordinator that you shared an experience relating to Title IX. This is true even if you ask the faculty member not to disclose the incident. The Title IX Coordinator will then be available to assist you in understanding all of your options and in connecting you with all possible resources on and off campus.
If you are pregnant or experiencing a pregnancy related condition, the Title IX Coordinator can assist you in understanding your rights and options as well as provide supportive measures.
Anna Kratky is the Title IX Coordinator at Saint Louis University (DuBourg Hall, room 36; anna.kratky@slu.edu; 314-977-3886). If you wish to speak with a confidential source, you may contact the counselors at the University Counseling Center at 314-977-TALK or make an anonymous report through SLU’s Integrity Hotline by calling 1-877-525-5669 or online at www.lighthouse-services.comslu. To view SLU’s policies, and for resources, please visit the following web addresses: www.slu.eduaboutsafetysexual-assault-resources/index.php.
Basic Needs Security
Students in personal or academic distress and/or who may be specifically experiencing challenges such as securing food or difficulty navigating campus resources, and who believe this may affect their performance in the course, are encouraged to contact the Dean of Students Office (deanofstudents@slu.edu or 314-977-9378) for support. Furthermore, please notify the instructor if you are comfortable in doing so, as this will enable them to assist you with finding the resources you may need.
Academic Integrity
Academic integrity is the commitment to and demonstration of honest and moral behavior in an academic setting. Since the mission of the University is “the pursuit of truth for the greater glory of God and for the service of humanity,” acts of integrity are essential to its very reason for existence. Thus, the University regards academic integrity as a matter of serious importance. Academic integrity is the foundation of the academic assessment process, which in turn sustains the ability of the University to certify to the outside world the skills and attainments of its graduates. Adhering to the standards of academic integrity allows all members of the University to contribute to a just and equitable learning environment that cultivates moral character and self-respect. The full University-level Academic Integrity Policy can be found on the Provost's Office website at:
www.slu.eduprovostpoliciesacademic-and-courseacademic-integrity-policy.pdf.
Additionally, each SLU College, School, and Center has adopted its own academic integrity policies, available on their respective websites. All SLU students are expected to know and abide by these policies, which detail definitions of violations, processes for reporting violations, sanctions, and appeals. Please direct questions about any facet of academic integrity to your faculty, the chair of the department of your academic program, or the Dean/Director of the College, School or Center in which your program is housed.
In addition to those general statements, we wish to discuss our policy in the context of this course. When it comes to learning and understanding the general course material, you may certainly use other reference materials and you may have discussions with other students in this class or other people from outside of this class. This openness pertains to material from the text, practice problems, general syntax and use of any language or other computing tools.
However, when it comes to work that is submitted for this course, you are not to use or to search for any direct or indirect assistance from unauthorized sources, including but not limited to:
other students in this class
past students, whether from this school or other schools
other acquaintances
other texts or books
online information other than that referenced by course materials
Acceptable sources of information include consultations with the instructor, teaching assistants, or members of organized tutoring centers on campus, as well as any materials explicitly authorized for a project description. Even in these cases, if you receive significant help you should make sure to document both the source of the help as well as the extent.
On certain assignments, we may explicitly allow students to work in pairs. In this case, conversations between partners are both permissible and required. Furthermore, both students are expected to contribute significantly to the development of the submitted work. It is unethical to allow a partner to “sign on” to a submission if that partner did not significantly contribute to the work.
Any violations of these policies will be dealt with seriously. Penalties will apply as well to a student who is aiding another student. Any such violations will result in a minimum penalty of a zero on the given assignment that cannot be dropped, and severe or repeated violations will result in an immediate failing grade in the course. Furthermore, all incidents will be reported in writing to the Department and/or the Dean, as per the College procedure.
|